-
Notifications
You must be signed in to change notification settings - Fork 636
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(cli): Added ability to specify --boot-nodes
option to the init command
#4453
Conversation
I have tested three scenarios: 1) default config which generates the random chain id 2) betanet config which is generated 3) betanet config which is downloaded and should have tracked shards = [0] and boot_nodes set. Tested for the test chain command: ``` sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (download-config)> ./target/debug/neard init Jun 29 13:12:05.580 INFO neard: Version: 1.2.0, Build: 7e0fe60-modified, Latest Protocol: 45 Jun 29 13:12:05.593 INFO near: Generated node key, validator key, genesis file in /home/sandi/.near sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (download-config)> cat /home/sandi/.near/config.json { "genesis_file": "genesis.json", "genesis_records_file": null, "validator_key_file": "validator_key.json", "node_key_file": "node_key.json", "rpc": { "addr": "0.0.0.0:3030", "cors_allowed_origins": [ "*" ], "polling_config": { "polling_interval": { "secs": 0, "nanos": 500000000 }, "polling_timeout": { "secs": 10, "nanos": 0 } }, "limits_config": { "json_payload_max_size": 10485760 } }, "telemetry": { "endpoints": [] }, "network": { "addr": "0.0.0.0:24567", "external_address": "", "boot_nodes": "", "max_num_peers": 40, "minimum_outbound_peers": 5, "ideal_connections_lo": 30, "ideal_connections_hi": 35, "peer_recent_time_window": { "secs": 600, "nanos": 0 }, "safe_set_size": 20, "archival_peer_connections_lower_bound": 10, "handshake_timeout": { "secs": 20, "nanos": 0 }, "reconnect_delay": { "secs": 60, "nanos": 0 }, "skip_sync_wait": true, "ban_window": { "secs": 10800, "nanos": 0 }, "blacklist": [], "ttl_account_id_router": { "secs": 3600, "nanos": 0 }, "peer_stats_period": { "secs": 5, "nanos": 0 } }, "consensus": { "min_num_peers": 3, "block_production_tracking_delay": { "secs": 0, "nanos": 100000000 }, "min_block_production_delay": { "secs": 0, "nanos": 600000000 }, "max_block_production_delay": { "secs": 2, "nanos": 0 }, "max_block_wait_delay": { "secs": 6, "nanos": 0 }, "reduce_wait_for_missing_block": { "secs": 0, "nanos": 100000000 }, "produce_empty_blocks": true, "block_fetch_horizon": 50, "state_fetch_horizon": 5, "block_header_fetch_horizon": 50, "catchup_step_period": { "secs": 0, "nanos": 100000000 }, "chunk_request_retry_period": { "secs": 0, "nanos": 400000000 }, "header_sync_initial_timeout": { "secs": 10, "nanos": 0 }, "header_sync_progress_timeout": { "secs": 2, "nanos": 0 }, "header_sync_stall_ban_timeout": { "secs": 120, "nanos": 0 }, "state_sync_timeout": { "secs": 60, "nanos": 0 }, "header_sync_expected_height_per_second": 10, "sync_check_period": { "secs": 10, "nanos": 0 }, "sync_step_period": { "secs": 0, "nanos": 10000000 }, "doomslug_step_period": { "secs": 0, "nanos": 100000000 } }, "tracked_accounts": [], "tracked_shards": [], "archive": false, "log_summary_style": "colored", "gc_blocks_limit": 2, "view_client_threads": 4, "epoch_sync_enabled": true, "view_client_throttle_period": { "secs": 30, "nanos": 0 }, "trie_viewer_state_size_limit": 50000 }⏎ sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (download-config)> sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (download-config)> cat /home/sandi/.near/genesis.json { "protocol_version": 45, "genesis_time": "2021-06-29T11:12:05.592321543Z", "chain_id": "test-chain-t2VXm", "genesis_height": 0, "num_block_producer_seats": 50, "num_block_producer_seats_per_shard": [ 50 ], "avg_hidden_validator_seats_per_shard": [ 0 ], "dynamic_resharding": false, "protocol_upgrade_stake_threshold": [ 4, 5 ], "protocol_upgrade_num_epochs": 2, "epoch_length": 500, "gas_limit": 1000000000000000, "min_gas_price": "1000000000", "max_gas_price": "10000000000000000000000", "block_producer_kickout_threshold": 90, "chunk_producer_kickout_threshold": 90, "online_min_threshold": [ 9, 10 ], "online_max_threshold": [ 99, 100 ], "gas_price_adjustment_rate": [ 1, 100 ], "runtime_config": { "storage_amount_per_byte": "90900000000000000000", "transaction_costs": { "action_receipt_creation_config": { "send_sir": 108059500000, "send_not_sir": 108059500000, "execution": 108059500000 }, "data_receipt_creation_config": { "base_cost": { "send_sir": 4697339419375, "send_not_sir": 4697339419375, "execution": 4697339419375 }, "cost_per_byte": { "send_sir": 59357464, "send_not_sir": 59357464, "execution": 59357464 } }, "action_creation_config": { "create_account_cost": { "send_sir": 99607375000, "send_not_sir": 99607375000, "execution": 99607375000 }, "deploy_contract_cost": { "send_sir": 184765750000, "send_not_sir": 184765750000, "execution": 184765750000 }, "deploy_contract_cost_per_byte": { "send_sir": 6812999, "send_not_sir": 6812999, "execution": 6812999 }, "function_call_cost": { "send_sir": 2319861500000, "send_not_sir": 2319861500000, "execution": 2319861500000 }, "function_call_cost_per_byte": { "send_sir": 2235934, "send_not_sir": 2235934, "execution": 2235934 }, "transfer_cost": { "send_sir": 115123062500, "send_not_sir": 115123062500, "execution": 115123062500 }, "stake_cost": { "send_sir": 141715687500, "send_not_sir": 141715687500, "execution": 102217625000 }, "add_key_cost": { "full_access_cost": { "send_sir": 101765125000, "send_not_sir": 101765125000, "execution": 101765125000 }, "function_call_cost": { "send_sir": 102217625000, "send_not_sir": 102217625000, "execution": 102217625000 }, "function_call_cost_per_byte": { "send_sir": 1925331, "send_not_sir": 1925331, "execution": 1925331 } }, "delete_key_cost": { "send_sir": 94946625000, "send_not_sir": 94946625000, "execution": 94946625000 }, "delete_account_cost": { "send_sir": 147489000000, "send_not_sir": 147489000000, "execution": 147489000000 } }, "storage_usage_config": { "num_bytes_account": 100, "num_extra_bytes_record": 40 }, "burnt_gas_reward": [ 3, 10 ], "pessimistic_gas_price_inflation_ratio": [ 103, 100 ] }, "wasm_config": { "ext_costs": { "base": 264768111, "contract_compile_base": 35445963, "contract_compile_bytes": 216750, "read_memory_base": 2609863200, "read_memory_byte": 3801333, "write_memory_base": 2803794861, "write_memory_byte": 2723772, "read_register_base": 2517165186, "read_register_byte": 98562, "write_register_base": 2865522486, "write_register_byte": 3801564, "utf8_decoding_base": 3111779061, "utf8_decoding_byte": 291580479, "utf16_decoding_base": 3543313050, "utf16_decoding_byte": 163577493, "sha256_base": 4540970250, "sha256_byte": 24117351, "keccak256_base": 5879491275, "keccak256_byte": 21471105, "keccak512_base": 5811388236, "keccak512_byte": 36649701, "log_base": 3543313050, "log_byte": 13198791, "storage_write_base": 64196736000, "storage_write_key_byte": 70482867, "storage_write_value_byte": 31018539, "storage_write_evicted_byte": 32117307, "storage_read_base": 56356845750, "storage_read_key_byte": 30952533, "storage_read_value_byte": 5611005, "storage_remove_base": 53473030500, "storage_remove_key_byte": 38220384, "storage_remove_ret_value_byte": 11531556, "storage_has_key_base": 54039896625, "storage_has_key_byte": 30790845, "storage_iter_create_prefix_base": 0, "storage_iter_create_prefix_byte": 0, "storage_iter_create_range_base": 0, "storage_iter_create_from_byte": 0, "storage_iter_create_to_byte": 0, "storage_iter_next_base": 0, "storage_iter_next_key_byte": 0, "storage_iter_next_value_byte": 0, "touching_trie_node": 16101955926, "promise_and_base": 1465013400, "promise_and_per_promise": 5452176, "promise_return": 560152386, "validator_stake_base": 911834726400, "validator_total_stake_base": 911834726400 }, "grow_mem_cost": 1, "regular_op_cost": 3856371, "limit_config": { "max_gas_burnt": 200000000000000, "max_gas_burnt_view": 200000000000000, "max_stack_height": 16384, "initial_memory_pages": 1024, "max_memory_pages": 2048, "registers_memory_limit": 1073741824, "max_register_size": 104857600, "max_number_registers": 100, "max_number_logs": 100, "max_total_log_length": 16384, "max_total_prepaid_gas": 300000000000000, "max_actions_per_receipt": 100, "max_number_bytes_method_names": 2000, "max_length_method_name": 256, "max_arguments_length": 4194304, "max_length_returned_data": 4194304, "max_contract_size": 4194304, "max_length_storage_key": 4194304, "max_length_storage_value": 4194304, "max_promises_per_function_call_action": 1024, "max_number_input_data_dependencies": 128 } }, "account_creation_config": { "min_allowed_top_level_account_length": 0, "registrar_account_id": "registrar" } }, "validators": [ { "account_id": "test.near", "public_key": "ed25519:98jzeQmcPrVUjwrAawRsFotA5V4FyouDNsLWLM7W8koe", "amount": "50000000000000000000000000000000" } ], "transaction_validity_period": 100, "protocol_reward_rate": [ 1, 10 ], "max_inflation_rate": [ 1, 20 ], "total_supply": "2050000000000000000000000000000000", "num_blocks_per_year": 31536000, "protocol_treasury_account": "test.near", "fishermen_threshold": "10000000000000000000000000", "minimum_stake_divisor": 10, "records": [ { "Account": { "account_id": "test.near", "account": { "amount": "1000000000000000000000000000000000", "locked": "50000000000000000000000000000000", "code_hash": "11111111111111111111111111111111", "storage_usage": 0 } } }, { "AccessKey": { "account_id": "test.near", "public_key": "ed25519:98jzeQmcPrVUjwrAawRsFotA5V4FyouDNsLWLM7W8koe", "access_key": { "nonce": 0, "permission": "FullAccess" } } }, { "Account": { "account_id": "near", "account": { "amount": "1000000000000000000000000000000000", "locked": "0", "code_hash": "11111111111111111111111111111111", "storage_usage": 0 } } }, { "AccessKey": { "account_id": "near", "public_key": "ed25519:546XB2oHhj7PzUKHiH9Xve3Ze5q1JiW2WTh6abXFED3c", "access_key": { "nonce": 0, "permission": "FullAccess" } } } ] } ``` Tested for default betanet init: ``` sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (download-config)> rm -rf ~/.near/ sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (download-config)> ./target/debug/neard init --chain-id betanet --download-genesis Jun 29 13:14:38.613 INFO neard: Version: 1.2.0, Build: 7e0fe60-modified, Latest Protocol: 45 Jun 29 13:14:38.614 INFO near: Downloading genesis file from: https://s3-us-west-1.amazonaws.com/build.nearprotocol.com/nearcore-deploy/betanet/genesis.json ... Jun 29 13:15:06.188 INFO near: Saved the genesis file to: /home/sandi/.near/genesis.json ... Jun 29 13:15:13.541 INFO near: Generated for betanet network node key and genesis file in /home/sandi/.near sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (download-config)> cat /home/sandi/.near/config.json { "genesis_file": "genesis.json", "genesis_records_file": null, "validator_key_file": "validator_key.json", "node_key_file": "node_key.json", "rpc": { "addr": "0.0.0.0:3030", "cors_allowed_origins": [ "*" ], "polling_config": { "polling_interval": { "secs": 0, "nanos": 500000000 }, "polling_timeout": { "secs": 10, "nanos": 0 } }, "limits_config": { "json_payload_max_size": 10485760 } }, "telemetry": { "endpoints": [ "https://explorer.betanet.near.org/api/nodes" ] }, "network": { "addr": "0.0.0.0:24567", "external_address": "", "boot_nodes": "", "max_num_peers": 40, "minimum_outbound_peers": 5, "ideal_connections_lo": 30, "ideal_connections_hi": 35, "peer_recent_time_window": { "secs": 600, "nanos": 0 }, "safe_set_size": 20, "archival_peer_connections_lower_bound": 10, "handshake_timeout": { "secs": 20, "nanos": 0 }, "reconnect_delay": { "secs": 60, "nanos": 0 }, "skip_sync_wait": false, "ban_window": { "secs": 10800, "nanos": 0 }, "blacklist": [], "ttl_account_id_router": { "secs": 3600, "nanos": 0 }, "peer_stats_period": { "secs": 5, "nanos": 0 } }, "consensus": { "min_num_peers": 3, "block_production_tracking_delay": { "secs": 0, "nanos": 100000000 }, "min_block_production_delay": { "secs": 0, "nanos": 600000000 }, "max_block_production_delay": { "secs": 2, "nanos": 0 }, "max_block_wait_delay": { "secs": 6, "nanos": 0 }, "reduce_wait_for_missing_block": { "secs": 0, "nanos": 100000000 }, "produce_empty_blocks": true, "block_fetch_horizon": 50, "state_fetch_horizon": 5, "block_header_fetch_horizon": 50, "catchup_step_period": { "secs": 0, "nanos": 100000000 }, "chunk_request_retry_period": { "secs": 0, "nanos": 400000000 }, "header_sync_initial_timeout": { "secs": 10, "nanos": 0 }, "header_sync_progress_timeout": { "secs": 2, "nanos": 0 }, "header_sync_stall_ban_timeout": { "secs": 120, "nanos": 0 }, "state_sync_timeout": { "secs": 60, "nanos": 0 }, "header_sync_expected_height_per_second": 10, "sync_check_period": { "secs": 10, "nanos": 0 }, "sync_step_period": { "secs": 0, "nanos": 10000000 }, "doomslug_step_period": { "secs": 0, "nanos": 100000000 } }, "tracked_accounts": [], "tracked_shards": [], "archive": false, "log_summary_style": "colored", "gc_blocks_limit": 2, "view_client_threads": 4, "epoch_sync_enabled": true, "view_client_throttle_period": { "secs": 30, "nanos": 0 }, "trie_viewer_state_size_limit": 50000 }⏎ ``` Tested on betanet with the download config flag set: ``` sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (download-config)> rm -rf ~/.near/ sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (download-config)> ./target/debug/neard init --chain-id betanet --download-genesis --download-config Jun 29 13:19:12.545 INFO neard: Version: 1.2.0, Build: 3f3986d4-modified, Latest Protocol: 45 Jun 29 13:19:12.545 INFO near: Downloading config file from: https://s3-us-west-1.amazonaws.com/build.nearprotocol.com/nearcore-deploy/betanet/config.json ... Jun 29 13:19:13.476 INFO near: Saved the config file to: /home/sandi/.near/config.json ... Jun 29 13:19:13.479 INFO near: Downloading genesis file from: https://s3-us-west-1.amazonaws.com/build.nearprotocol.com/nearcore-deploy/betanet/genesis.json ... Jun 29 13:19:41.038 INFO near: Saved the genesis file to: /home/sandi/.near/genesis.json ... Jun 29 13:19:48.309 INFO near: Generated for betanet network node key and genesis file in /home/sandi/.near sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (download-config)> cat /home/sandi/.near/config.json { "genesis_file": "genesis.json", "genesis_records_file": null, "validator_key_file": "validator_key.json", "node_key_file": "node_key.json", "rpc": { "addr": "0.0.0.0:3030", "cors_allowed_origins": [ "*" ], "polling_config": { "polling_interval": { "secs": 0, "nanos": 500000000 }, "polling_timeout": { "secs": 10, "nanos": 0 } }, "limits_config": { "json_payload_max_size": 10485760 } }, "telemetry": { "endpoints": [ "https://explorer.betanet.near.org/api/nodes" ] }, "network": { "addr": "0.0.0.0:24567", "external_address": "", "boot_nodes": "ed25519:[email protected]:24567,ed25519:[email protected]:24567", "max_num_peers": 40, "minimum_outbound_peers": 5, "ideal_connections_lo": 30, "ideal_connections_hi": 35, "peer_recent_time_window": { "secs": 600, "nanos": 0 }, "safe_set_size": 20, "archival_peer_connections_lower_bound": 10, "handshake_timeout": { "secs": 20, "nanos": 0 }, "reconnect_delay": { "secs": 60, "nanos": 0 }, "skip_sync_wait": false, "ban_window": { "secs": 10800, "nanos": 0 }, "blacklist": [], "ttl_account_id_router": { "secs": 3600, "nanos": 0 }, "peer_stats_period": { "secs": 5, "nanos": 0 } }, "consensus": { "min_num_peers": 3, "block_production_tracking_delay": { "secs": 0, "nanos": 100000000 }, "min_block_production_delay": { "secs": 0, "nanos": 600000000 }, "max_block_production_delay": { "secs": 2, "nanos": 0 }, "max_block_wait_delay": { "secs": 6, "nanos": 0 }, "reduce_wait_for_missing_block": { "secs": 0, "nanos": 100000000 }, "produce_empty_blocks": true, "block_fetch_horizon": 50, "state_fetch_horizon": 5, "block_header_fetch_horizon": 50, "catchup_step_period": { "secs": 0, "nanos": 100000000 }, "chunk_request_retry_period": { "secs": 0, "nanos": 400000000 }, "header_sync_initial_timeout": { "secs": 10, "nanos": 0 }, "header_sync_progress_timeout": { "secs": 2, "nanos": 0 }, "header_sync_stall_ban_timeout": { "secs": 120, "nanos": 0 }, "state_sync_timeout": { "secs": 60, "nanos": 0 }, "header_sync_expected_height_per_second": 10, "sync_check_period": { "secs": 10, "nanos": 0 }, "sync_step_period": { "secs": 0, "nanos": 10000000 }, "doomslug_step_period": { "secs": 0, "nanos": 100000000 } }, "tracked_accounts": [], "tracked_shards": [ 0 ], "archive": false, "log_summary_style": "colored", "gc_blocks_limit": 2, "view_client_threads": 4, "epoch_sync_enabled": true, "view_client_throttle_period": { "secs": 30, "nanos": 0 }, "trie_viewer_state_size_limit": 50000 }⏎ ```
… command With no boot nodes specified: ``` sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (add-boot-nodes)> ./target/debug/neard init --chain-id betanet --download-genesis Jun 30 17:06:22.216 INFO neard: Version: 1.2.0, Build: 0d2d66e-modified, Latest Protocol: 45 Jun 30 17:06:22.219 INFO near: Downloading genesis file from: https://s3-us-west-1.amazonaws.com/build.nearprotocol.com/nearcore-deploy/betanet/genesis.json ... Jun 30 17:06:59.992 INFO near: Saved the genesis file to: /home/sandi/.near/genesis.json ... Jun 30 17:07:13.464 INFO near: Generated for betanet network node key and genesis file in /home/sandi/.near sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (add-boot-nodes)> cat /home/sandi/.near/config.json ... "network": { "addr": "0.0.0.0:24567", "external_address": "", "boot_nodes": "", "max_num_peers": 40, "minimum_outbound_peers": 5, "ideal_connections_lo": 30, "ideal_connections_hi": 35, "peer_recent_time_window": { "secs": 600, "nanos": 0 }, "safe_set_size": 20, "archival_peer_connections_lower_bound": 10, "handshake_timeout": { "secs": 20, "nanos": 0 }, "reconnect_delay": { "secs": 60, "nanos": 0 }, "skip_sync_wait": false, "ban_window": { "secs": 10800, "nanos": 0 }, "blacklist": [], "ttl_account_id_router": { "secs": 3600, "nanos": 0 }, "peer_stats_period": { "secs": 5, "nanos": 0 } }, ... ``` With one boot nodes specified: ``` sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (add-boot-nodes) [2]> ./target/debug/neard init --chain-id betanet --download-genesis --boot-nodes ed25519:[email protected]:24567 Jun 30 17:09:04.550 INFO neard: Version: 1.2.0, Build: 0d2d66e-modified, Latest Protocol: 45 Jun 30 17:09:04.552 INFO near: Downloading genesis file from: https://s3-us-west-1.amazonaws.com/build.nearprotocol.com/nearcore-deploy/betanet/genesis.json ... Jun 30 17:10:18.975 INFO near: Saved the genesis file to: /home/sandi/.near/genesis.json ... Jun 30 17:10:31.853 INFO near: Generated for betanet network node key and genesis file in /home/sandi/.near sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (add-boot-nodes)> cat /home/sandi/.near/config.json { ... "network": { "addr": "0.0.0.0:24567", "external_address": "", "boot_nodes": "ed25519:[email protected]:24567", "max_num_peers": 40, "minimum_outbound_peers": 5, "ideal_connections_lo": 30, "ideal_connections_hi": 35, "peer_recent_time_window": { "secs": 600, "nanos": 0 }, "safe_set_size": 20, "archival_peer_connections_lower_bound": 10, "handshake_timeout": { "secs": 20, "nanos": 0 }, "reconnect_delay": { "secs": 60, "nanos": 0 }, "skip_sync_wait": false, "ban_window": { "secs": 10800, "nanos": 0 }, "blacklist": [], "ttl_account_id_router": { "secs": 3600, "nanos": 0 }, "peer_stats_period": { "secs": 5, "nanos": 0 } }, ... ``` With multiple boot nodes specified: ``` sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (add-boot-nodes)> rm -rf ~/.near/ sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (add-boot-nodes)> ./target/debug/neard init --chain-id betanet --download-genesis --boot-nodes ed25519:[email protected]:24567,ed25519:[email protected]:24567,ed25519:[email protected]:24567,ed25519:[email protected]:24567 Jun 30 17:12:16.514 INFO neard: Version: 1.2.0, Build: 0d2d66e-modified, Latest Protocol: 45 Jun 30 17:12:16.517 INFO near: Downloading genesis file from: https://s3-us-west-1.amazonaws.com/build.nearprotocol.com/nearcore-deploy/betanet/genesis.json ... Jun 30 17:13:46.960 INFO near: Saved the genesis file to: /home/sandi/.near/genesis.json ... Jun 30 17:14:01.344 INFO near: Generated for betanet network node key and genesis file in /home/sandi/.near sandi@sandi-ThinkPad-X1-Carbon-7th ~/w/n/nearcore (add-boot-nodes)> cat /home/sandi/.near/config.json ... "network": { "addr": "0.0.0.0:24567", "external_address": "", "boot_nodes": "ed25519:[email protected]:24567,ed25519:[email protected]:24567,ed25519:[email protected]:24567,ed25519:[email protected]:24567", "max_num_peers": 40, "minimum_outbound_peers": 5, "ideal_connections_lo": 30, "ideal_connections_hi": 35, "peer_recent_time_window": { "secs": 600, "nanos": 0 }, "safe_set_size": 20, "archival_peer_connections_lower_bound": 10, "handshake_timeout": { "secs": 20, "nanos": 0 }, "reconnect_delay": { "secs": 60, "nanos": 0 }, "skip_sync_wait": false, "ban_window": { "secs": 10800, "nanos": 0 }, "blacklist": [], "ttl_account_id_router": { "secs": 3600, "nanos": 0 }, "peer_stats_period": { "secs": 5, "nanos": 0 } }, ... ```
--boot-nodes
option to the init command
@@ -44,6 +44,8 @@ pub struct InitConfigArgs { | |||
pub download_config: bool, | |||
/// Specify a custom download URL for the config file. | |||
pub download_config_url: Option<String>, | |||
/// Specify the boot nodes to bootstrap the network | |||
pub boot_nodes: Option<String>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it's worth to put a new arg after the last existing? Especially in init_configs
function signature to make breaking change a little bit easier?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have put it in front, as logically this is kind tied tothe download_config flags, as well. It seemed weird to me to put it after max_gas_burnt_view for that reason :)
Tested three scenarios:
No boot nodes specified
One boot node specified
Multiple boot nodes specified.
With no boot nodes specified:
With one boot nodes specified:
With multiple boot nodes specified: