From f777cbeca94bb9fdc1219bb4c862f154efc3ecd1 Mon Sep 17 00:00:00 2001 From: Ethan Buchman <ethan@coinculture.info> Date: Thu, 25 Feb 2016 07:50:32 +0000 Subject: [PATCH] add network test --- net_test/README.md | 14 +++ net_test/data/init.sh | 12 ++ net_test/data/local/config.toml | 11 ++ net_test/data/local/genesis.json | 113 ++++++++++++++++++ net_test/data/local/priv_validator.json | 1 + net_test/data/local/server_conf.toml | 26 ++++ net_test/data/local_data/config.toml | 11 ++ net_test/data/local_data/genesis.json | 113 ++++++++++++++++++ net_test/data/local_data/local/config.toml | 11 ++ net_test/data/local_data/local/genesis.json | 113 ++++++++++++++++++ .../data/local_data/local/priv_validator.json | 1 + .../data/local_data/local/server_conf.toml | 26 ++++ net_test/data/local_data/priv_validator.json | 1 + net_test/data/local_data/server_conf.toml | 26 ++++ net_test/data/net_test_0/config.toml | 11 ++ net_test/data/net_test_0/genesis.json | 113 ++++++++++++++++++ net_test/data/net_test_0/init.sh | 12 ++ net_test/data/net_test_0/priv_validator.json | 1 + net_test/data/net_test_0/server_conf.toml | 26 ++++ net_test/data/net_test_1/config.toml | 11 ++ net_test/data/net_test_1/genesis.json | 113 ++++++++++++++++++ net_test/data/net_test_1/init.sh | 12 ++ net_test/data/net_test_1/priv_validator.json | 1 + net_test/data/net_test_2/config.toml | 11 ++ net_test/data/net_test_2/genesis.json | 113 ++++++++++++++++++ net_test/data/net_test_2/init.sh | 12 ++ net_test/data/net_test_2/priv_validator.json | 1 + net_test/data/net_test_3/config.toml | 11 ++ net_test/data/net_test_3/genesis.json | 113 ++++++++++++++++++ net_test/data/net_test_3/init.sh | 12 ++ net_test/data/net_test_3/priv_validator.json | 1 + net_test/dev/Dockerfile | 16 +++ net_test/dev/data.sh | 32 +++++ net_test/dev/local.sh | 13 ++ net_test/dev/rm.sh | 14 +++ net_test/dev/run.sh | 17 +++ net_test/dev/test.sh | 10 ++ net_test/setup.sh | 29 +++++ net_test/test.sh | 39 ++++++ 39 files changed, 1223 insertions(+) create mode 100644 net_test/README.md create mode 100755 net_test/data/init.sh create mode 100644 net_test/data/local/config.toml create mode 100644 net_test/data/local/genesis.json create mode 100644 net_test/data/local/priv_validator.json create mode 100644 net_test/data/local/server_conf.toml create mode 100644 net_test/data/local_data/config.toml create mode 100644 net_test/data/local_data/genesis.json create mode 100644 net_test/data/local_data/local/config.toml create mode 100644 net_test/data/local_data/local/genesis.json create mode 100644 net_test/data/local_data/local/priv_validator.json create mode 100644 net_test/data/local_data/local/server_conf.toml create mode 100644 net_test/data/local_data/priv_validator.json create mode 100644 net_test/data/local_data/server_conf.toml create mode 100644 net_test/data/net_test_0/config.toml create mode 100644 net_test/data/net_test_0/genesis.json create mode 100755 net_test/data/net_test_0/init.sh create mode 100644 net_test/data/net_test_0/priv_validator.json create mode 100644 net_test/data/net_test_0/server_conf.toml create mode 100644 net_test/data/net_test_1/config.toml create mode 100644 net_test/data/net_test_1/genesis.json create mode 100755 net_test/data/net_test_1/init.sh create mode 100644 net_test/data/net_test_1/priv_validator.json create mode 100644 net_test/data/net_test_2/config.toml create mode 100644 net_test/data/net_test_2/genesis.json create mode 100755 net_test/data/net_test_2/init.sh create mode 100644 net_test/data/net_test_2/priv_validator.json create mode 100644 net_test/data/net_test_3/config.toml create mode 100644 net_test/data/net_test_3/genesis.json create mode 100755 net_test/data/net_test_3/init.sh create mode 100644 net_test/data/net_test_3/priv_validator.json create mode 100644 net_test/dev/Dockerfile create mode 100644 net_test/dev/data.sh create mode 100644 net_test/dev/local.sh create mode 100644 net_test/dev/rm.sh create mode 100644 net_test/dev/run.sh create mode 100644 net_test/dev/test.sh create mode 100644 net_test/setup.sh create mode 100644 net_test/test.sh diff --git a/net_test/README.md b/net_test/README.md new file mode 100644 index 00000000..68d42a5a --- /dev/null +++ b/net_test/README.md @@ -0,0 +1,14 @@ +# Network Integration Test + +Test transaction relaying with nonce-based txs + +Dependencies: eris-cli, mint-client + +Expects docker-machines to be already deployed as mach1, mach2, mach3, mach4. +Machine name (`mach`) can be changed at top of `setup.sh` + +Start the network nodes and the local proxy: `./setup.sh` + +Run the test: `./test.sh` + +Use `./dev/rm.sh` to wipe the remote containers, and `eris clean` to wipe the local ones. diff --git a/net_test/data/init.sh b/net_test/data/init.sh new file mode 100755 index 00000000..28c329fe --- /dev/null +++ b/net_test/data/init.sh @@ -0,0 +1,12 @@ +#! /bin/bash +# this script installs and runs erisdb, because we don't have patience for docker + +BRANCH="fixes" + +go get -d github.com/eris-ltd/eris-db +cd $GOPATH/src/github.com/eris-ltd/eris-db +git fetch origin $BRANCH +git checkout $BRANCH +go install ./cmd/erisdb + +erisdb $TMROOT # should be exposed by docker file diff --git a/net_test/data/local/config.toml b/net_test/data/local/config.toml new file mode 100644 index 00000000..1a55f510 --- /dev/null +++ b/net_test/data/local/config.toml @@ -0,0 +1,11 @@ +# This is a TOML config file. +# For more information, see https://github.com/toml-lang/toml + +moniker = "golden_goose" +skip_upnp = true +node_laddr = "0.0.0.0:46656" +seeds = "104.236.45.149:46656" +fast_sync = false +db_backend = "leveldb" +log_level = "debug" +rpc_laddr = "0.0.0.0:46657" diff --git a/net_test/data/local/genesis.json b/net_test/data/local/genesis.json new file mode 100644 index 00000000..2beb2e0e --- /dev/null +++ b/net_test/data/local/genesis.json @@ -0,0 +1,113 @@ +{ + "genesis_time": "2016-02-25T02:52:00.489Z", + "chain_id": "net_test", + "params": null, + "accounts": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + } + ], + "validators": [ + { + "pub_key": [ + 1, + "520FD1AF439F68F977E5F8AEA9F6BF6FB041CD7E3640095C5838F4CFC9CD5599" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "5A195121671DD5D06E57A53FE4165F83E3779C270837A06CA69A9142C893F3B0" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "7571290A33CFAE246136818BF20BE9719FEDA162D2588F8B54AC2ED27F8FFEC7" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "053FFACC3B1F8AD855538E7B9F8E6EE8661C8170C6E159706654E5BF7F42FEFA" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 1000 + } + ] + } + ] +} \ No newline at end of file diff --git a/net_test/data/local/priv_validator.json b/net_test/data/local/priv_validator.json new file mode 100644 index 00000000..49862c0a --- /dev/null +++ b/net_test/data/local/priv_validator.json @@ -0,0 +1 @@ +{"address":"F8C21B6934E34C25067085AAB313BBFD714393EE","pub_key":[1,"0E89C57AAE3E02476A09A1498AE219A232341CF006238581EB5BB22B10CC2364"],"last_height":0,"last_round":0,"last_step":0,"priv_key":[1,"16EF1EE7895803D7BEF04B6BEE1E6B60C995B868CDA632C96B1846C12FE9A79B0E89C57AAE3E02476A09A1498AE219A232341CF006238581EB5BB22B10CC2364"]} \ No newline at end of file diff --git a/net_test/data/local/server_conf.toml b/net_test/data/local/server_conf.toml new file mode 100644 index 00000000..e1fa0645 --- /dev/null +++ b/net_test/data/local/server_conf.toml @@ -0,0 +1,26 @@ +[bind] +address="" +port=1337 +[TLS] +tls=false +cert_path="" +key_path="" +[CORS] +enable=false +allow_origins=[] +allow_credentials=false +allow_methods=[] +allow_headers=[] +expose_headers=[] +max_age=0 +[HTTP] +json_rpc_endpoint="/rpc" +[web_socket] +websocket_endpoint="/socketrpc" +max_websocket_sessions=50 +read_buffer_size=4096 +write_buffer_size=4096 +[logging] +console_log_level="info" +file_log_level="warn" +log_file="" diff --git a/net_test/data/local_data/config.toml b/net_test/data/local_data/config.toml new file mode 100644 index 00000000..1a55f510 --- /dev/null +++ b/net_test/data/local_data/config.toml @@ -0,0 +1,11 @@ +# This is a TOML config file. +# For more information, see https://github.com/toml-lang/toml + +moniker = "golden_goose" +skip_upnp = true +node_laddr = "0.0.0.0:46656" +seeds = "104.236.45.149:46656" +fast_sync = false +db_backend = "leveldb" +log_level = "debug" +rpc_laddr = "0.0.0.0:46657" diff --git a/net_test/data/local_data/genesis.json b/net_test/data/local_data/genesis.json new file mode 100644 index 00000000..2beb2e0e --- /dev/null +++ b/net_test/data/local_data/genesis.json @@ -0,0 +1,113 @@ +{ + "genesis_time": "2016-02-25T02:52:00.489Z", + "chain_id": "net_test", + "params": null, + "accounts": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + } + ], + "validators": [ + { + "pub_key": [ + 1, + "520FD1AF439F68F977E5F8AEA9F6BF6FB041CD7E3640095C5838F4CFC9CD5599" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "5A195121671DD5D06E57A53FE4165F83E3779C270837A06CA69A9142C893F3B0" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "7571290A33CFAE246136818BF20BE9719FEDA162D2588F8B54AC2ED27F8FFEC7" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "053FFACC3B1F8AD855538E7B9F8E6EE8661C8170C6E159706654E5BF7F42FEFA" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 1000 + } + ] + } + ] +} \ No newline at end of file diff --git a/net_test/data/local_data/local/config.toml b/net_test/data/local_data/local/config.toml new file mode 100644 index 00000000..1a55f510 --- /dev/null +++ b/net_test/data/local_data/local/config.toml @@ -0,0 +1,11 @@ +# This is a TOML config file. +# For more information, see https://github.com/toml-lang/toml + +moniker = "golden_goose" +skip_upnp = true +node_laddr = "0.0.0.0:46656" +seeds = "104.236.45.149:46656" +fast_sync = false +db_backend = "leveldb" +log_level = "debug" +rpc_laddr = "0.0.0.0:46657" diff --git a/net_test/data/local_data/local/genesis.json b/net_test/data/local_data/local/genesis.json new file mode 100644 index 00000000..2beb2e0e --- /dev/null +++ b/net_test/data/local_data/local/genesis.json @@ -0,0 +1,113 @@ +{ + "genesis_time": "2016-02-25T02:52:00.489Z", + "chain_id": "net_test", + "params": null, + "accounts": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + } + ], + "validators": [ + { + "pub_key": [ + 1, + "520FD1AF439F68F977E5F8AEA9F6BF6FB041CD7E3640095C5838F4CFC9CD5599" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "5A195121671DD5D06E57A53FE4165F83E3779C270837A06CA69A9142C893F3B0" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "7571290A33CFAE246136818BF20BE9719FEDA162D2588F8B54AC2ED27F8FFEC7" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "053FFACC3B1F8AD855538E7B9F8E6EE8661C8170C6E159706654E5BF7F42FEFA" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 1000 + } + ] + } + ] +} \ No newline at end of file diff --git a/net_test/data/local_data/local/priv_validator.json b/net_test/data/local_data/local/priv_validator.json new file mode 100644 index 00000000..49862c0a --- /dev/null +++ b/net_test/data/local_data/local/priv_validator.json @@ -0,0 +1 @@ +{"address":"F8C21B6934E34C25067085AAB313BBFD714393EE","pub_key":[1,"0E89C57AAE3E02476A09A1498AE219A232341CF006238581EB5BB22B10CC2364"],"last_height":0,"last_round":0,"last_step":0,"priv_key":[1,"16EF1EE7895803D7BEF04B6BEE1E6B60C995B868CDA632C96B1846C12FE9A79B0E89C57AAE3E02476A09A1498AE219A232341CF006238581EB5BB22B10CC2364"]} \ No newline at end of file diff --git a/net_test/data/local_data/local/server_conf.toml b/net_test/data/local_data/local/server_conf.toml new file mode 100644 index 00000000..e1fa0645 --- /dev/null +++ b/net_test/data/local_data/local/server_conf.toml @@ -0,0 +1,26 @@ +[bind] +address="" +port=1337 +[TLS] +tls=false +cert_path="" +key_path="" +[CORS] +enable=false +allow_origins=[] +allow_credentials=false +allow_methods=[] +allow_headers=[] +expose_headers=[] +max_age=0 +[HTTP] +json_rpc_endpoint="/rpc" +[web_socket] +websocket_endpoint="/socketrpc" +max_websocket_sessions=50 +read_buffer_size=4096 +write_buffer_size=4096 +[logging] +console_log_level="info" +file_log_level="warn" +log_file="" diff --git a/net_test/data/local_data/priv_validator.json b/net_test/data/local_data/priv_validator.json new file mode 100644 index 00000000..49862c0a --- /dev/null +++ b/net_test/data/local_data/priv_validator.json @@ -0,0 +1 @@ +{"address":"F8C21B6934E34C25067085AAB313BBFD714393EE","pub_key":[1,"0E89C57AAE3E02476A09A1498AE219A232341CF006238581EB5BB22B10CC2364"],"last_height":0,"last_round":0,"last_step":0,"priv_key":[1,"16EF1EE7895803D7BEF04B6BEE1E6B60C995B868CDA632C96B1846C12FE9A79B0E89C57AAE3E02476A09A1498AE219A232341CF006238581EB5BB22B10CC2364"]} \ No newline at end of file diff --git a/net_test/data/local_data/server_conf.toml b/net_test/data/local_data/server_conf.toml new file mode 100644 index 00000000..e1fa0645 --- /dev/null +++ b/net_test/data/local_data/server_conf.toml @@ -0,0 +1,26 @@ +[bind] +address="" +port=1337 +[TLS] +tls=false +cert_path="" +key_path="" +[CORS] +enable=false +allow_origins=[] +allow_credentials=false +allow_methods=[] +allow_headers=[] +expose_headers=[] +max_age=0 +[HTTP] +json_rpc_endpoint="/rpc" +[web_socket] +websocket_endpoint="/socketrpc" +max_websocket_sessions=50 +read_buffer_size=4096 +write_buffer_size=4096 +[logging] +console_log_level="info" +file_log_level="warn" +log_file="" diff --git a/net_test/data/net_test_0/config.toml b/net_test/data/net_test_0/config.toml new file mode 100644 index 00000000..1a55f510 --- /dev/null +++ b/net_test/data/net_test_0/config.toml @@ -0,0 +1,11 @@ +# This is a TOML config file. +# For more information, see https://github.com/toml-lang/toml + +moniker = "golden_goose" +skip_upnp = true +node_laddr = "0.0.0.0:46656" +seeds = "104.236.45.149:46656" +fast_sync = false +db_backend = "leveldb" +log_level = "debug" +rpc_laddr = "0.0.0.0:46657" diff --git a/net_test/data/net_test_0/genesis.json b/net_test/data/net_test_0/genesis.json new file mode 100644 index 00000000..2beb2e0e --- /dev/null +++ b/net_test/data/net_test_0/genesis.json @@ -0,0 +1,113 @@ +{ + "genesis_time": "2016-02-25T02:52:00.489Z", + "chain_id": "net_test", + "params": null, + "accounts": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + } + ], + "validators": [ + { + "pub_key": [ + 1, + "520FD1AF439F68F977E5F8AEA9F6BF6FB041CD7E3640095C5838F4CFC9CD5599" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "5A195121671DD5D06E57A53FE4165F83E3779C270837A06CA69A9142C893F3B0" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "7571290A33CFAE246136818BF20BE9719FEDA162D2588F8B54AC2ED27F8FFEC7" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "053FFACC3B1F8AD855538E7B9F8E6EE8661C8170C6E159706654E5BF7F42FEFA" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 1000 + } + ] + } + ] +} \ No newline at end of file diff --git a/net_test/data/net_test_0/init.sh b/net_test/data/net_test_0/init.sh new file mode 100755 index 00000000..28c329fe --- /dev/null +++ b/net_test/data/net_test_0/init.sh @@ -0,0 +1,12 @@ +#! /bin/bash +# this script installs and runs erisdb, because we don't have patience for docker + +BRANCH="fixes" + +go get -d github.com/eris-ltd/eris-db +cd $GOPATH/src/github.com/eris-ltd/eris-db +git fetch origin $BRANCH +git checkout $BRANCH +go install ./cmd/erisdb + +erisdb $TMROOT # should be exposed by docker file diff --git a/net_test/data/net_test_0/priv_validator.json b/net_test/data/net_test_0/priv_validator.json new file mode 100644 index 00000000..e87e5441 --- /dev/null +++ b/net_test/data/net_test_0/priv_validator.json @@ -0,0 +1 @@ +{"address":"0A73F65F86271552C4858091D3DADFE3335B9272","pub_key":[1,"053FFACC3B1F8AD855538E7B9F8E6EE8661C8170C6E159706654E5BF7F42FEFA"],"last_height":0,"last_round":0,"last_step":0,"priv_key":[1,"327E2C108827404E20686BED8A3110D8EC54B3D725430C2B0D0D461699EB8FFC053FFACC3B1F8AD855538E7B9F8E6EE8661C8170C6E159706654E5BF7F42FEFA"]} \ No newline at end of file diff --git a/net_test/data/net_test_0/server_conf.toml b/net_test/data/net_test_0/server_conf.toml new file mode 100644 index 00000000..e1fa0645 --- /dev/null +++ b/net_test/data/net_test_0/server_conf.toml @@ -0,0 +1,26 @@ +[bind] +address="" +port=1337 +[TLS] +tls=false +cert_path="" +key_path="" +[CORS] +enable=false +allow_origins=[] +allow_credentials=false +allow_methods=[] +allow_headers=[] +expose_headers=[] +max_age=0 +[HTTP] +json_rpc_endpoint="/rpc" +[web_socket] +websocket_endpoint="/socketrpc" +max_websocket_sessions=50 +read_buffer_size=4096 +write_buffer_size=4096 +[logging] +console_log_level="info" +file_log_level="warn" +log_file="" diff --git a/net_test/data/net_test_1/config.toml b/net_test/data/net_test_1/config.toml new file mode 100644 index 00000000..1a55f510 --- /dev/null +++ b/net_test/data/net_test_1/config.toml @@ -0,0 +1,11 @@ +# This is a TOML config file. +# For more information, see https://github.com/toml-lang/toml + +moniker = "golden_goose" +skip_upnp = true +node_laddr = "0.0.0.0:46656" +seeds = "104.236.45.149:46656" +fast_sync = false +db_backend = "leveldb" +log_level = "debug" +rpc_laddr = "0.0.0.0:46657" diff --git a/net_test/data/net_test_1/genesis.json b/net_test/data/net_test_1/genesis.json new file mode 100644 index 00000000..2beb2e0e --- /dev/null +++ b/net_test/data/net_test_1/genesis.json @@ -0,0 +1,113 @@ +{ + "genesis_time": "2016-02-25T02:52:00.489Z", + "chain_id": "net_test", + "params": null, + "accounts": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + } + ], + "validators": [ + { + "pub_key": [ + 1, + "520FD1AF439F68F977E5F8AEA9F6BF6FB041CD7E3640095C5838F4CFC9CD5599" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "5A195121671DD5D06E57A53FE4165F83E3779C270837A06CA69A9142C893F3B0" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "7571290A33CFAE246136818BF20BE9719FEDA162D2588F8B54AC2ED27F8FFEC7" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "053FFACC3B1F8AD855538E7B9F8E6EE8661C8170C6E159706654E5BF7F42FEFA" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 1000 + } + ] + } + ] +} \ No newline at end of file diff --git a/net_test/data/net_test_1/init.sh b/net_test/data/net_test_1/init.sh new file mode 100755 index 00000000..28c329fe --- /dev/null +++ b/net_test/data/net_test_1/init.sh @@ -0,0 +1,12 @@ +#! /bin/bash +# this script installs and runs erisdb, because we don't have patience for docker + +BRANCH="fixes" + +go get -d github.com/eris-ltd/eris-db +cd $GOPATH/src/github.com/eris-ltd/eris-db +git fetch origin $BRANCH +git checkout $BRANCH +go install ./cmd/erisdb + +erisdb $TMROOT # should be exposed by docker file diff --git a/net_test/data/net_test_1/priv_validator.json b/net_test/data/net_test_1/priv_validator.json new file mode 100644 index 00000000..537f39f7 --- /dev/null +++ b/net_test/data/net_test_1/priv_validator.json @@ -0,0 +1 @@ +{"address":"3BF0230BFE5CFB2C4609EE6893137A08A0353FCF","pub_key":[1,"5A195121671DD5D06E57A53FE4165F83E3779C270837A06CA69A9142C893F3B0"],"priv_key":[1,"B5811A4DB066E77EB3F87DD28ADC9A55DC4816DA648898B75BBCCEC4652D207B5A195121671DD5D06E57A53FE4165F83E3779C270837A06CA69A9142C893F3B0"],"last_height":0,"last_round":0,"last_step":0} \ No newline at end of file diff --git a/net_test/data/net_test_2/config.toml b/net_test/data/net_test_2/config.toml new file mode 100644 index 00000000..1a55f510 --- /dev/null +++ b/net_test/data/net_test_2/config.toml @@ -0,0 +1,11 @@ +# This is a TOML config file. +# For more information, see https://github.com/toml-lang/toml + +moniker = "golden_goose" +skip_upnp = true +node_laddr = "0.0.0.0:46656" +seeds = "104.236.45.149:46656" +fast_sync = false +db_backend = "leveldb" +log_level = "debug" +rpc_laddr = "0.0.0.0:46657" diff --git a/net_test/data/net_test_2/genesis.json b/net_test/data/net_test_2/genesis.json new file mode 100644 index 00000000..2beb2e0e --- /dev/null +++ b/net_test/data/net_test_2/genesis.json @@ -0,0 +1,113 @@ +{ + "genesis_time": "2016-02-25T02:52:00.489Z", + "chain_id": "net_test", + "params": null, + "accounts": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + } + ], + "validators": [ + { + "pub_key": [ + 1, + "520FD1AF439F68F977E5F8AEA9F6BF6FB041CD7E3640095C5838F4CFC9CD5599" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "5A195121671DD5D06E57A53FE4165F83E3779C270837A06CA69A9142C893F3B0" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "7571290A33CFAE246136818BF20BE9719FEDA162D2588F8B54AC2ED27F8FFEC7" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "053FFACC3B1F8AD855538E7B9F8E6EE8661C8170C6E159706654E5BF7F42FEFA" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 1000 + } + ] + } + ] +} \ No newline at end of file diff --git a/net_test/data/net_test_2/init.sh b/net_test/data/net_test_2/init.sh new file mode 100755 index 00000000..28c329fe --- /dev/null +++ b/net_test/data/net_test_2/init.sh @@ -0,0 +1,12 @@ +#! /bin/bash +# this script installs and runs erisdb, because we don't have patience for docker + +BRANCH="fixes" + +go get -d github.com/eris-ltd/eris-db +cd $GOPATH/src/github.com/eris-ltd/eris-db +git fetch origin $BRANCH +git checkout $BRANCH +go install ./cmd/erisdb + +erisdb $TMROOT # should be exposed by docker file diff --git a/net_test/data/net_test_2/priv_validator.json b/net_test/data/net_test_2/priv_validator.json new file mode 100644 index 00000000..7fee99d4 --- /dev/null +++ b/net_test/data/net_test_2/priv_validator.json @@ -0,0 +1 @@ +{"address":"6C76BECAE4692F0E44DD780C91CDF2188658B871","pub_key":[1,"7571290A33CFAE246136818BF20BE9719FEDA162D2588F8B54AC2ED27F8FFEC7"],"priv_key":[1,"35D9F61882E5E71DBE8E241EE39C0BEE5AFBEB85FF1D2D1D331D4849E4C802AA7571290A33CFAE246136818BF20BE9719FEDA162D2588F8B54AC2ED27F8FFEC7"],"last_height":0,"last_round":0,"last_step":0} \ No newline at end of file diff --git a/net_test/data/net_test_3/config.toml b/net_test/data/net_test_3/config.toml new file mode 100644 index 00000000..1a55f510 --- /dev/null +++ b/net_test/data/net_test_3/config.toml @@ -0,0 +1,11 @@ +# This is a TOML config file. +# For more information, see https://github.com/toml-lang/toml + +moniker = "golden_goose" +skip_upnp = true +node_laddr = "0.0.0.0:46656" +seeds = "104.236.45.149:46656" +fast_sync = false +db_backend = "leveldb" +log_level = "debug" +rpc_laddr = "0.0.0.0:46657" diff --git a/net_test/data/net_test_3/genesis.json b/net_test/data/net_test_3/genesis.json new file mode 100644 index 00000000..2beb2e0e --- /dev/null +++ b/net_test/data/net_test_3/genesis.json @@ -0,0 +1,113 @@ +{ + "genesis_time": "2016-02-25T02:52:00.489Z", + "chain_id": "net_test", + "params": null, + "accounts": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + }, + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 2251799813685248, + "name": "", + "permissions": { + "base": { + "perms": 2302, + "set": 2302 + }, + "roles": [] + } + } + ], + "validators": [ + { + "pub_key": [ + 1, + "520FD1AF439F68F977E5F8AEA9F6BF6FB041CD7E3640095C5838F4CFC9CD5599" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "5A195121671DD5D06E57A53FE4165F83E3779C270837A06CA69A9142C893F3B0" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "3BF0230BFE5CFB2C4609EE6893137A08A0353FCF", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "7571290A33CFAE246136818BF20BE9719FEDA162D2588F8B54AC2ED27F8FFEC7" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "6C76BECAE4692F0E44DD780C91CDF2188658B871", + "amount": 1000 + } + ] + }, + { + "pub_key": [ + 1, + "053FFACC3B1F8AD855538E7B9F8E6EE8661C8170C6E159706654E5BF7F42FEFA" + ], + "amount": 1000, + "name": "", + "unbond_to": [ + { + "address": "0A73F65F86271552C4858091D3DADFE3335B9272", + "amount": 1000 + } + ] + } + ] +} \ No newline at end of file diff --git a/net_test/data/net_test_3/init.sh b/net_test/data/net_test_3/init.sh new file mode 100755 index 00000000..28c329fe --- /dev/null +++ b/net_test/data/net_test_3/init.sh @@ -0,0 +1,12 @@ +#! /bin/bash +# this script installs and runs erisdb, because we don't have patience for docker + +BRANCH="fixes" + +go get -d github.com/eris-ltd/eris-db +cd $GOPATH/src/github.com/eris-ltd/eris-db +git fetch origin $BRANCH +git checkout $BRANCH +go install ./cmd/erisdb + +erisdb $TMROOT # should be exposed by docker file diff --git a/net_test/data/net_test_3/priv_validator.json b/net_test/data/net_test_3/priv_validator.json new file mode 100644 index 00000000..620c8f80 --- /dev/null +++ b/net_test/data/net_test_3/priv_validator.json @@ -0,0 +1 @@ +{"address":"BC7721F9DBBDDEFE3384FABB7F0EBDE7A599BCF6","pub_key":[1,"520FD1AF439F68F977E5F8AEA9F6BF6FB041CD7E3640095C5838F4CFC9CD5599"],"priv_key":[1,"640AA03CB926DAF8B4D54FCAA289976AD724AB1A95A456E65B1EA8B465FC4BAB520FD1AF439F68F977E5F8AEA9F6BF6FB041CD7E3640095C5838F4CFC9CD5599"],"last_height":0,"last_round":0,"last_step":0} \ No newline at end of file diff --git a/net_test/dev/Dockerfile b/net_test/dev/Dockerfile new file mode 100644 index 00000000..0973d7e7 --- /dev/null +++ b/net_test/dev/Dockerfile @@ -0,0 +1,16 @@ +# Pull base image. +# NOTE: to use this Dockerfile, mount the chain data, including an init.sh, to /home/eris/data +FROM quay.io/eris/base + + +ENV TMROOT /home/$USER/data +WORKDIR $TMROOT +RUN chown -R $USER:$USER $TMROOT + +# ports: 1337:eris-db API; 46656:mint-peer; 46657:mint-rpc +EXPOSE 1337 +EXPOSE 46656 +EXPOSE 46657 + +# Run tendermint +CMD ["./init.sh"] # diff --git a/net_test/dev/data.sh b/net_test/dev/data.sh new file mode 100644 index 00000000..e145e900 --- /dev/null +++ b/net_test/dev/data.sh @@ -0,0 +1,32 @@ +#! /bin/bash + + +MACH="mempool" +NAME="net_test" +N=4 + +SEED=$(docker-machine ip ${MACH}1):46656 +echo "seed node:" $SEED + +# copy data to remotes +for i in `seq 0 $((N-1))`; +do + + dataI=$i + machI=$((i+1)) + + # lay the config with the seed for this session + mintconfig --skip-upnp --seeds=$SEED > ./data/${NAME}_$dataI/config.toml + + # copy the startup bash script into the data ... + cp ./data/init.sh ./data/${NAME}_$dataI/init.sh + + # clear and copy the node data + docker-machine ssh ${MACH}$machI rm -rf $NAME + docker-machine scp -r ./data/${NAME}_$dataI ${MACH}$machI:$NAME + + # docker-machine ssh ${MACH}$machI ls $NAME + echo "###############" +done + + diff --git a/net_test/dev/local.sh b/net_test/dev/local.sh new file mode 100644 index 00000000..c93bb5dd --- /dev/null +++ b/net_test/dev/local.sh @@ -0,0 +1,13 @@ +#! /bin/bash +set -e + +MACH="mempool" +NAME="net_test" + +TMROOT=data/local + +# run a local erisdb node +erisdb $TMROOT &> erisdb.log & + +# set up eris-keys +# eris-keys server & diff --git a/net_test/dev/rm.sh b/net_test/dev/rm.sh new file mode 100644 index 00000000..d0847b80 --- /dev/null +++ b/net_test/dev/rm.sh @@ -0,0 +1,14 @@ +#! /bin/bash +set -e + +MACH="mempool" +NAME="net_test" +N=4 + +# run the erisdb on each node +for i in `seq 1 $N`; +do + docker-machine ssh ${MACH}$i docker rm -vf \$\(docker ps -aq\) + echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" + echo " " +done diff --git a/net_test/dev/run.sh b/net_test/dev/run.sh new file mode 100644 index 00000000..5ed9e9ed --- /dev/null +++ b/net_test/dev/run.sh @@ -0,0 +1,17 @@ +#! /bin/bash +set -e + +MACH="mempool" +NAME="net_test" +N=4 + +# run the erisdb on each node +for i in `seq 1 $N`; +do + dataI=$((i-1)) + machI=$i + + docker-machine ssh ${MACH}$machI docker run --name erisdb -d -p 46656-46657:46656-46657 -p 1337:1337 -v \$\(pwd\)/net_test:/home/eris/data quay.io/eris/erisdb-dev & + echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" + echo " " +done diff --git a/net_test/dev/test.sh b/net_test/dev/test.sh new file mode 100644 index 00000000..f5324e87 --- /dev/null +++ b/net_test/dev/test.sh @@ -0,0 +1,10 @@ +#! /bin/bash +set -e + +NAME="net_test" + +ADDR=`mintkey eris data/${NAME}_0/priv_validator.json` +MINTX_PUBKEY="" +echo $ADDR + +mintx send --to=1A73F65F86271552C4858091D3DADFE3335B9273 --addr=$ADDR --amt=1 --sign --broadcast --log=6 --chainID=$NAME diff --git a/net_test/setup.sh b/net_test/setup.sh new file mode 100644 index 00000000..165883a5 --- /dev/null +++ b/net_test/setup.sh @@ -0,0 +1,29 @@ +#! /bin/bash + +MACH="mempool" +NAME="net_test" +N=4 + +SEED=$(docker-machine ip ${MACH}1):46656 +echo "seed node:" $SEED + +# run the erisdb on each node +for i in `seq 1 $N`; +do + dataI=$((i-1)) + machI=$i + + # lay the config with the seed for this session + mintconfig --skip-upnp --seeds=$SEED > ./data/${NAME}_$dataI/config.toml + + eris --machine ${MACH}$machI chains new --dir $(pwd)/data/${NAME}_$dataI $NAME + + echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" + echo " " +done + + +# start the local proxy +mintconfig --skip-upnp --seeds=$SEED > ./data/local/config.toml +cp -r ./data/local ./data/local_data # so we don't contaminate the real dir +eris chains new --dir $(pwd)/data/local_data $NAME diff --git a/net_test/test.sh b/net_test/test.sh new file mode 100644 index 00000000..553e62b2 --- /dev/null +++ b/net_test/test.sh @@ -0,0 +1,39 @@ +#! /bin/bash +set -e + +NAME="net_test" + +ADDR=`mintkey eris data/${NAME}_0/priv_validator.json` +MINTX_PUBKEY="" +echo $ADDR + +TO=1A73F65F86271552C4858091D3DADFE3335B9273 + +set +e +START_BALANCE=`mintinfo accounts $TO` +if [[ "$?" == 1 ]]; then + START_BALANCE=0 + +else + START_BALANCE=`echo $START_BALANCE | jq .balance` +fi +set -e + +N=10 +for i in `seq 1 $N`; do + mintx send --to=$TO --addr=$ADDR --amt=1 --sign --broadcast --chainID=$NAME +done +mintx send --to=$TO --addr=$ADDR --amt=1 --sign --broadcast --chainID=$NAME --log=6 --wait + +END_BALANCE=`mintinfo accounts $TO | jq .balance` + +DIFF_BALANCE=$((${END_BALANCE}-${START_BALANCE})) + +if [[ "$DIFF_BALANCE" != $(($N+1)) ]]; then + echo "Failed! Expected $((N+1)), got $DIFF_BALANCE" + exit 1 +fi + +echo "PASS" + + -- GitLab