near / nearcore

Reference client for NEAR Protocol

Home Page:https://near.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduce --boot-nodes argument to `neard init`

frol opened this issue · comments

As per an offline discussion with @khorolets @bowenwang1996 @chefsale, the extension to neard init has been suggested to address the empty boot_nodes upon the default config generation (currently, when you run a node with neard init + neard run you will get "waiting for peers" message due to the fact that the default config generated by neard init does not have any boot nodes in it).

If we add --boot-nodes CLI argument we can enable nearcore users to select the list of trusted nodes and initialize their config with a single neard init command.

The relevant point where we want to alter the config during initialization is:

https://github.com/nearprotocol/nearcore/blob/82501aecfc4493218987872de5c71cc99a777e5a/neard/src/config.rs#L734-L736

(NOTE, this is the link to the testnet/betanet initialization while there are two more branches there, which also need to populate boot nodes)

This issue is also part of near/nearup#81 initiative. Currently, neard init produces a config that is not immediately useful, and we rely on nearup to download the config from https://s3-us-west-1.amazonaws.com/build.nearprotocol.com/nearcore-deploy/testnet/config.json

Consider also fixing #1655 when you are implementing this.

I have implemented a --download-config flag which use the boot nodes specified on the S3 config.json files in: #4427. Now last step is also to add this flag to override the current configs.

Created a PR which adds boot nodes to the init command: #4453