2

I have a setup of multinode, one genesis node and another host node inita connected to the genesis node. Nodeos is running on both hosts. Genesis node is producing blocks and inita is receiving them. I created wallet, account and deployed hello smart contract on genesis node. After this, called:

cleos --url http://genesis_ip:8889 push action hello hi '["abc"]' -p abc@active

This works fine. Then I call this same command on inita node:

cleos --url http://inita_ip:8889 push action hello hi '["abc"]' -p abc@active

This gives error:

Error 3120006: No available wallet
Ensure that you have created a wallet and have it open
Error Details:
You don't have any wallet!

Whereas, accounts are accessible on inita. Should I need to create the same wallet on inita peer node also? Can't this deployed contract will get access on other peer nodes who are receiving the blocks? I was assuming that once the wallets are created on genesis node, no need of the same procedures on peer nodes. Please guide.

2

You are correct in that you need to create a wallet on inita node as well as on the genesis node. Actions can only be pushed to the blockchain from a location where the private key is accessible. The most common way to do this is to store the private key in a wallet and then unlock that wallet before pushing the action to the chain. You set up a wallet and imported to private key on the genesis server, and therefore you can push actions on that server, however if you want to push actions from a different server then you need to create a wallet there and import the private key again on that server as well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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