From 430893badce7a04d8a4511b216f1958711fd7f8f Mon Sep 17 00:00:00 2001 From: Andrew Mitchell Date: Wed, 10 Jul 2019 15:08:08 -0400 Subject: [PATCH] update docker config template and include default rpc config (#2038) * add websocket config and fix address update address to ::ffff:0.0.0.0 so it's open for use on docker * add default rpc_config.json for beta and live networks update default config.json for beta and live networks * listen on any available IP inside docker container typo in config copy command * sane io threads for default docker rpc_config.json * set active_elections_size to default of 50k --- docker/node/config/beta.json | 86 ++++++++++++++++++++++------- docker/node/config/beta_rpc.json | 13 +++++ docker/node/config/live.json | 92 ++++++++++++++++++++++++-------- docker/node/config/live_rpc.json | 13 +++++ docker/node/entry.sh | 1 + 5 files changed, 164 insertions(+), 41 deletions(-) create mode 100644 docker/node/config/beta_rpc.json create mode 100644 docker/node/config/live_rpc.json diff --git a/docker/node/config/beta.json b/docker/node/config/beta.json index ffc287e3..96de63cc 100644 --- a/docker/node/config/beta.json +++ b/docker/node/config/beta.json @@ -2,23 +2,26 @@ "version": "2", "rpc_enable": "true", "rpc": { - "address": "::ffff:0.0.0.0", - "port": "55000", - "enable_control": "true", - "frontier_request_limit": "16384", - "chain_request_limit": "16384" + "version": "1", + "enable_sign_hash": "false", + "max_work_generate_difficulty": "ffffffffc0000000", + "child_process": { + "enable": "false", + "rpc_path": "\/usr\/bin\/nano_rpc" + } }, "node": { - "version": "12", + "version": "17", "peering_port": "54000", "bootstrap_fraction_numerator": "1", "receive_minimum": "1000000000000000000000000", "logging": { - "version": "3", + "version": "7", "ledger": "false", "ledger_duplicate": "false", "vote": "false", "network": "true", + "network_timeout": "false", "network_message": "false", "network_publish": "false", "network_packet": "false", @@ -26,39 +29,84 @@ "network_node_id_handshake": "false", "node_lifetime_tracing": "false", "insufficient_work": "true", - "log_rpc": "true", + "log_ipc": "true", "bulk_pull": "false", "work_generation_time": "true", + "upnp_details": "false", + "timing": "false", "log_to_cerr": "false", - "max_size": "16777216", + "max_size": "134217728", "rotation_size": "4194304", - "flush": "false" + "flush": "true", + "min_time_between_output": "5" }, "work_peers": "", "preconfigured_peers": [ - "rai-beta.raiblocks.net" + "peering-beta.nano.org" ], "preconfigured_representatives": [ - "xrb_3betaz86ypbygpqbookmzpnmd5jhh4efmd8arr9a3n4bdmj1zgnzad7xpmfp", - "xrb_1beta1ayfkpj1tfbhi3e9ihkocjkqi6ms5e4xrbmbybqnkza1e5jrake8wai", - "xrb_1beta3kp4j9tn7pko3apyyzbrx789jpc98ep3ufqazanbcxiyyoxmxhjtbfn", - "xrb_1beta4nkzb3g6b1a1qhae89earmz3gk3kfrp3f8hyztm8qyjkeyz9kajfutq", - "xrb_1beta5zm6rq4ghp6c9n99j8fz3am8e44dewae5ea7addsjtfo8umsafmr1r7" + "nano_3betaz86ypbygpqbookmzpnmd5jhh4efmd8arr9a3n4bdmj1zgnzad7xpmfp", + "nano_1beta1ayfkpj1tfbhi3e9ihkocjkqi6ms5e4xrbmbybqnkza1e5jrake8wai", + "nano_1beta3kp4j9tn7pko3apyyzbrx789jpc98ep3ufqazanbcxiyyoxmxhjtbfn", + "nano_1beta4nkzb3g6b1a1qhae89earmz3gk3kfrp3f8hyztm8qyjkeyz9kajfutq", + "nano_1beta5zm6rq4ghp6c9n99j8fz3am8e44dewae5ea7addsjtfo8umsafmr1r7" ], "online_weight_minimum": "60000000000000000000000000000000000000", "online_weight_quorum": "50", "password_fanout": "1024", "io_threads": "4", + "network_threads": "4", "work_threads": "4", + "signature_checker_threads": "3", "enable_voting": "false", - "bootstrap_connections": "16", + "bootstrap_connections": "4", "bootstrap_connections_max": "64", "callback_address": "", "callback_port": "0", "callback_target": "", "lmdb_max_dbs": "128", - "state_block_parse_canary": "1F76506FE8606E8BBA8C732A32F6C8DA78E514182C8BED62D1D988F3159BEAA2", - "state_block_generate_canary": "1F76506FE8606E8BBA8C732A32F6C8DA78E514182C8BED62D1D988F3159BEAA2" + "block_processor_batch_max_time": "5000", + "allow_local_peers": "true", + "vote_minimum": "1000000000000000000000000000000000", + "vote_generator_delay": "50", + "vote_generator_threshold": "3", + "unchecked_cutoff_time": "14400", + "tcp_io_timeout": "15", + "pow_sleep_interval": "0", + "external_address": "::", + "external_port": "0", + "tcp_incoming_connections_max": "1024", + "use_memory_pools": "true", + "websocket": { + "enable": "false", + "address": "::ffff:0.0.0.0", + "port": "57000" + }, + "ipc": { + "tcp": { + "enable": "true", + "port": "56000", + "io_timeout": "15" + }, + "local": { + "version": "1", + "enable": "false", + "allow_unsafe": "false", + "path": "\/tmp\/nano", + "io_timeout": "15" + } + }, + "diagnostics": { + "txn_tracking": { + "enable": "false", + "min_read_txn_time": "5000", + "min_write_txn_time": "500", + "ignore_writes_below_block_processor_max_time": "true" + } + }, + "confirmation_history_size": "2048", + "active_elections_size": "50000", + "bandwidth_limit": "5242880" }, "opencl_enable": "false", "opencl": { diff --git a/docker/node/config/beta_rpc.json b/docker/node/config/beta_rpc.json new file mode 100644 index 00000000..0791575e --- /dev/null +++ b/docker/node/config/beta_rpc.json @@ -0,0 +1,13 @@ +{ + "version": "1", + "address": "::ffff:0.0.0.0", + "port": "55000", + "enable_control": "true", + "max_json_depth": "20", + "max_request_size": "33554432", + "process": { + "io_threads": "4", + "ipc_port": "56000", + "num_ipc_connections": "4" + } +} diff --git a/docker/node/config/live.json b/docker/node/config/live.json index e947c66c..08b9285d 100644 --- a/docker/node/config/live.json +++ b/docker/node/config/live.json @@ -2,23 +2,26 @@ "version": "2", "rpc_enable": "true", "rpc": { - "address": "::ffff:0.0.0.0", - "port": "7076", - "enable_control": "true", - "frontier_request_limit": "16384", - "chain_request_limit": "16384" + "version": "1", + "enable_sign_hash": "false", + "max_work_generate_difficulty": "ffffffffc0000000", + "child_process": { + "enable": "false", + "rpc_path": "\/usr\/bin\/nano_rpc" + } }, "node": { - "version": "12", + "version": "17", "peering_port": "7075", "bootstrap_fraction_numerator": "1", "receive_minimum": "1000000000000000000000000", "logging": { - "version": "3", + "version": "7", "ledger": "false", "ledger_duplicate": "false", "vote": "false", "network": "true", + "network_timeout": "false", "network_message": "false", "network_publish": "false", "network_packet": "false", @@ -26,42 +29,87 @@ "network_node_id_handshake": "false", "node_lifetime_tracing": "false", "insufficient_work": "true", - "log_rpc": "true", + "log_ipc": "true", "bulk_pull": "false", "work_generation_time": "true", + "upnp_details": "false", + "timing": "false", "log_to_cerr": "false", - "max_size": "16777216", + "max_size": "134217728", "rotation_size": "4194304", - "flush": "false" + "flush": "true", + "min_time_between_output": "5" }, "work_peers": "", "preconfigured_peers": [ - "rai.raiblocks.net" + "peering.nano.org" ], "preconfigured_representatives": [ - "xrb_3arg3asgtigae3xckabaaewkx3bzsh7nwz7jkmjos79ihyaxwphhm6qgjps4", - "xrb_1stofnrxuz3cai7ze75o174bpm7scwj9jn3nxsn8ntzg784jf1gzn1jjdkou", - "xrb_1q3hqecaw15cjt7thbtxu3pbzr1eihtzzpzxguoc37bj1wc5ffoh7w74gi6p", - "xrb_3dmtrrws3pocycmbqwawk6xs7446qxa36fcncush4s1pejk16ksbmakis78m", - "xrb_3hd4ezdgsp15iemx7h81in7xz5tpxi43b6b41zn3qmwiuypankocw3awes5k", - "xrb_1awsn43we17c1oshdru4azeqjz9wii41dy8npubm4rg11so7dx3jtqgoeahy", - "xrb_1anrzcuwe64rwxzcco8dkhpyxpi8kd7zsjc1oeimpc3ppca4mrjtwnqposrs", - "xrb_1hza3f7wiiqa7ig3jczyxj5yo86yegcmqk3criaz838j91sxcckpfhbhhra1" + "nano_3arg3asgtigae3xckabaaewkx3bzsh7nwz7jkmjos79ihyaxwphhm6qgjps4", + "nano_1stofnrxuz3cai7ze75o174bpm7scwj9jn3nxsn8ntzg784jf1gzn1jjdkou", + "nano_1q3hqecaw15cjt7thbtxu3pbzr1eihtzzpzxguoc37bj1wc5ffoh7w74gi6p", + "nano_3dmtrrws3pocycmbqwawk6xs7446qxa36fcncush4s1pejk16ksbmakis78m", + "nano_3hd4ezdgsp15iemx7h81in7xz5tpxi43b6b41zn3qmwiuypankocw3awes5k", + "nano_1awsn43we17c1oshdru4azeqjz9wii41dy8npubm4rg11so7dx3jtqgoeahy", + "nano_1anrzcuwe64rwxzcco8dkhpyxpi8kd7zsjc1oeimpc3ppca4mrjtwnqposrs", + "nano_1hza3f7wiiqa7ig3jczyxj5yo86yegcmqk3criaz838j91sxcckpfhbhhra1" ], "online_weight_minimum": "60000000000000000000000000000000000000", "online_weight_quorum": "50", "password_fanout": "1024", "io_threads": "4", + "network_threads": "4", "work_threads": "4", + "signature_checker_threads": "3", "enable_voting": "false", - "bootstrap_connections": "16", + "bootstrap_connections": "4", "bootstrap_connections_max": "64", "callback_address": "", "callback_port": "0", "callback_target": "", "lmdb_max_dbs": "128", - "state_block_parse_canary": "991CF190094C00F0B68E2E5F75F6BEE95A2E0BD93CEAA4A6734DB9F19B728948", - "state_block_generate_canary": "991CF190094C00F0B68E2E5F75F6BEE95A2E0BD93CEAA4A6734DB9F19B728948" + "block_processor_batch_max_time": "5000", + "allow_local_peers": "false", + "vote_minimum": "1000000000000000000000000000000000", + "vote_generator_delay": "50", + "vote_generator_threshold": "3", + "unchecked_cutoff_time": "14400", + "tcp_io_timeout": "15", + "pow_sleep_interval": "0", + "external_address": "::", + "external_port": "0", + "tcp_incoming_connections_max": "1024", + "use_memory_pools": "true", + "websocket": { + "enable": "false", + "address": "::ffff:0.0.0.0", + "port": "7078" + }, + "ipc": { + "tcp": { + "enable": "false", + "port": "7077", + "io_timeout": "15" + }, + "local": { + "version": "1", + "enable": "false", + "allow_unsafe": "false", + "path": "\/tmp\/nano", + "io_timeout": "15" + } + }, + "diagnostics": { + "txn_tracking": { + "enable": "false", + "min_read_txn_time": "5000", + "min_write_txn_time": "500", + "ignore_writes_below_block_processor_max_time": "true" + } + }, + "confirmation_history_size": "2048", + "active_elections_size": "50000", + "bandwidth_limit": "5242880" }, "opencl_enable": "false", "opencl": { diff --git a/docker/node/config/live_rpc.json b/docker/node/config/live_rpc.json new file mode 100644 index 00000000..f496c1e3 --- /dev/null +++ b/docker/node/config/live_rpc.json @@ -0,0 +1,13 @@ +{ + "version": "1", + "address": "::ffff:0.0.0.0", + "port": "7076", + "enable_control": "true", + "max_json_depth": "20", + "max_request_size": "33554432", + "process": { + "io_threads": "4", + "ipc_port": "56000", + "num_ipc_connections": "4" + } +} diff --git a/docker/node/entry.sh b/docker/node/entry.sh index c0f8b1cd..bcd47386 100644 --- a/docker/node/entry.sh +++ b/docker/node/entry.sh @@ -34,6 +34,7 @@ fi if [ ! -f "${nanodir}/config.json" ]; then echo "Config File not found, adding default." cp "/usr/share/nano/config/${network}.json" "${nanodir}/config.json" + cp "/usr/share/nano/config/${network}_rpc.json" "${nanodir}/rpc_config.json" fi # Start watching the log file we are going to log output to