Using same wallet.json file into different VM instances causes problems

So I spun up my first VM instance and it’s online and mining now.
Now when I tried to spun up another VM instance, and copied the wallet.json file through scp, it’s unable to find any neighboring nodes. It starts syncing and goes back offline due to errors.

2019/07/08 16:07:00.309327 [ERROR] GID 1, chain.initialization error: resource temporarily unavailable

And sometimes followings

2019/07/08 15:51:53.151472 [INFO ] GID 105, Received stop message from remote node <x.x.x.x:30001>
2019/07/08 15:51:53.151754 [INFO ] GID 105, Remote node <x.x.x.x:30001> stops
2019/07/08 15:51:57.179717 [ERROR] GID 286, Update successors error: neighbor list is empty
2019/07/08 15:51:59.364559 [ERROR] GID 286, Update successors error: neighbor list is empty
2019/07/08 15:52:00.068567 [ERROR] GID 287, Update predecessor error: neighbor list is empty
2019/07/08 15:52:01.348460 [ERROR] GID 286, Update successors error: neighbor list is empty
2019/07/08 15:52:01.915115 [WARN ] GID 258, Handle proposal error: Wait for proposal timeout
2019/07/08 15:52:02.332110 [WARN ] GID 288, Local node has no inbound neighbor, it's possible that local node is unreachable from outside, e.g. behind firewall or NAT.

So, I after that I tried following

  1. Stop the nkn.service
  2. Remove wallet.json
  3. Create new wallet using following command
    ./nknc wallet -c
  4. Start the nkn.service again

After this process, the node was finally up and syncing properly.
May be I’m missing something here, can someone please guide me about this? :slight_smile:

1 Like
  • In Mainnet, each node MUST have a unique wallet and cannot share the same wallet with other nodes, otherwise the node will not be able to join. It is recommended to use BeneficiaryAddr (in config.json) for both better security and convenience (if you run multiple nodes).
1 Like

I thought so… But there are many guides where it says we can use same wallet file. I guess those are for testnets and not applicable for mainnet. Hoping to get some proper guides for mainnet soon. Thank you for your response. :slight_smile:

1 Like

The guides seem to refer to using the same wallet address for multiple nodes but each node needs it own wallet.json file even if the beneficiary address is changed from the default of null.

From what I read the wallet file used to be a wallet.dat file on testnet. That may be why it worked on testnet not mainnet.

Just my 2 cents :wink:

1 Like