I read in the docs -

There is no inherent relationship between accounts and wallets. Accounts do not know about wallets, and vice versa. Correspondingly, there is no inherent relationship between nodeos and keosd. Their basic functions are fundamentally different. (Having said that, there are deployment configurations that blur the distinction. However, that topic is beyond the scope of this tutorial.)

But I understand that the eosio account is part of the eos distribution by default.

Do we need to import eosio into a wallet for normal EOSIO related work?

I saw a wallet is needed for smart contracts. How do I find out the keys for the eosio account? Do I need them?

I have been creating wallets and then creating accounts from them. For eosio it seems we have an account but no wallet. I was unsure if we need a wallet for it. Perhaps someone can clarify.

up vote 3 down vote accepted

How do I find out the keys for the eosio account?

The keys for the eosio account are in config.ini; this is what you find in the docker container by default, for example:

signature-provider = EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

Do we need to import eosio into a wallet for normal EOSIO related work?

For EOSIO related work that requires permissions, you need to prove you have the authority to execute your work. This is done by signing your transaction with the secret keys that manage the accounts for which you need permission. To avoid manually doing any of these, you can use cleos to communicate with keosd to fetch the secret keys imported in your wallets, and automatically sign your transactions for you. In other words, you don't need to import your keys in your wallet for EOSIO to work, but, if you don't, you have to somehow feed the appropriate keys to cleos yourself.

I have been creating wallets and then creating accounts from them.

I think a more intuitive way to think about this is that you created wallets for your accounts rather than creating accounts for your wallets. Also, you can have all your keys in only one wallet.

I think the page you linked is a good resource, so perhaps rereading it may clarify some things a bit. The image below shows there's no direct link between keosd and nodeos:

diagram for tools interaction

An account can have a smart contract associated with it, as well as having tokens stored in it, and staked tokens.

A wallet is just a way to access an account. It contains the public and private keys for accounts.

When you create a wallet, it automatically creates a password for accessing the wallet.

When you create an account, a public-private key pair is created, these have to be imported into a wallet in order for you to gain access permissions to the account

  • "it automatically creates a private key for accessing the wallet" perhaps worth mentioning this is just a password rather than a private key cause there's no asymmetric encryption used in this process afaik – confused00 Aug 13 at 13:06
  • Thanks, I updated my answer – Phillip Hamnett - EOS42 Aug 13 at 13:19

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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