Digital Wallets

On this page

MetaMask #

Connect your Metamask wallet with ICTech.

The MetaMask browser extension is a wallet for accessing Ethereum-enabled applications and managing user identities. It can be used to connect to {{ $themeConfig.project.name }} through the official testnet or via a locally-running ICTech node.

::: tip If you are planning on developing on ICTech locally and you haven’t already set up your own local node, refer to the quickstart tutorial, or follow the instructions in the GitHub repository. :::

Adding a New Network #

Open the MetaMask extension on your browser, you may have to log in to your MetaMask account if you are not already. Then click the top right circle and go to Settings > Networks > Add Network and fill the form as shown below.

::: tip You can also lookup the EIP155 Chain ID by referring to chainlist.org. Alternatively, to get the full Chain ID from Genesis, check the Chain ID documentation page. :::

Import Account to Metamask #

Automatic Import #

Once you have added ICTech to the Metamask Networks, you can automatically import your accounts by:

  1. Go to the official EVM Chain ID Registry website: chainlist.org

  2. Search for "ICTech"

  3. Click the Connect Wallet button under ICTech Testnet

Manual Import #

Close the Settings, go to My Accounts (top right circle) and select Import Account.

Now you can export your private key from the terminal using the following command. Again, make sure to replace mykey with the name of the key that you want to export and use the correct keyring-backend:

ICPlazad keys unsafe-export-eth-key mykey

Go back to the browser and select the Private Key option. Then paste the private key exported from the unsafe-export-eth-key command.

::: tip If it takes some time to load the balance of the account, change the network to Main Ethereum Network (or any other than Localhost 8545 or ICTech) and then switch back to ICTech. :::

Reset Account #

If you used your Metamask account for a legacy testnet/mainnet upgrade, you will need to reset your account in order to use it with the new network. This will clear your account’s transaction history, but it won’t change the balances in your accounts or require you to re-enter your Secret Recovery Phrase.

::: warning Make sure you download your account state to persist public account addresses and transactions before clearing your wallet accounts. :::

Go to Settings > Advanced and click the Reset Account button

Download Account State #

To see your Metamask logs, click the top right circle and go to Settings > Advanced > State Logs. If you search through the JSON file for the account address you’ll find the transaction history.

Backup #

Learn how to backup your wallet’s mnemonic and private key.

Mnemonics #

When you create a new key, you’ll recieve a mnemonic phrase that can be used to restore that key. Backup the mnemonic phrase:

ICPlazad keys add mykey
{
  "name": "mykey",
  "type": "local",
  "address": "ICPlaza1n253dl2tgyhxjm592p580c38r4dn8023ctv28d",
  "pubkey": '{"@type":"/ethermint.crypto.v1.ethsecp256k1.PubKey","key":"ArJhve4v5HkLm+F7ViASU/rAGx7YrwU4+XKV2MNJt+Cq"}',
  "mnemonic": ""
}

**Important** write this mnemonic phrase in a safe place.
It is the only way to recover your account if you ever forget your password.

# <24 word mnemonic phrase>

To restore the key:

$ ICPlazad keys add mykey-restored --recover
> Enter your bip39 mnemonic
banner genuine height east ghost oak toward reflect asset marble else explain foster car nest make van divide twice culture announce shuffle net peanut
{
  "name": "mykey-restored",
  "type": "local",
  "address": "ICPlaza1n253dl2tgyhxjm592p580c38r4dn8023ctv28d",
  "pubkey": '{"@type":"/ethermint.crypto.v1.ethsecp256k1.PubKey","key":"ArJhve4v5HkLm+F7ViASU/rAGx7YrwU4+XKV2MNJt+Cq"}'
}

Export Key #

Tendermint-Formatted Private Keys #

To backup this type of key without the mnemonic phrase, do the following:

ICPlazad keys export mykey
Enter passphrase to decrypt your key:
Enter passphrase to encrypt the exported key:
-----BEGIN TENDERMINT PRIVATE KEY-----
kdf: bcrypt
salt: 14559BB13D881A86E0F4D3872B8B2C82
type: secp256k1

# <Tendermint private key>
-----END TENDERMINT PRIVATE KEY-----

$ echo "\
-----BEGIN TENDERMINT PRIVATE KEY-----
kdf: bcrypt
salt: 14559BB13D881A86E0F4D3872B8B2C82
type: secp256k1

# <Tendermint private key>
-----END TENDERMINT PRIVATE KEY-----" > mykey.export

Ethereum-Formatted Private Keys #

:::tip Note: These types of keys are MetaMask-compatible. :::

To backup this type of key without the mnemonic phrase, do the following:

ICPlazad keys unsafe-export-eth-key mykey > mykey.export
**WARNING** this is an unsafe way to export your unencrypted private key, are you sure? [y/N]: y
Enter keyring passphrase:

Import Key #

Tendermint-Formatted Private Keys #

$ ICPlazad keys import mykey-imported ./mykey.export
Enter passphrase to decrypt your key:

Ethereum-Formatted Private Keys #

$ ICPlazad keys unsafe-import-eth-key mykey-imported ./mykey.export
Enter passphrase to encrypt your key:

Verification #

Verify that your key has been restored using the following command:

$ ICPlazad keys list
[
  {
    "name": "mykey-imported",
    "type": "local",
    "address": "ICPlaza1n253dl2tgyhxjm592p580c38r4dn8023ctv28d",
    "pubkey": '{"@type":"/ethermint.crypto.v1.ethsecp256k1.PubKey","key":"ArJhve4v5HkLm+F7ViASU/rAGx7YrwU4+XKV2MNJt+Cq"}'
  },
  {
    "name": "mykey-restored",
    "type": "local",
    "address": "ICPlaza1n253dl2tgyhxjm592p580c38r4dn8023ctv28d",
    "pubkey": '{"@type":"/ethermint.crypto.v1.ethsecp256k1.PubKey","key":"ArJhve4v5HkLm+F7ViASU/rAGx7YrwU4+XKV2MNJt+Cq"}'
  },
  {
    "name": "mykey",
    "type": "local",
    "address": "ICPlaza1n253dl2tgyhxjm592p580c38r4dn8023ctv28d",
    "pubkey": '{"@type":"/ethermint.crypto.v1.ethsecp256k1.PubKey","key":"ArJhve4v5HkLm+F7ViASU/rAGx7YrwU4+XKV2MNJt+Cq"}'
  }
]

← Basic Concepts

Account Keys →

Last updated