13

First, my setup: I use the Azure Ethereum Consortium Template, which creates one transaction node and two mining nodes in my configuration. I use MetaMask Chrome plugin to accept transactions, which I initiate via Solidity Browser.

Question:

MetaMask is no full blockchain client, but connects to one (e.g. to a geth client), right? What are the "accounts" in MetaMask UI (and their addresses)? This is not Externally Owned Accounts (EOA) then, right? What is it?

For example, I created two accounts in my MetaMask Chrome Plugin. I use their addresses to send Ether from one to the other (via their addresses). However, I cannot see these accounts if I connect to the geth client and do "personal.listAccounts". Here, I only see one single account address (I assume this is the pre-allocated Ethereum account on this Azure Transaction Node / geth client). However, if it is just one EOA Ethereum Account, why is the Ether then moving between these different accounts via MetaMask?

Can someone please explain the relation of MetaMask accounts and Ethereum (EOA) accounts?

Thank you.

1 Answer 1

14

MetaMask accounts are EOA accounts. They are not seen in Geth because the keys have not been imported from MetaMask.

Basically, MetaMask creates a hierarchical deterministic wallet from the seed (words). An HD wallet has many keys and each of these are EOA. (The MetaMask UI only shows some of them, but more keys can be continuously derived.)

In Geth, you don't see the MetaMask accounts because you would have to import the private keys from MetaMask to Geth.

3
  • That's all perfectly correct, I really like the link to the hd-wallets tag, beautiful.
    – DanF
    Commented Dec 22, 2016 at 2:18
  • 1
    Additionally, you can export your MetaMask accounts by clicking the "key" on its detail view (although this UI may be different in the near future). It currently exports a hex-encoded string of your private key, but will export more friendly formats in the future. You can import this private key file into geth using the command geth account import delete-me.prv.
    – DanF
    Commented Dec 22, 2016 at 2:20
  • Thanks. Good, short explanation. I need to learn more about blockchain details to really understand the details of derministic wallets in a next step... Here is a good read: en.bitcoin.it/wiki/Deterministic_wallet (might be a better beginning than reading other hd-wallets questions). Commented Dec 22, 2016 at 10:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.