├── .gitignore ├── README.md ├── STATUS.md ├── basecoind-demo-relay ├── basecoindversion.txt └── config │ ├── config.toml │ └── genesis.json ├── basecoind-demo1 ├── basecoindversion.txt └── config │ ├── config.toml │ └── genesis.json ├── basecoind-demo2 ├── basecoindversion.txt └── config │ ├── config.toml │ └── genesis.json ├── dev-1-neb └── gaia │ ├── config.toml │ ├── gaiaversion.txt │ ├── genesis.json │ └── tendermintversion.txt ├── digital_ocean.py ├── ec2.ini ├── ec2.py ├── extract-testnet-config.yml ├── gaia-2 └── gaia │ ├── config.toml │ ├── gaiaversion.txt │ ├── genesis.json │ └── tendermintversion.txt ├── gaia-3-dev ├── config │ ├── config.toml │ └── genesis.json └── gaiaversion.txt ├── gaia-3000 └── gaia │ ├── config.toml │ ├── gaiaversion.txt │ ├── genesis.json │ └── tendermintversion.txt ├── gaia-3001 └── gaia │ ├── config.toml │ ├── gaiaversion.txt │ ├── genesis.json │ └── tendermintversion.txt ├── gaia-3002 └── gaia │ ├── config.toml │ ├── gaiaversion.txt │ ├── genesis.json │ └── tendermintversion.txt ├── gaia-3003 └── gaia │ ├── config.toml │ └── genesis.json ├── gaia-3005 └── gaia │ ├── config.toml │ └── genesis.json ├── gaia-3006 └── gaia │ ├── config.toml │ └── genesis.json ├── gaia-3007 └── gaia │ ├── config.toml │ └── genesis.json ├── gaia-4000 ├── config.toml └── genesis.json ├── nimbus-2000 ├── config.toml └── nimbus-2000.json ├── scripts ├── chainsetup │ ├── README.md │ ├── environment.yaml │ ├── generate-config.py │ ├── generate-genesis.py │ ├── prepare-genesis-inclusion-requests.py │ └── requirements.txt ├── mercury-hermes-1.sh └── testnet-setup.sh ├── test-chain-C1NpdI ├── config.toml └── genesis.json └── venus ├── ethermint └── genesis.json └── tendermint ├── config.toml └── genesis.json /.gitignore: -------------------------------------------------------------------------------- 1 | hermes-basecoin.log 2 | hermes-tendermint.log 3 | mercury-basecoin.log 4 | mercury-tendermint.log 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Testnets 2 | 3 | This repository contains directories with the files required to join an identically named testnet. 4 | 5 | See the links below for documentation on joining a public - or creating a local - testnet. 6 | 7 | * [deploy tendermint testnets](http://tendermint.readthedocs.io/en/master/deploy-testnets.html) 8 | * [join ethermint testnet](http://ethermint.readthedocs.io/en/develop/testnets/venus.html) 9 | * [join/create gaia testnet](http://cosmos-sdk.readthedocs.io/en/develop/staking/intro.html) 10 | -------------------------------------------------------------------------------- /STATUS.md: -------------------------------------------------------------------------------- 1 | TESTNET STATUS 2 | 3 | *May 31, 2018, 14:00 EST* - New Release 4 | 5 | - Released gaia 6 | [v0.17.4](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.17.4) with update for Tendermint v0.19.7 7 | - Fixes a WAL bug and some more 8 | - Please update to this if you have trouble restarting a node 9 | 10 | *May 31, 2018, 2:00 EST* - Testnet Halt 11 | 12 | - A validator equivocated last week and Evidence is being rampantly gossipped 13 | - Peers that can't process the evidence (either too far behind or too far ahead) are disconnecting from the peers that 14 | sent it, causing high peer turn-over 15 | - The high peer turn-over may be causing a memory-leak, resulting in some nodes 16 | crashing and the testnet halting 17 | - We need to fix some issues in the EvidenceReactor to address this and also 18 | investigate the possible memory-leak 19 | 20 | *May 29, 2018* - New Release 21 | 22 | - Released v0.17.3 with update for Tendermint v0.19.6 23 | - Fixes fast-sync bug 24 | - Please update to this to sync with the testnet 25 | -------------------------------------------------------------------------------- /basecoind-demo-relay/basecoindversion.txt: -------------------------------------------------------------------------------- 1 | 0.13.1 -------------------------------------------------------------------------------- /basecoind-demo-relay/config/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | ##### main base config options ##### 5 | 6 | # TCP or UNIX socket address of the ABCI application, 7 | # or the name of an ABCI application compiled in with the Tendermint binary 8 | proxy_app = "tcp://127.0.0.1:46658" 9 | 10 | # A custom human readable name for this node 11 | moniker = "198.211.118.27" 12 | 13 | # If this node is many blocks behind the tip of the chain, FastSync 14 | # allows them to catchup quickly by downloading blocks in parallel 15 | # and verifying their commits 16 | fast_sync = true 17 | 18 | 19 | # Database backend: leveldb | memdb 20 | db_backend = "leveldb" 21 | 22 | # Database directory 23 | db_path = "data" 24 | 25 | # Output level for logging, including package level options 26 | log_level = "main:info,state:info,*:error" 27 | #log_level = "mempool:error,*:debug" 28 | 29 | 30 | ##### additional base config options ##### 31 | 32 | # Path to the JSON file containing the initial validator set and other meta data 33 | genesis_file = "config/genesis.json" 34 | 35 | # Path to the JSON file containing the private key to use as a validator in the consensus protocol 36 | priv_validator_file = "config/priv_validator.json" 37 | 38 | # Path to the JSON file containing the private key to use for node authentication in the p2p protocol 39 | node_key_file = "config/node_key.json" 40 | 41 | # Mechanism to connect to the ABCI application: socket | grpc 42 | abci = "socket" 43 | 44 | # TCP or UNIX socket address for the profiling server to listen on 45 | prof_laddr = "" 46 | 47 | # If true, query the ABCI app on connecting to a new peer 48 | # so the app can decide if we should keep the connection or not 49 | filter_peers = false 50 | 51 | ##### advanced configuration options ##### 52 | 53 | ##### rpc server configuration options ##### 54 | [rpc] 55 | 56 | # TCP or UNIX socket address for the RPC server to listen on 57 | laddr = "tcp://0.0.0.0:46657" 58 | 59 | # TCP or UNIX socket address for the gRPC server to listen on 60 | # NOTE: This server only supports /broadcast_tx_commit 61 | grpc_laddr = "" 62 | 63 | # Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool 64 | unsafe = false 65 | 66 | ##### peer to peer configuration options ##### 67 | [p2p] 68 | 69 | # Address to listen for incoming connections 70 | laddr = "tcp://0.0.0.0:46656" 71 | 72 | # Comma separated list of seed nodes to connect to 73 | seeds = "" 74 | 75 | # Comma separated list of nodes to keep persistent connections to 76 | persistent_peers = "" 77 | 78 | # Path to address book 79 | addr_book_file = "config/addrbook.json" 80 | 81 | # Set true for strict address routability rules 82 | addr_book_strict = true 83 | 84 | # Time to wait before flushing messages out on the connection, in ms 85 | flush_throttle_timeout = 100 86 | 87 | # Maximum number of peers to connect to 88 | #max_num_peers = 50 89 | max_num_peers = 300 90 | 91 | # Maximum size of a message packet payload, in bytes 92 | max_msg_packet_payload_size = 1024 93 | 94 | # Rate at which packets can be sent, in bytes/second 95 | send_rate = 512000 96 | 97 | # Rate at which packets can be received, in bytes/second 98 | recv_rate = 512000 99 | 100 | # Set true to enable the peer-exchange reactor 101 | pex = true 102 | 103 | # Seed mode, in which node constantly crawls the network and looks for 104 | # peers. If another node asks it for addresses, it responds and disconnects. 105 | # 106 | # Does not work if the peer-exchange reactor is disabled. 107 | seed_mode = false 108 | 109 | ##### mempool configuration options ##### 110 | [mempool] 111 | 112 | recheck = true 113 | recheck_empty = true 114 | broadcast = true 115 | wal_dir = "data/mempool.wal" 116 | 117 | ##### consensus configuration options ##### 118 | [consensus] 119 | 120 | wal_file = "data/cs.wal/wal" 121 | wal_light = false 122 | 123 | # All timeouts are in milliseconds 124 | timeout_propose = 3000 125 | timeout_propose_delta = 500 126 | timeout_prevote = 1000 127 | timeout_prevote_delta = 500 128 | timeout_precommit = 1000 129 | timeout_precommit_delta = 500 130 | timeout_commit = 1000 131 | 132 | # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) 133 | skip_timeout_commit = false 134 | 135 | # BlockSize 136 | max_block_size_txs = 10000 137 | max_block_size_bytes = 1 138 | 139 | # EmptyBlocks mode and possible interval between empty blocks in seconds 140 | create_empty_blocks = true 141 | create_empty_blocks_interval = 60 142 | 143 | # Reactor sleep duration parameters are in milliseconds 144 | peer_gossip_sleep_duration = 100 145 | peer_query_maj23_sleep_duration = 2000 146 | 147 | ##### transactions indexer configuration options ##### 148 | [tx_index] 149 | 150 | # What indexer to use for transactions 151 | # 152 | # Options: 153 | # 1) "null" (default) 154 | # 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). 155 | indexer = "kv" 156 | 157 | # Comma-separated list of tags to index (by default the only tag is tx hash) 158 | # 159 | # It's recommended to index only a subset of tags due to possible memory 160 | # bloat. This is, of course, depends on the indexer's DB and the volume of 161 | # transactions. 162 | index_tags = "" 163 | 164 | # When set to true, tells indexer to index all tags. Note this may be not 165 | # desirable (see the comment above). IndexTags has a precedence over 166 | # IndexAllTags (i.e. when given both, IndexTags will be indexed). 167 | index_all_tags = false 168 | 169 | -------------------------------------------------------------------------------- /basecoind-demo-relay/config/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time":"2018-04-06T13:45:34Z", 3 | "chain_id":"basecoind-demo-relay", 4 | "validators": 5 | [ 6 | 7 | { 8 | "pub_key": { 9 | "data": "94A7783E548E4C8863030740E7D7C03879F888CDA3C319DC7426E00F032B437C", 10 | "type": "ed25519" 11 | }, 12 | "power":1000, 13 | "name":"198.211.118.27" 14 | } 15 | ], 16 | "app_hash":"", 17 | "app_state": { 18 | "accounts": [ 19 | { 20 | "name": "greg", 21 | "address": "42960119BC3D724F6FA0E2883C0DCF550C59D1B2", 22 | "coins": [ 23 | { 24 | "denom": "fermion", 25 | "amount": 1000000 26 | }, 27 | { 28 | "denom": "gregcoin", 29 | "amount": 1000 30 | } 31 | ] 32 | }, 33 | { 34 | "name": "bucky", 35 | "address": "5CAFE3CD0FEE7A5DD98B366B19A201D428A79FB6", 36 | "coins": [ 37 | { 38 | "denom": "fermion", 39 | "amount": 10000 40 | }, 41 | { 42 | "denom": "buckycoin", 43 | "amount": 1000 44 | } 45 | ] 46 | }, 47 | { 48 | "name": "fabo", 49 | "address": "9C145AAAE1E7AD8735BC1B2173B092CEF6FD8557", 50 | "coins": [ 51 | { 52 | "denom": "fermion", 53 | "amount": 100 54 | }, 55 | { 56 | "denom": "fabocoin", 57 | "amount": 1000 58 | } 59 | ] 60 | }, 61 | { 62 | "name": "mattbell", 63 | "address": "0644CF5459E6A9C43B3EC02D9DEB6DE1620BBE9A", 64 | "coins": [ 65 | { 66 | "denom": "fermion", 67 | "amount": 100 68 | }, 69 | { 70 | "denom": "tokenmatt", 71 | "amount": 1000 72 | } 73 | ] 74 | }, 75 | { 76 | "name": "mattbell", 77 | "address": "0644CF5459E6A9C43B3EC02D9DEB6DE1620BBE9A", 78 | "coins": [ 79 | { 80 | "denom": "fermion", 81 | "amount": 100 82 | }, 83 | { 84 | "denom": "tokenmatt", 85 | "amount": 1000 86 | } 87 | ] 88 | }, 89 | { 90 | "name": "fabo", 91 | "address": "527E2333EF0B6E5FFB6E62FFA68B3707E08F2286", 92 | "coins": [ 93 | { 94 | "denom": "fermion", 95 | "amount": 100 96 | }, 97 | { 98 | "denom": "tokenfabo", 99 | "amount": 1000 100 | } 101 | ] 102 | } 103 | ], 104 | "plugin_options": [ 105 | "coin/issuer", {"app": "sigs", "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6"} 106 | ] } 107 | } 108 | -------------------------------------------------------------------------------- /basecoind-demo1/basecoindversion.txt: -------------------------------------------------------------------------------- 1 | 0.13.1 -------------------------------------------------------------------------------- /basecoind-demo1/config/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | ##### main base config options ##### 5 | 6 | # TCP or UNIX socket address of the ABCI application, 7 | # or the name of an ABCI application compiled in with the Tendermint binary 8 | proxy_app = "tcp://127.0.0.1:46658" 9 | 10 | # A custom human readable name for this node 11 | moniker = "198.211.121.7" 12 | 13 | # If this node is many blocks behind the tip of the chain, FastSync 14 | # allows them to catchup quickly by downloading blocks in parallel 15 | # and verifying their commits 16 | fast_sync = true 17 | 18 | 19 | # Database backend: leveldb | memdb 20 | db_backend = "leveldb" 21 | 22 | # Database directory 23 | db_path = "data" 24 | 25 | # Output level for logging, including package level options 26 | log_level = "main:info,state:info,*:error" 27 | #log_level = "mempool:error,*:debug" 28 | 29 | 30 | ##### additional base config options ##### 31 | 32 | # Path to the JSON file containing the initial validator set and other meta data 33 | genesis_file = "config/genesis.json" 34 | 35 | # Path to the JSON file containing the private key to use as a validator in the consensus protocol 36 | priv_validator_file = "config/priv_validator.json" 37 | 38 | # Path to the JSON file containing the private key to use for node authentication in the p2p protocol 39 | node_key_file = "config/node_key.json" 40 | 41 | # Mechanism to connect to the ABCI application: socket | grpc 42 | abci = "socket" 43 | 44 | # TCP or UNIX socket address for the profiling server to listen on 45 | prof_laddr = "" 46 | 47 | # If true, query the ABCI app on connecting to a new peer 48 | # so the app can decide if we should keep the connection or not 49 | filter_peers = false 50 | 51 | ##### advanced configuration options ##### 52 | 53 | ##### rpc server configuration options ##### 54 | [rpc] 55 | 56 | # TCP or UNIX socket address for the RPC server to listen on 57 | laddr = "tcp://0.0.0.0:46657" 58 | 59 | # TCP or UNIX socket address for the gRPC server to listen on 60 | # NOTE: This server only supports /broadcast_tx_commit 61 | grpc_laddr = "" 62 | 63 | # Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool 64 | unsafe = false 65 | 66 | ##### peer to peer configuration options ##### 67 | [p2p] 68 | 69 | # Address to listen for incoming connections 70 | laddr = "tcp://0.0.0.0:46656" 71 | 72 | # Comma separated list of seed nodes to connect to 73 | seeds = "" 74 | 75 | # Comma separated list of nodes to keep persistent connections to 76 | persistent_peers = "05bd123e6de6aab880ac0ccf0a62f702a70f540b@167.99.81.239:46656,1a9a4be1701d3ee65e6cffe6650b45f50d3f3368@46.101.160.120:46656,a11e53791e8709737d4e0f3beeaad17c482add45@104.131.186.150:46656" 77 | 78 | # Path to address book 79 | addr_book_file = "config/addrbook.json" 80 | 81 | # Set true for strict address routability rules 82 | addr_book_strict = true 83 | 84 | # Time to wait before flushing messages out on the connection, in ms 85 | flush_throttle_timeout = 100 86 | 87 | # Maximum number of peers to connect to 88 | #max_num_peers = 50 89 | max_num_peers = 300 90 | 91 | # Maximum size of a message packet payload, in bytes 92 | max_msg_packet_payload_size = 1024 93 | 94 | # Rate at which packets can be sent, in bytes/second 95 | send_rate = 512000 96 | 97 | # Rate at which packets can be received, in bytes/second 98 | recv_rate = 512000 99 | 100 | # Set true to enable the peer-exchange reactor 101 | pex = true 102 | 103 | # Seed mode, in which node constantly crawls the network and looks for 104 | # peers. If another node asks it for addresses, it responds and disconnects. 105 | # 106 | # Does not work if the peer-exchange reactor is disabled. 107 | seed_mode = false 108 | 109 | ##### mempool configuration options ##### 110 | [mempool] 111 | 112 | recheck = true 113 | recheck_empty = true 114 | broadcast = true 115 | wal_dir = "data/mempool.wal" 116 | 117 | ##### consensus configuration options ##### 118 | [consensus] 119 | 120 | wal_file = "data/cs.wal/wal" 121 | wal_light = false 122 | 123 | # All timeouts are in milliseconds 124 | timeout_propose = 3000 125 | timeout_propose_delta = 500 126 | timeout_prevote = 1000 127 | timeout_prevote_delta = 500 128 | timeout_precommit = 1000 129 | timeout_precommit_delta = 500 130 | timeout_commit = 1000 131 | 132 | # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) 133 | skip_timeout_commit = false 134 | 135 | # BlockSize 136 | max_block_size_txs = 10000 137 | max_block_size_bytes = 1 138 | 139 | # EmptyBlocks mode and possible interval between empty blocks in seconds 140 | create_empty_blocks = true 141 | create_empty_blocks_interval = 60 142 | 143 | # Reactor sleep duration parameters are in milliseconds 144 | peer_gossip_sleep_duration = 100 145 | peer_query_maj23_sleep_duration = 2000 146 | 147 | ##### transactions indexer configuration options ##### 148 | [tx_index] 149 | 150 | # What indexer to use for transactions 151 | # 152 | # Options: 153 | # 1) "null" (default) 154 | # 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). 155 | indexer = "kv" 156 | 157 | # Comma-separated list of tags to index (by default the only tag is tx hash) 158 | # 159 | # It's recommended to index only a subset of tags due to possible memory 160 | # bloat. This is, of course, depends on the indexer's DB and the volume of 161 | # transactions. 162 | index_tags = "" 163 | 164 | # When set to true, tells indexer to index all tags. Note this may be not 165 | # desirable (see the comment above). IndexTags has a precedence over 166 | # IndexAllTags (i.e. when given both, IndexTags will be indexed). 167 | index_all_tags = false 168 | 169 | -------------------------------------------------------------------------------- /basecoind-demo1/config/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time":"2018-04-06T02:52:15Z", 3 | "chain_id":"basecoind-demo1", 4 | "validators": 5 | [ 6 | 7 | { 8 | "pub_key": { 9 | "data": "019392B7BEBA8C8A39543F81A68BC559838DA7E6A7186865DE47AFC91B8DFD6B", 10 | "type": "ed25519" 11 | }, 12 | "power":1000, 13 | "name":"198.211.121.7" 14 | } 15 | , 16 | { 17 | "pub_key": { 18 | "data": "C969EC564AC1E807F1196FA8F12AF176FA197218F00B22C57ABE155635B80922", 19 | "type": "ed25519" 20 | }, 21 | "power":1000, 22 | "name":"167.99.81.239" 23 | } 24 | , 25 | { 26 | "pub_key": { 27 | "data": "57BBC00EDAE3D23972495E06F5CD4AEE02954BA5DC4326812131436FD60CF458", 28 | "type": "ed25519" 29 | }, 30 | "power":1000, 31 | "name":"46.101.160.120" 32 | } 33 | , 34 | { 35 | "pub_key": { 36 | "data": "8D086669A5F0C8F23EE3B9B2575064A60583A9A295C7FCAD1B1A0FA340199714", 37 | "type": "ed25519" 38 | }, 39 | "power":1000, 40 | "name":"104.131.186.150" 41 | } 42 | ], 43 | "app_hash":"", 44 | "app_state": { 45 | "accounts": [ 46 | { 47 | "name": "greg", 48 | "address": "42960119BC3D724F6FA0E2883C0DCF550C59D1B2", 49 | "coins": [ 50 | { 51 | "denom": "fermion", 52 | "amount": 1000000 53 | }, 54 | { 55 | "denom": "gregcoin", 56 | "amount": 1000 57 | } 58 | ] 59 | }, 60 | { 61 | "name": "bucky", 62 | "address": "5CAFE3CD0FEE7A5DD98B366B19A201D428A79FB6", 63 | "coins": [ 64 | { 65 | "denom": "fermion", 66 | "amount": 10000 67 | }, 68 | { 69 | "denom": "buckycoin", 70 | "amount": 1000 71 | } 72 | ] 73 | }, 74 | { 75 | "name": "fabo", 76 | "address": "9C145AAAE1E7AD8735BC1B2173B092CEF6FD8557", 77 | "coins": [ 78 | { 79 | "denom": "fermion", 80 | "amount": 100 81 | }, 82 | { 83 | "denom": "fabocoin", 84 | "amount": 1000 85 | } 86 | ] 87 | }, 88 | { 89 | "name": "mattbell", 90 | "address": "0644CF5459E6A9C43B3EC02D9DEB6DE1620BBE9A", 91 | "coins": [ 92 | { 93 | "denom": "fermion", 94 | "amount": 100 95 | }, 96 | { 97 | "denom": "tokenmatt", 98 | "amount": 1000 99 | } 100 | ] 101 | }, 102 | { 103 | "name": "mattbell", 104 | "address": "0644CF5459E6A9C43B3EC02D9DEB6DE1620BBE9A", 105 | "coins": [ 106 | { 107 | "denom": "fermion", 108 | "amount": 100 109 | }, 110 | { 111 | "denom": "tokenmatt", 112 | "amount": 1000 113 | } 114 | ] 115 | }, 116 | { 117 | "name": "fabo", 118 | "address": "527E2333EF0B6E5FFB6E62FFA68B3707E08F2286", 119 | "coins": [ 120 | { 121 | "denom": "fermion", 122 | "amount": 100 123 | }, 124 | { 125 | "denom": "tokenfabo", 126 | "amount": 1000 127 | } 128 | ] 129 | } 130 | ], 131 | "plugin_options": [ 132 | "coin/issuer", {"app": "sigs", "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6"} 133 | ] } 134 | } 135 | -------------------------------------------------------------------------------- /basecoind-demo2/basecoindversion.txt: -------------------------------------------------------------------------------- 1 | 0.13.1 -------------------------------------------------------------------------------- /basecoind-demo2/config/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | ##### main base config options ##### 5 | 6 | # TCP or UNIX socket address of the ABCI application, 7 | # or the name of an ABCI application compiled in with the Tendermint binary 8 | proxy_app = "tcp://127.0.0.1:46658" 9 | 10 | # A custom human readable name for this node 11 | moniker = "167.99.88.13" 12 | 13 | # If this node is many blocks behind the tip of the chain, FastSync 14 | # allows them to catchup quickly by downloading blocks in parallel 15 | # and verifying their commits 16 | fast_sync = true 17 | 18 | 19 | # Database backend: leveldb | memdb 20 | db_backend = "leveldb" 21 | 22 | # Database directory 23 | db_path = "data" 24 | 25 | # Output level for logging, including package level options 26 | log_level = "main:info,state:info,*:error" 27 | #log_level = "mempool:error,*:debug" 28 | 29 | 30 | ##### additional base config options ##### 31 | 32 | # Path to the JSON file containing the initial validator set and other meta data 33 | genesis_file = "config/genesis.json" 34 | 35 | # Path to the JSON file containing the private key to use as a validator in the consensus protocol 36 | priv_validator_file = "config/priv_validator.json" 37 | 38 | # Path to the JSON file containing the private key to use for node authentication in the p2p protocol 39 | node_key_file = "config/node_key.json" 40 | 41 | # Mechanism to connect to the ABCI application: socket | grpc 42 | abci = "socket" 43 | 44 | # TCP or UNIX socket address for the profiling server to listen on 45 | prof_laddr = "" 46 | 47 | # If true, query the ABCI app on connecting to a new peer 48 | # so the app can decide if we should keep the connection or not 49 | filter_peers = false 50 | 51 | ##### advanced configuration options ##### 52 | 53 | ##### rpc server configuration options ##### 54 | [rpc] 55 | 56 | # TCP or UNIX socket address for the RPC server to listen on 57 | laddr = "tcp://0.0.0.0:46657" 58 | 59 | # TCP or UNIX socket address for the gRPC server to listen on 60 | # NOTE: This server only supports /broadcast_tx_commit 61 | grpc_laddr = "" 62 | 63 | # Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool 64 | unsafe = false 65 | 66 | ##### peer to peer configuration options ##### 67 | [p2p] 68 | 69 | # Address to listen for incoming connections 70 | laddr = "tcp://0.0.0.0:46656" 71 | 72 | # Comma separated list of seed nodes to connect to 73 | seeds = "" 74 | 75 | # Comma separated list of nodes to keep persistent connections to 76 | persistent_peers = "e33b3b17115ce6b7ee52123780e7ae1f26fe0b43@46.101.243.234:46656,ac40bc0fe6789ab9e05d0469202624b3867a2b6d@185.14.187.92:46656,3571617bce2f04050d81c3deac8898aaafacebb8@104.131.49.88:46656" 77 | 78 | # Path to address book 79 | addr_book_file = "config/addrbook.json" 80 | 81 | # Set true for strict address routability rules 82 | addr_book_strict = true 83 | 84 | # Time to wait before flushing messages out on the connection, in ms 85 | flush_throttle_timeout = 100 86 | 87 | # Maximum number of peers to connect to 88 | #max_num_peers = 50 89 | max_num_peers = 300 90 | 91 | # Maximum size of a message packet payload, in bytes 92 | max_msg_packet_payload_size = 1024 93 | 94 | # Rate at which packets can be sent, in bytes/second 95 | send_rate = 512000 96 | 97 | # Rate at which packets can be received, in bytes/second 98 | recv_rate = 512000 99 | 100 | # Set true to enable the peer-exchange reactor 101 | pex = true 102 | 103 | # Seed mode, in which node constantly crawls the network and looks for 104 | # peers. If another node asks it for addresses, it responds and disconnects. 105 | # 106 | # Does not work if the peer-exchange reactor is disabled. 107 | seed_mode = false 108 | 109 | ##### mempool configuration options ##### 110 | [mempool] 111 | 112 | recheck = true 113 | recheck_empty = true 114 | broadcast = true 115 | wal_dir = "data/mempool.wal" 116 | 117 | ##### consensus configuration options ##### 118 | [consensus] 119 | 120 | wal_file = "data/cs.wal/wal" 121 | wal_light = false 122 | 123 | # All timeouts are in milliseconds 124 | timeout_propose = 3000 125 | timeout_propose_delta = 500 126 | timeout_prevote = 1000 127 | timeout_prevote_delta = 500 128 | timeout_precommit = 1000 129 | timeout_precommit_delta = 500 130 | timeout_commit = 1000 131 | 132 | # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) 133 | skip_timeout_commit = false 134 | 135 | # BlockSize 136 | max_block_size_txs = 10000 137 | max_block_size_bytes = 1 138 | 139 | # EmptyBlocks mode and possible interval between empty blocks in seconds 140 | create_empty_blocks = true 141 | create_empty_blocks_interval = 60 142 | 143 | # Reactor sleep duration parameters are in milliseconds 144 | peer_gossip_sleep_duration = 100 145 | peer_query_maj23_sleep_duration = 2000 146 | 147 | ##### transactions indexer configuration options ##### 148 | [tx_index] 149 | 150 | # What indexer to use for transactions 151 | # 152 | # Options: 153 | # 1) "null" (default) 154 | # 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). 155 | indexer = "kv" 156 | 157 | # Comma-separated list of tags to index (by default the only tag is tx hash) 158 | # 159 | # It's recommended to index only a subset of tags due to possible memory 160 | # bloat. This is, of course, depends on the indexer's DB and the volume of 161 | # transactions. 162 | index_tags = "" 163 | 164 | # When set to true, tells indexer to index all tags. Note this may be not 165 | # desirable (see the comment above). IndexTags has a precedence over 166 | # IndexAllTags (i.e. when given both, IndexTags will be indexed). 167 | index_all_tags = false 168 | 169 | -------------------------------------------------------------------------------- /basecoind-demo2/config/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time":"2018-04-06T03:07:09Z", 3 | "chain_id":"basecoind-demo2", 4 | "validators": 5 | [ 6 | 7 | { 8 | "pub_key": { 9 | "data": "9F3532BCAA84D64B62A1C7F4C03E347DBD148AE1DFA51FD60E40A3367E23A6A6", 10 | "type": "ed25519" 11 | }, 12 | "power":1000, 13 | "name":"167.99.88.13" 14 | } 15 | , 16 | { 17 | "pub_key": { 18 | "data": "618CD4C310FFD636DC6282F10C36DADCE30769D36C0482053CBE719842E94F3B", 19 | "type": "ed25519" 20 | }, 21 | "power":1000, 22 | "name":"46.101.243.234" 23 | } 24 | , 25 | { 26 | "pub_key": { 27 | "data": "3323E3B3F4E8AC9836A4B600B3BD4C461641E312E4B325D4D900AE9084E53106", 28 | "type": "ed25519" 29 | }, 30 | "power":1000, 31 | "name":"185.14.187.92" 32 | } 33 | , 34 | { 35 | "pub_key": { 36 | "data": "3D05F7125BDB4489B4835153ABA41D362225CD5FF5B7235305DE4739804E2EAF", 37 | "type": "ed25519" 38 | }, 39 | "power":1000, 40 | "name":"104.131.49.88" 41 | } 42 | ], 43 | "app_hash":"", 44 | "app_state": { 45 | "accounts": [ 46 | { 47 | "name": "greg", 48 | "address": "42960119BC3D724F6FA0E2883C0DCF550C59D1B2", 49 | "coins": [ 50 | { 51 | "denom": "fermion", 52 | "amount": 1000000 53 | }, 54 | { 55 | "denom": "gregcoin", 56 | "amount": 1000 57 | } 58 | ] 59 | }, 60 | { 61 | "name": "bucky", 62 | "address": "5CAFE3CD0FEE7A5DD98B366B19A201D428A79FB6", 63 | "coins": [ 64 | { 65 | "denom": "fermion", 66 | "amount": 10000 67 | }, 68 | { 69 | "denom": "buckycoin", 70 | "amount": 1000 71 | } 72 | ] 73 | }, 74 | { 75 | "name": "fabo", 76 | "address": "9C145AAAE1E7AD8735BC1B2173B092CEF6FD8557", 77 | "coins": [ 78 | { 79 | "denom": "fermion", 80 | "amount": 100 81 | }, 82 | { 83 | "denom": "fabocoin", 84 | "amount": 1000 85 | } 86 | ] 87 | }, 88 | { 89 | "name": "mattbell", 90 | "address": "0644CF5459E6A9C43B3EC02D9DEB6DE1620BBE9A", 91 | "coins": [ 92 | { 93 | "denom": "fermion", 94 | "amount": 100 95 | }, 96 | { 97 | "denom": "tokenmatt", 98 | "amount": 1000 99 | } 100 | ] 101 | }, 102 | { 103 | "name": "mattbell", 104 | "address": "0644CF5459E6A9C43B3EC02D9DEB6DE1620BBE9A", 105 | "coins": [ 106 | { 107 | "denom": "fermion", 108 | "amount": 100 109 | }, 110 | { 111 | "denom": "tokenmatt", 112 | "amount": 1000 113 | } 114 | ] 115 | }, 116 | { 117 | "name": "fabo", 118 | "address": "527E2333EF0B6E5FFB6E62FFA68B3707E08F2286", 119 | "coins": [ 120 | { 121 | "denom": "fermion", 122 | "amount": 100 123 | }, 124 | { 125 | "denom": "tokenfabo", 126 | "amount": 1000 127 | } 128 | ] 129 | } 130 | ], 131 | "plugin_options": [ 132 | "coin/issuer", {"app": "sigs", "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6"} 133 | ] } 134 | } 135 | -------------------------------------------------------------------------------- /dev-1-neb/gaia/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | proxy_app = "tcp://127.0.0.1:46658" 5 | moniker = "207.154.211.166" 6 | fast_sync = true 7 | 8 | db_backend = "leveldb" 9 | log_level = "state:info,*:error" 10 | #log_level = "*:debug" 11 | 12 | 13 | [rpc] 14 | laddr = "tcp://0.0.0.0:46657" 15 | 16 | 17 | [consensus] 18 | create_empty_blocks_interval = 10 19 | 20 | 21 | [p2p] 22 | laddr = "tcp://0.0.0.0:46656" 23 | seeds = "178.62.118.129:46656,95.85.55.32:46656,165.227.109.108:46656" 24 | -------------------------------------------------------------------------------- /dev-1-neb/gaia/gaiaversion.txt: -------------------------------------------------------------------------------- 1 | v0.1.1 -------------------------------------------------------------------------------- /dev-1-neb/gaia/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time":"2017-10-25T22:13:02Z", 3 | "chain_id":"dev-1", 4 | "validators": 5 | [ 6 | 7 | { 8 | "pub_key": { 9 | "data": "8ADFDD2F41C77498436857D487E76317F126243D49C40557D621941510B03071", 10 | "type": "ed25519" 11 | }, 12 | "power":1001, 13 | "name":"207.154.211.166" 14 | } 15 | , 16 | { 17 | "pub_key": { 18 | "data": "FABB74232C1149625DBD48D44104CFDC60F2336B269EFD89E27441276DC20DE6", 19 | "type": "ed25519" 20 | }, 21 | "power":1000, 22 | "name":"178.62.118.129" 23 | } 24 | , 25 | { 26 | "pub_key": { 27 | "data": "D94C742E5FBC5E6D942ABBBC13F74933857D12ECB7F0AB10D64FE519187F54F3", 28 | "type": "ed25519" 29 | }, 30 | "power":1000, 31 | "name":"95.85.55.32" 32 | } 33 | , 34 | { 35 | "pub_key": { 36 | "data": "9E485DF01785BA99592A1A863C52EE362C26B61E0AFDD8F21AD73098D5DB4F4A", 37 | "type": "ed25519" 38 | }, 39 | "power":1000, 40 | "name":"165.227.109.108" 41 | } 42 | ], 43 | "app_hash":"", 44 | "app_options": { 45 | "accounts": [ 46 | { 47 | "name": "relay", 48 | "address": "1B1BE55F969F54064628A63B9559E7C21C925165", 49 | "pub_key": { 50 | "type": "ed25519", 51 | "data": "619D3678599971ED29C7529DDD4DA537B97129893598A17C82E3AC9A8BA95279" 52 | }, 53 | "coins": [ 54 | { 55 | "denom": "mycoin", 56 | "amount": 9007199254740992 57 | } 58 | ] 59 | }, 60 | { 61 | "name": "greg", 62 | "address": "B01C264BFE9CBD45458256E613A6F07061A3A6B6", 63 | "pub_key": { 64 | "type": "ed25519", 65 | "data": "E1FFBD187FA2A922CE1B367532CEAC1AD8E606D576AB0D2E2CAA7EC6B7DAC10F" 66 | }, 67 | "coins": [ 68 | { 69 | "denom": "fermion", 70 | "amount": 1000000 71 | }, 72 | { 73 | "denom": "gregcoin", 74 | "amount": 1000 75 | } 76 | ] 77 | }, 78 | { 79 | "name": "anton", 80 | "address": "40CC622438D3E42148A1FFD3A27C07C100F8FA3D", 81 | "pub_key": { 82 | "type": "ed25519", 83 | "data": "97BD389257763747488803DC686A8819C685936A3CD275D54EABEE51E0117EE6" 84 | }, 85 | "coins": [ 86 | { 87 | "denom": "fermion", 88 | "amount": 100 89 | }, 90 | { 91 | "denom": "antoncoin", 92 | "amount": 1000 93 | } 94 | ] 95 | }, 96 | { 97 | "name": "adrian", 98 | "address": "4548017683F771FDBCF7D8E74F4723868AA20009", 99 | "coins": [ 100 | { 101 | "denom": "fermion", 102 | "amount": 100 103 | }, 104 | { 105 | "denom": "adriancoin", 106 | "amount": 1000 107 | } 108 | ] 109 | }, 110 | { 111 | "name": "bucky", 112 | "address": "7F0BB465928F2CF39C3BFCD34EA06D28707E1FF1", 113 | "coins": [ 114 | { 115 | "denom": "fermion", 116 | "amount": 100000000 117 | }, 118 | { 119 | "denom": "buckycoin", 120 | "amount": 1000000 121 | } 122 | ] 123 | }, 124 | { 125 | "name": "bucky-new", 126 | "address": "4FE8FFE12EDBA34BE4E587B2125177AC24594BAF", 127 | "coins": [ 128 | { 129 | "denom": "fermion", 130 | "amount": 10000000000 131 | }, 132 | { 133 | "denom": "buckycoin", 134 | "amount": 2000 135 | } 136 | ] 137 | }, 138 | { 139 | "name": "rigel", 140 | "address": "C7A6F5FD77DDCA5C43600F33D14533A27C683F55", 141 | "coins": [ 142 | { 143 | "denom": "rigelcoin", 144 | "amount": 1000 145 | }, 146 | { 147 | "denom": "fermion", 148 | "amount": 10000 149 | } 150 | ] 151 | }, 152 | { 153 | "name": "rigel2", 154 | "address": "5B228AB64E290F1FC4D3E933B7623CCA3F015C34", 155 | "coins": [ 156 | { 157 | "denom": "rigelcoin", 158 | "amount": 1000 159 | }, 160 | { 161 | "denom": "fermion", 162 | "amount": 10000 163 | } 164 | ] 165 | }, 166 | { 167 | "name": "shadow", 168 | "address": "B140EFAAE6D5CA1C8E98814C557AF7112E3B9EAE", 169 | "pub_key": { 170 | "type": "ed25519", 171 | "data": "F492282705DF29ACC3BB803D543B7BF98C8080FA28AE85B62B45827EA9DA8167" 172 | }, 173 | "coins": [ 174 | { 175 | "denom": "fermion", 176 | "amount": 100 177 | }, 178 | { 179 | "denom": "shadowcoin", 180 | "amount": 1000 181 | } 182 | ] 183 | }, 184 | { 185 | "name": "peng", 186 | "address": "7B8422A210D0F0B8734908C093ECF0E9A768BDB8", 187 | "coins": [ 188 | { 189 | "denom": "fermion", 190 | "amount": 100 191 | }, 192 | { 193 | "denom": "pengcoin", 194 | "amount": 1000 195 | } 196 | ] 197 | }, 198 | { 199 | "name": "matt", 200 | "address": "C2104A8191E282AA45D210BA93282B36768EDDA1", 201 | "coins": [ 202 | { 203 | "denom": "fermion", 204 | "amount": 100 205 | }, 206 | { 207 | "denom": "mattcoin", 208 | "amount": 1000 209 | } 210 | ] 211 | }, 212 | { 213 | "name": "frey", 214 | "address": "0F8FB94B5A4D04220F15058B7AA16AF1328B57A9", 215 | "coins": [ 216 | { 217 | "denom": "fermion", 218 | "amount": 100 219 | }, 220 | { 221 | "denom": "freycoin", 222 | "amount": 1000 223 | } 224 | ] 225 | }, 226 | { 227 | "name": "wancloud", 228 | "address": "02C1F2CE501DAF30F758E657B71FC7AD568C4BE5", 229 | "coins": [ 230 | { 231 | "denom": "fermion", 232 | "amount": 100 233 | }, 234 | { 235 | "denom": "wancloudcoin", 236 | "amount": 1000 237 | } 238 | ] 239 | }, 240 | { 241 | "name": "bianjie", 242 | "address": "7D626173FAA69D96E56523A333EAF78F87843CE5", 243 | "coins": [ 244 | { 245 | "denom": "fermion", 246 | "amount": 100 247 | }, 248 | { 249 | "denom": "bianjiecoin", 250 | "amount": 1000 251 | } 252 | ] 253 | }, 254 | { 255 | "name": "alexis", 256 | "address": "42989458D3285F05FE0233EE669A1CCD90AE6F3E", 257 | "coins": [ 258 | { 259 | "denom": "fermion", 260 | "amount": 100 261 | }, 262 | { 263 | "denom": "alexiscoin", 264 | "amount": 1000 265 | } 266 | ] 267 | }, 268 | { 269 | "name": "zaki", 270 | "address": "E2080141FEAD5986FD411121CA077F2835294F5A", 271 | "coins": [ 272 | { 273 | "denom": "fermion", 274 | "amount": 100 275 | }, 276 | { 277 | "denom": "zakicoin", 278 | "amount": 1000 279 | } 280 | ] 281 | }, 282 | { 283 | "name": "jimyang", 284 | "address": "6F94C5B7FEB6EF926A8901A8E8F4B2077D02B354", 285 | "coins": [ 286 | { 287 | "denom": "fermion", 288 | "amount": 1000 289 | } 290 | ] 291 | }, 292 | { 293 | "name": "MichaelYuan", 294 | "address": "F75D0FD7036A3BB9092DD0938BBF0A9323224832", 295 | "coins": [ 296 | { 297 | "denom": "fermion", 298 | "amount": 100000 299 | } 300 | ] 301 | } 302 | 303 | ], 304 | "plugin_options": [ 305 | "coin/issuer", {"app": "sigs", "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6"} 306 | ] } 307 | } 308 | -------------------------------------------------------------------------------- /dev-1-neb/gaia/tendermintversion.txt: -------------------------------------------------------------------------------- 1 | 0.11.1-5534eb47 -------------------------------------------------------------------------------- /digital_ocean.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | ''' 4 | DigitalOcean external inventory script 5 | ====================================== 6 | 7 | Generates Ansible inventory of DigitalOcean Droplets. 8 | 9 | In addition to the --list and --host options used by Ansible, there are options 10 | for generating JSON of other DigitalOcean data. This is useful when creating 11 | droplets. For example, --regions will return all the DigitalOcean Regions. 12 | This information can also be easily found in the cache file, whose default 13 | location is /tmp/ansible-digital_ocean.cache). 14 | 15 | The --pretty (-p) option pretty-prints the output for better human readability. 16 | 17 | ---- 18 | Although the cache stores all the information received from DigitalOcean, 19 | the cache is not used for current droplet information (in --list, --host, 20 | --all, and --droplets). This is so that accurate droplet information is always 21 | found. You can force this script to use the cache with --force-cache. 22 | 23 | ---- 24 | Configuration is read from `digital_ocean.ini`, then from environment variables, 25 | then and command-line arguments. 26 | 27 | Most notably, the DigitalOcean API Token must be specified. It can be specified 28 | in the INI file or with the following environment variables: 29 | export DO_API_TOKEN='abc123' or 30 | export DO_API_KEY='abc123' 31 | 32 | Alternatively, it can be passed on the command-line with --api-token. 33 | 34 | If you specify DigitalOcean credentials in the INI file, a handy way to 35 | get them into your environment (e.g., to use the digital_ocean module) 36 | is to use the output of the --env option with export: 37 | export $(digital_ocean.py --env) 38 | 39 | ---- 40 | The following groups are generated from --list: 41 | - ID (droplet ID) 42 | - NAME (droplet NAME) 43 | - image_ID 44 | - image_NAME 45 | - distro_NAME (distribution NAME from image) 46 | - region_NAME 47 | - size_NAME 48 | - status_STATUS 49 | 50 | For each host, the following variables are registered: 51 | - do_backup_ids 52 | - do_created_at 53 | - do_disk 54 | - do_features - list 55 | - do_id 56 | - do_image - object 57 | - do_ip_address 58 | - do_private_ip_address 59 | - do_kernel - object 60 | - do_locked 61 | - do_memory 62 | - do_name 63 | - do_networks - object 64 | - do_next_backup_window 65 | - do_region - object 66 | - do_size - object 67 | - do_size_slug 68 | - do_snapshot_ids - list 69 | - do_status 70 | - do_tags 71 | - do_vcpus 72 | - do_volume_ids 73 | 74 | ----- 75 | ``` 76 | usage: digital_ocean.py [-h] [--list] [--host HOST] [--all] 77 | [--droplets] [--regions] [--images] [--sizes] 78 | [--ssh-keys] [--domains] [--pretty] 79 | [--cache-path CACHE_PATH] 80 | [--cache-max_age CACHE_MAX_AGE] 81 | [--force-cache] 82 | [--refresh-cache] 83 | [--api-token API_TOKEN] 84 | 85 | Produce an Ansible Inventory file based on DigitalOcean credentials 86 | 87 | optional arguments: 88 | -h, --help show this help message and exit 89 | --list List all active Droplets as Ansible inventory 90 | (default: True) 91 | --host HOST Get all Ansible inventory variables about a specific 92 | Droplet 93 | --all List all DigitalOcean information as JSON 94 | --droplets List Droplets as JSON 95 | --regions List Regions as JSON 96 | --images List Images as JSON 97 | --sizes List Sizes as JSON 98 | --ssh-keys List SSH keys as JSON 99 | --domains List Domains as JSON 100 | --pretty, -p Pretty-print results 101 | --cache-path CACHE_PATH 102 | Path to the cache files (default: .) 103 | --cache-max_age CACHE_MAX_AGE 104 | Maximum age of the cached items (default: 0) 105 | --force-cache Only use data from the cache 106 | --refresh-cache Force refresh of cache by making API requests to 107 | DigitalOcean (default: False - use cache files) 108 | --api-token API_TOKEN, -a API_TOKEN 109 | DigitalOcean API Token 110 | ``` 111 | 112 | ''' 113 | 114 | # (c) 2013, Evan Wies 115 | # 116 | # Inspired by the EC2 inventory plugin: 117 | # https://github.com/ansible/ansible/blob/devel/contrib/inventory/ec2.py 118 | # 119 | # This file is part of Ansible, 120 | # 121 | # Ansible is free software: you can redistribute it and/or modify 122 | # it under the terms of the GNU General Public License as published by 123 | # the Free Software Foundation, either version 3 of the License, or 124 | # (at your option) any later version. 125 | # 126 | # Ansible is distributed in the hope that it will be useful, 127 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 128 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 129 | # GNU General Public License for more details. 130 | # 131 | # You should have received a copy of the GNU General Public License 132 | # along with Ansible. If not, see . 133 | 134 | ###################################################################### 135 | 136 | import os 137 | import sys 138 | import re 139 | import argparse 140 | from time import time 141 | import ConfigParser 142 | import ast 143 | 144 | try: 145 | import json 146 | except ImportError: 147 | import simplejson as json 148 | 149 | try: 150 | from dopy.manager import DoManager 151 | except ImportError as e: 152 | sys.exit("failed=True msg='`dopy` library required for this script'") 153 | 154 | 155 | class DigitalOceanInventory(object): 156 | 157 | ########################################################################### 158 | # Main execution path 159 | ########################################################################### 160 | 161 | def __init__(self): 162 | ''' Main execution path ''' 163 | 164 | # DigitalOceanInventory data 165 | self.data = {} # All DigitalOcean data 166 | self.inventory = {} # Ansible Inventory 167 | 168 | # Define defaults 169 | self.cache_path = '.' 170 | self.cache_max_age = 0 171 | self.use_private_network = False 172 | self.group_variables = {} 173 | 174 | # Read settings, environment variables, and CLI arguments 175 | self.read_settings() 176 | self.read_environment() 177 | self.read_cli_args() 178 | 179 | # Verify credentials were set 180 | if not hasattr(self, 'api_token'): 181 | sys.stderr.write('''Could not find values for DigitalOcean api_token. 182 | They must be specified via either ini file, command line argument (--api-token), 183 | or environment variables (DO_API_TOKEN)\n''') 184 | sys.exit(-1) 185 | 186 | # env command, show DigitalOcean credentials 187 | if self.args.env: 188 | print("DO_API_TOKEN=%s" % self.api_token) 189 | sys.exit(0) 190 | 191 | # Manage cache 192 | self.cache_filename = self.cache_path + "/ansible-digital_ocean.cache" 193 | self.cache_refreshed = False 194 | 195 | if self.is_cache_valid(): 196 | self.load_from_cache() 197 | if len(self.data) == 0: 198 | if self.args.force_cache: 199 | sys.stderr.write('''Cache is empty and --force-cache was specified\n''') 200 | sys.exit(-1) 201 | 202 | self.manager = DoManager(None, self.api_token, api_version=2) 203 | 204 | # Pick the json_data to print based on the CLI command 205 | if self.args.droplets: 206 | self.load_from_digital_ocean('droplets') 207 | json_data = {'droplets': self.data['droplets']} 208 | elif self.args.regions: 209 | self.load_from_digital_ocean('regions') 210 | json_data = {'regions': self.data['regions']} 211 | elif self.args.images: 212 | self.load_from_digital_ocean('images') 213 | json_data = {'images': self.data['images']} 214 | elif self.args.sizes: 215 | self.load_from_digital_ocean('sizes') 216 | json_data = {'sizes': self.data['sizes']} 217 | elif self.args.ssh_keys: 218 | self.load_from_digital_ocean('ssh_keys') 219 | json_data = {'ssh_keys': self.data['ssh_keys']} 220 | elif self.args.domains: 221 | self.load_from_digital_ocean('domains') 222 | json_data = {'domains': self.data['domains']} 223 | elif self.args.all: 224 | self.load_from_digital_ocean() 225 | json_data = self.data 226 | elif self.args.host: 227 | json_data = self.load_droplet_variables_for_host() 228 | else: # '--list' this is last to make it default 229 | self.load_from_digital_ocean('droplets') 230 | self.build_inventory() 231 | json_data = self.inventory 232 | 233 | if self.cache_refreshed: 234 | self.write_to_cache() 235 | 236 | if self.args.pretty: 237 | print(json.dumps(json_data, sort_keys=True, indent=2)) 238 | else: 239 | print(json.dumps(json_data)) 240 | # That's all she wrote... 241 | 242 | ########################################################################### 243 | # Script configuration 244 | ########################################################################### 245 | 246 | def read_settings(self): 247 | ''' Reads the settings from the digital_ocean.ini file ''' 248 | config = ConfigParser.SafeConfigParser() 249 | config.read(os.path.dirname(os.path.realpath(__file__)) + '/digital_ocean.ini') 250 | 251 | # Credentials 252 | if config.has_option('digital_ocean', 'api_token'): 253 | self.api_token = config.get('digital_ocean', 'api_token') 254 | 255 | # Cache related 256 | if config.has_option('digital_ocean', 'cache_path'): 257 | self.cache_path = config.get('digital_ocean', 'cache_path') 258 | if config.has_option('digital_ocean', 'cache_max_age'): 259 | self.cache_max_age = config.getint('digital_ocean', 'cache_max_age') 260 | 261 | # Private IP Address 262 | if config.has_option('digital_ocean', 'use_private_network'): 263 | self.use_private_network = config.getboolean('digital_ocean', 'use_private_network') 264 | 265 | # Group variables 266 | if config.has_option('digital_ocean', 'group_variables'): 267 | self.group_variables = ast.literal_eval(config.get('digital_ocean', 'group_variables')) 268 | 269 | def read_environment(self): 270 | ''' Reads the settings from environment variables ''' 271 | # Setup credentials 272 | if os.getenv("DO_API_TOKEN"): 273 | self.api_token = os.getenv("DO_API_TOKEN") 274 | if os.getenv("DO_API_KEY"): 275 | self.api_token = os.getenv("DO_API_KEY") 276 | 277 | def read_cli_args(self): 278 | ''' Command line argument processing ''' 279 | parser = argparse.ArgumentParser(description='Produce an Ansible Inventory file based on DigitalOcean credentials') 280 | 281 | parser.add_argument('--list', action='store_true', help='List all active Droplets as Ansible inventory (default: True)') 282 | parser.add_argument('--host', action='store', help='Get all Ansible inventory variables about a specific Droplet') 283 | 284 | parser.add_argument('--all', action='store_true', help='List all DigitalOcean information as JSON') 285 | parser.add_argument('--droplets', '-d', action='store_true', help='List Droplets as JSON') 286 | parser.add_argument('--regions', action='store_true', help='List Regions as JSON') 287 | parser.add_argument('--images', action='store_true', help='List Images as JSON') 288 | parser.add_argument('--sizes', action='store_true', help='List Sizes as JSON') 289 | parser.add_argument('--ssh-keys', action='store_true', help='List SSH keys as JSON') 290 | parser.add_argument('--domains', action='store_true', help='List Domains as JSON') 291 | 292 | parser.add_argument('--pretty', '-p', action='store_true', help='Pretty-print results') 293 | 294 | parser.add_argument('--cache-path', action='store', help='Path to the cache files (default: .)') 295 | parser.add_argument('--cache-max_age', action='store', help='Maximum age of the cached items (default: 0)') 296 | parser.add_argument('--force-cache', action='store_true', default=False, help='Only use data from the cache') 297 | parser.add_argument('--refresh-cache', '-r', action='store_true', default=False, 298 | help='Force refresh of cache by making API requests to DigitalOcean (default: False - use cache files)') 299 | 300 | parser.add_argument('--env', '-e', action='store_true', help='Display DO_API_TOKEN') 301 | parser.add_argument('--api-token', '-a', action='store', help='DigitalOcean API Token') 302 | 303 | self.args = parser.parse_args() 304 | 305 | if self.args.api_token: 306 | self.api_token = self.args.api_token 307 | 308 | # Make --list default if none of the other commands are specified 309 | if (not self.args.droplets and not self.args.regions and 310 | not self.args.images and not self.args.sizes and 311 | not self.args.ssh_keys and not self.args.domains and 312 | not self.args.all and not self.args.host): 313 | self.args.list = True 314 | 315 | ########################################################################### 316 | # Data Management 317 | ########################################################################### 318 | 319 | def load_from_digital_ocean(self, resource=None): 320 | '''Get JSON from DigitalOcean API''' 321 | if self.args.force_cache and os.path.isfile(self.cache_filename): 322 | return 323 | # We always get fresh droplets 324 | if self.is_cache_valid() and not (resource == 'droplets' or resource is None): 325 | return 326 | if self.args.refresh_cache: 327 | resource = None 328 | 329 | if resource == 'droplets' or resource is None: 330 | self.data['droplets'] = self.manager.all_active_droplets() 331 | self.cache_refreshed = True 332 | if resource == 'regions' or resource is None: 333 | self.data['regions'] = self.manager.all_regions() 334 | self.cache_refreshed = True 335 | if resource == 'images' or resource is None: 336 | self.data['images'] = self.manager.all_images(filter=None) 337 | self.cache_refreshed = True 338 | if resource == 'sizes' or resource is None: 339 | self.data['sizes'] = self.manager.sizes() 340 | self.cache_refreshed = True 341 | if resource == 'ssh_keys' or resource is None: 342 | self.data['ssh_keys'] = self.manager.all_ssh_keys() 343 | self.cache_refreshed = True 344 | if resource == 'domains' or resource is None: 345 | self.data['domains'] = self.manager.all_domains() 346 | self.cache_refreshed = True 347 | 348 | def build_inventory(self): 349 | '''Build Ansible inventory of droplets''' 350 | self.inventory = { 351 | 'all': { 352 | 'hosts': [], 353 | 'vars': self.group_variables 354 | }, 355 | '_meta': {'hostvars': {}} 356 | } 357 | 358 | # add all droplets by id and name 359 | for droplet in self.data['droplets']: 360 | # when using private_networking, the API reports the private one in "ip_address". 361 | if 'private_networking' in droplet['features'] and not self.use_private_network: 362 | for net in droplet['networks']['v4']: 363 | if net['type'] == 'public': 364 | dest = net['ip_address'] 365 | else: 366 | continue 367 | else: 368 | dest = droplet['ip_address'] 369 | 370 | self.inventory['all']['hosts'].append(dest) 371 | 372 | self.inventory[droplet['id']] = [dest] 373 | self.inventory[droplet['name']] = [dest] 374 | 375 | # groups that are always present 376 | for group in ('region_' + droplet['region']['slug'], 377 | 'image_' + str(droplet['image']['id']), 378 | 'size_' + droplet['size']['slug'], 379 | 'distro_' + self.to_safe(droplet['image']['distribution']), 380 | 'status_' + droplet['status']): 381 | if group not in self.inventory: 382 | self.inventory[group] = {'hosts': [], 'vars': {}} 383 | self.inventory[group]['hosts'].append(dest) 384 | 385 | # groups that are not always present 386 | for group in (droplet['image']['slug'], 387 | droplet['image']['name']): 388 | if group: 389 | image = 'image_' + self.to_safe(group) 390 | if image not in self.inventory: 391 | self.inventory[image] = {'hosts': [], 'vars': {}} 392 | self.inventory[image]['hosts'].append(dest) 393 | 394 | if droplet['tags']: 395 | for tag in droplet['tags']: 396 | if tag not in self.inventory: 397 | self.inventory[tag] = {'hosts': [], 'vars': {}} 398 | self.inventory[tag]['hosts'].append(dest) 399 | 400 | # hostvars 401 | info = self.do_namespace(droplet) 402 | self.inventory['_meta']['hostvars'][dest] = info 403 | 404 | def load_droplet_variables_for_host(self): 405 | '''Generate a JSON response to a --host call''' 406 | host = int(self.args.host) 407 | droplet = self.manager.show_droplet(host) 408 | info = self.do_namespace(droplet) 409 | return {'droplet': info} 410 | 411 | ########################################################################### 412 | # Cache Management 413 | ########################################################################### 414 | 415 | def is_cache_valid(self): 416 | ''' Determines if the cache files have expired, or if it is still valid ''' 417 | if os.path.isfile(self.cache_filename): 418 | mod_time = os.path.getmtime(self.cache_filename) 419 | current_time = time() 420 | if (mod_time + self.cache_max_age) > current_time: 421 | return True 422 | return False 423 | 424 | def load_from_cache(self): 425 | ''' Reads the data from the cache file and assigns it to member variables as Python Objects''' 426 | try: 427 | cache = open(self.cache_filename, 'r') 428 | json_data = cache.read() 429 | cache.close() 430 | data = json.loads(json_data) 431 | except IOError: 432 | data = {'data': {}, 'inventory': {}} 433 | 434 | self.data = data['data'] 435 | self.inventory = data['inventory'] 436 | 437 | def write_to_cache(self): 438 | ''' Writes data in JSON format to a file ''' 439 | data = {'data': self.data, 'inventory': self.inventory} 440 | json_data = json.dumps(data, sort_keys=True, indent=2) 441 | 442 | cache = open(self.cache_filename, 'w') 443 | cache.write(json_data) 444 | cache.close() 445 | 446 | ########################################################################### 447 | # Utilities 448 | ########################################################################### 449 | 450 | def push(self, my_dict, key, element): 451 | ''' Pushed an element onto an array that may not have been defined in the dict ''' 452 | if key in my_dict: 453 | my_dict[key].append(element) 454 | else: 455 | my_dict[key] = [element] 456 | 457 | def to_safe(self, word): 458 | ''' Converts 'bad' characters in a string to underscores so they can be used as Ansible groups ''' 459 | return re.sub("[^A-Za-z0-9\-\.]", "_", word) 460 | 461 | def do_namespace(self, data): 462 | ''' Returns a copy of the dictionary with all the keys put in a 'do_' namespace ''' 463 | info = {} 464 | for k, v in data.items(): 465 | info['do_' + k] = v 466 | return info 467 | 468 | 469 | ########################################################################### 470 | # Run the script 471 | DigitalOceanInventory() 472 | -------------------------------------------------------------------------------- /ec2.ini: -------------------------------------------------------------------------------- 1 | # Ansible EC2 external inventory script settings 2 | # 3 | 4 | [ec2] 5 | 6 | # to talk to a private eucalyptus instance uncomment these lines 7 | # and edit edit eucalyptus_host to be the host name of your cloud controller 8 | #eucalyptus = True 9 | #eucalyptus_host = clc.cloud.domain.org 10 | 11 | # AWS regions to make calls to. Set this to 'all' to make request to all regions 12 | # in AWS and merge the results together. Alternatively, set this to a comma 13 | # separated list of regions. E.g. 'us-east-1,us-west-1,us-west-2' and do not 14 | # provide the 'regions_exclude' option. If this is set to 'auto', AWS_REGION or 15 | # AWS_DEFAULT_REGION environment variable will be read to determine the region. 16 | regions = all 17 | regions_exclude = us-gov-west-1, cn-north-1 18 | 19 | # When generating inventory, Ansible needs to know how to address a server. 20 | # Each EC2 instance has a lot of variables associated with it. Here is the list: 21 | # http://docs.pythonboto.org/en/latest/ref/ec2.html#module-boto.ec2.instance 22 | # Below are 2 variables that are used as the address of a server: 23 | # - destination_variable 24 | # - vpc_destination_variable 25 | 26 | # This is the normal destination variable to use. If you are running Ansible 27 | # from outside EC2, then 'public_dns_name' makes the most sense. If you are 28 | # running Ansible from within EC2, then perhaps you want to use the internal 29 | # address, and should set this to 'private_dns_name'. The key of an EC2 tag 30 | # may optionally be used; however the boto instance variables hold precedence 31 | # in the event of a collision. 32 | destination_variable = public_dns_name 33 | 34 | # This allows you to override the inventory_name with an ec2 variable, instead 35 | # of using the destination_variable above. Addressing (aka ansible_ssh_host) 36 | # will still use destination_variable. Tags should be written as 'tag_TAGNAME'. 37 | #hostname_variable = tag_Name 38 | 39 | # For server inside a VPC, using DNS names may not make sense. When an instance 40 | # has 'subnet_id' set, this variable is used. If the subnet is public, setting 41 | # this to 'ip_address' will return the public IP address. For instances in a 42 | # private subnet, this should be set to 'private_ip_address', and Ansible must 43 | # be run from within EC2. The key of an EC2 tag may optionally be used; however 44 | # the boto instance variables hold precedence in the event of a collision. 45 | # WARNING: - instances that are in the private vpc, _without_ public ip address 46 | # will not be listed in the inventory until You set: 47 | # vpc_destination_variable = private_ip_address 48 | vpc_destination_variable = ip_address 49 | 50 | # The following two settings allow flexible ansible host naming based on a 51 | # python format string and a comma-separated list of ec2 tags. Note that: 52 | # 53 | # 1) If the tags referenced are not present for some instances, empty strings 54 | # will be substituted in the format string. 55 | # 2) This overrides both destination_variable and vpc_destination_variable. 56 | # 57 | #destination_format = {0}.{1}.example.com 58 | #destination_format_tags = Name,environment 59 | 60 | # To tag instances on EC2 with the resource records that point to them from 61 | # Route53, set 'route53' to True. 62 | route53 = False 63 | 64 | # To use Route53 records as the inventory hostnames, uncomment and set 65 | # to equal the domain name you wish to use. You must also have 'route53' (above) 66 | # set to True. 67 | # route53_hostnames = .example.com 68 | 69 | # To exclude RDS instances from the inventory, uncomment and set to False. 70 | #rds = False 71 | 72 | # To exclude ElastiCache instances from the inventory, uncomment and set to False. 73 | #elasticache = False 74 | 75 | # Additionally, you can specify the list of zones to exclude looking up in 76 | # 'route53_excluded_zones' as a comma-separated list. 77 | # route53_excluded_zones = samplezone1.com, samplezone2.com 78 | 79 | # By default, only EC2 instances in the 'running' state are returned. Set 80 | # 'all_instances' to True to return all instances regardless of state. 81 | all_instances = False 82 | 83 | # By default, only EC2 instances in the 'running' state are returned. Specify 84 | # EC2 instance states to return as a comma-separated list. This 85 | # option is overridden when 'all_instances' is True. 86 | # instance_states = pending, running, shutting-down, terminated, stopping, stopped 87 | 88 | # By default, only RDS instances in the 'available' state are returned. Set 89 | # 'all_rds_instances' to True return all RDS instances regardless of state. 90 | all_rds_instances = False 91 | 92 | # Include RDS cluster information (Aurora etc.) 93 | include_rds_clusters = False 94 | 95 | # By default, only ElastiCache clusters and nodes in the 'available' state 96 | # are returned. Set 'all_elasticache_clusters' and/or 'all_elastic_nodes' 97 | # to True return all ElastiCache clusters and nodes, regardless of state. 98 | # 99 | # Note that all_elasticache_nodes only applies to listed clusters. That means 100 | # if you set all_elastic_clusters to false, no node will be return from 101 | # unavailable clusters, regardless of the state and to what you set for 102 | # all_elasticache_nodes. 103 | all_elasticache_replication_groups = False 104 | all_elasticache_clusters = False 105 | all_elasticache_nodes = False 106 | 107 | # API calls to EC2 are slow. For this reason, we cache the results of an API 108 | # call. Set this to the path you want cache files to be written to. Two files 109 | # will be written to this directory: 110 | # - ansible-ec2.cache 111 | # - ansible-ec2.index 112 | cache_path = ~/.ansible/tmp 113 | 114 | # The number of seconds a cache file is considered valid. After this many 115 | # seconds, a new API call will be made, and the cache file will be updated. 116 | # To disable the cache, set this value to 0 117 | cache_max_age = 300 118 | 119 | # Organize groups into a nested/hierarchy instead of a flat namespace. 120 | nested_groups = False 121 | 122 | # Replace - tags when creating groups to avoid issues with ansible 123 | replace_dash_in_groups = True 124 | 125 | # If set to true, any tag of the form "a,b,c" is expanded into a list 126 | # and the results are used to create additional tag_* inventory groups. 127 | expand_csv_tags = False 128 | 129 | # The EC2 inventory output can become very large. To manage its size, 130 | # configure which groups should be created. 131 | group_by_instance_id = True 132 | group_by_region = True 133 | group_by_availability_zone = True 134 | group_by_aws_account = False 135 | group_by_ami_id = True 136 | group_by_instance_type = True 137 | group_by_instance_state = False 138 | group_by_key_pair = True 139 | group_by_vpc_id = True 140 | group_by_security_group = True 141 | group_by_tag_keys = True 142 | group_by_tag_none = True 143 | group_by_route53_names = True 144 | group_by_rds_engine = True 145 | group_by_rds_parameter_group = True 146 | group_by_elasticache_engine = True 147 | group_by_elasticache_cluster = True 148 | group_by_elasticache_parameter_group = True 149 | group_by_elasticache_replication_group = True 150 | 151 | # If you only want to include hosts that match a certain regular expression 152 | # pattern_include = staging-* 153 | 154 | # If you want to exclude any hosts that match a certain regular expression 155 | # pattern_exclude = staging-* 156 | 157 | # Instance filters can be used to control which instances are retrieved for 158 | # inventory. For the full list of possible filters, please read the EC2 API 159 | # docs: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html#query-DescribeInstances-filters 160 | # Filters are key/value pairs separated by '=', to list multiple filters use 161 | # a list separated by commas. See examples below. 162 | 163 | # If you want to apply multiple filters simultaneously, set stack_filters to 164 | # True. Default behaviour is to combine the results of all filters. Stacking 165 | # allows the use of multiple conditions to filter down, for example by 166 | # environment and type of host. 167 | stack_filters = False 168 | 169 | # Retrieve only instances with (key=value) env=staging tag 170 | # instance_filters = tag:env=staging 171 | 172 | # Retrieve only instances with role=webservers OR role=dbservers tag 173 | # instance_filters = tag:role=webservers,tag:role=dbservers 174 | 175 | # Retrieve only t1.micro instances OR instances with tag env=staging 176 | # instance_filters = instance-type=t1.micro,tag:env=staging 177 | 178 | # You can use wildcards in filter values also. Below will list instances which 179 | # tag Name value matches webservers1* 180 | # (ex. webservers15, webservers1a, webservers123 etc) 181 | # instance_filters = tag:Name=webservers1* 182 | 183 | # An IAM role can be assumed, so all requests are run as that role. 184 | # This can be useful for connecting across different accounts, or to limit user 185 | # access 186 | # iam_role = role-arn 187 | 188 | # A boto configuration profile may be used to separate out credentials 189 | # see http://boto.readthedocs.org/en/latest/boto_config_tut.html 190 | # boto_profile = some-boto-profile-name 191 | 192 | 193 | [credentials] 194 | 195 | # The AWS credentials can optionally be specified here. Credentials specified 196 | # here are ignored if the environment variable AWS_ACCESS_KEY_ID or 197 | # AWS_PROFILE is set, or if the boto_profile property above is set. 198 | # 199 | # Supplying AWS credentials here is not recommended, as it introduces 200 | # non-trivial security concerns. When going down this route, please make sure 201 | # to set access permissions for this file correctly, e.g. handle it the same 202 | # way as you would a private SSH key. 203 | # 204 | # Unlike the boto and AWS configure files, this section does not support 205 | # profiles. 206 | # 207 | # aws_access_key_id = AXXXXXXXXXXXXXX 208 | # aws_secret_access_key = XXXXXXXXXXXXXXXXXXX 209 | # aws_security_token = XXXXXXXXXXXXXXXXXXXXXXXXXXXX 210 | -------------------------------------------------------------------------------- /extract-testnet-config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | #Copy genesis.json and config.toml from the testnet 3 | 4 | #variable "service" is required 5 | 6 | - hosts: "{{ lookup('env','TF_VAR_TESTNET_NAME') }}:tag_Environment_{{ lookup('env','TF_VAR_TESTNET_NAME') }}" 7 | gather_facts: no 8 | 9 | vars: 10 | 11 | testnet_name: "{{lookup('env','TF_VAR_TESTNET_NAME')}}" 12 | output_dir: "{{OUTPUT|default('.')}}" 13 | 14 | tasks: 15 | 16 | - name: Create local folder structure 17 | file: "path={{item}} state=directory recurse=yes" 18 | with_items: 19 | - "{{output_dir}}/{{testnet_name}}/config" 20 | connection: local 21 | run_once: true 22 | 23 | - name: Copy files from remote host 24 | synchronize: "mode=pull src={{item.src}} dest={{item.dest}}" 25 | with_items: 26 | - { src: "/etc/{{service}}/config/genesis.json", dest: "{{output_dir}}/{{testnet_name}}/config" } 27 | - { src: "/etc/{{service}}/config/config.toml", dest: "{{output_dir}}/{{testnet_name}}/config" } 28 | become: yes 29 | become_user: "{{service}}" 30 | run_once: true 31 | 32 | - name: Get service version 33 | command: "{{service}} version" 34 | register: serviceversion 35 | become: no 36 | run_once: true 37 | 38 | - name: Write service version 39 | copy: "content={{serviceversion.stdout}} dest={{output_dir}}/{{testnet_name}}/{{service}}version.txt" 40 | become: no 41 | run_once: true 42 | connection: local 43 | 44 | -------------------------------------------------------------------------------- /gaia-2/gaia/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | proxy_app = "tcp://127.0.0.1:46658" 5 | moniker = "159.89.198.221" 6 | fast_sync = true 7 | 8 | db_backend = "leveldb" 9 | log_level = "state:info,*:error" 10 | #log_level = "*:debug" 11 | 12 | 13 | [rpc] 14 | laddr = "tcp://0.0.0.0:46657" 15 | 16 | 17 | [consensus] 18 | create_empty_blocks_interval = 60 19 | 20 | [tx_index] 21 | index_all_tags = true 22 | 23 | 24 | [p2p] 25 | max_num_peers = 300 26 | pex = true 27 | laddr = "tcp://0.0.0.0:46656" 28 | seeds = "178.62.35.120:46656,138.68.21.243:46656,159.203.88.224:46656,138.197.131.102:46656,95.85.37.158:46656,159.89.3.34:46656" 29 | -------------------------------------------------------------------------------- /gaia-2/gaia/gaiaversion.txt: -------------------------------------------------------------------------------- 1 | v0.5.0 -------------------------------------------------------------------------------- /gaia-2/gaia/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time":"2017-12-30T04:49:30Z", 3 | "chain_id":"gaia-2", 4 | "validators": 5 | [ 6 | 7 | { 8 | "pub_key": { 9 | "data": "7A1C7CD300A797A80479FC7C717C8CEB467976775044BAFFE630DADB01F4F4D9", 10 | "type": "ed25519" 11 | }, 12 | "power":1000, 13 | "name":"159.89.198.221" 14 | } 15 | , 16 | { 17 | "pub_key": { 18 | "data": "27D710DD0FF5276651865FA6EB9B4804E46F987D1BA6A901AC35E2C0D48D7664", 19 | "type": "ed25519" 20 | }, 21 | "power":1000, 22 | "name":"178.62.35.120" 23 | } 24 | , 25 | { 26 | "pub_key": { 27 | "data": "0A29EF59C9B01CFC880354F83D1253FDF04B9FDCD7411B96D801B52C6F03D376", 28 | "type": "ed25519" 29 | }, 30 | "power":1000, 31 | "name":"138.68.21.243" 32 | } 33 | , 34 | { 35 | "pub_key": { 36 | "data": "1320BC3E22BCFDD2F9B133EBBA8BC393F9160E54917962D6E75245D885EAAD14", 37 | "type": "ed25519" 38 | }, 39 | "power":1000, 40 | "name":"159.203.88.224" 41 | } 42 | , 43 | { 44 | "pub_key": { 45 | "data": "845F2C16B97D71FAF7C32724DF01A09120E4680FACFF0657977ACC852DF5E7C6", 46 | "type": "ed25519" 47 | }, 48 | "power":1000, 49 | "name":"138.197.131.102" 50 | } 51 | , 52 | { 53 | "pub_key": { 54 | "data": "2B26539CFA678ED5AAA72C55FB6DD4B394D160DDC0478DC50654658683F53A9B", 55 | "type": "ed25519" 56 | }, 57 | "power":1000, 58 | "name":"95.85.37.158" 59 | } 60 | , 61 | { 62 | "pub_key": { 63 | "data": "492DCDE8F3394A97BB92ECC3D025CEA5E380C7A04BF30991FDAF262EECC672C6", 64 | "type": "ed25519" 65 | }, 66 | "power":1000, 67 | "name":"159.89.3.34" 68 | } 69 | ], 70 | "app_hash":"", 71 | "app_options": { 72 | "accounts": [ 73 | { 74 | "name": "relay", 75 | "address": "1B1BE55F969F54064628A63B9559E7C21C925165", 76 | "pub_key": { 77 | "type": "ed25519", 78 | "data": "619D3678599971ED29C7529DDD4DA537B97129893598A17C82E3AC9A8BA95279" 79 | }, 80 | "coins": [ 81 | { 82 | "denom": "mycoin", 83 | "amount": 9007199254740992 84 | } 85 | ] 86 | }, 87 | { 88 | "name": "greg", 89 | "address": "B01C264BFE9CBD45458256E613A6F07061A3A6B6", 90 | "pub_key": { 91 | "type": "ed25519", 92 | "data": "E1FFBD187FA2A922CE1B367532CEAC1AD8E606D576AB0D2E2CAA7EC6B7DAC10F" 93 | }, 94 | "coins": [ 95 | { 96 | "denom": "fermion", 97 | "amount": 1000000 98 | }, 99 | { 100 | "denom": "gregcoin", 101 | "amount": 1000 102 | } 103 | ] 104 | }, 105 | { 106 | "name": "monitor1", 107 | "address": "CE456B8BA9AFD1CBDF4ED14558E8C30691E549EA", 108 | "coins": [ 109 | { 110 | "denom": "fermion", 111 | "amount": 100 112 | }, 113 | { 114 | "denom": "moncoin", 115 | "amount": 600000 116 | }, 117 | { 118 | "denom": "leadertoken", 119 | "amount": 1 120 | } 121 | ] 122 | }, 123 | { 124 | "name": "monitor2", 125 | "address": "EF708182E21F893634FD8DCB82A5128E16C76B83", 126 | "coins": [ 127 | { 128 | "denom": "fermion", 129 | "amount": 100 130 | }, 131 | { 132 | "denom": "moncoin", 133 | "amount": 0 134 | }, 135 | { 136 | "denom": "leadertoken", 137 | "amount": 0 138 | } 139 | ] 140 | }, 141 | { 142 | "name": "anton", 143 | "address": "40CC622438D3E42148A1FFD3A27C07C100F8FA3D", 144 | "pub_key": { 145 | "type": "ed25519", 146 | "data": "97BD389257763747488803DC686A8819C685936A3CD275D54EABEE51E0117EE6" 147 | }, 148 | "coins": [ 149 | { 150 | "denom": "fermion", 151 | "amount": 100 152 | }, 153 | { 154 | "denom": "antoncoin", 155 | "amount": 1000 156 | } 157 | ] 158 | }, 159 | { 160 | "name": "adrian", 161 | "address": "4548017683F771FDBCF7D8E74F4723868AA20009", 162 | "coins": [ 163 | { 164 | "denom": "fermion", 165 | "amount": 100 166 | }, 167 | { 168 | "denom": "adriancoin", 169 | "amount": 1000 170 | } 171 | ] 172 | }, 173 | { 174 | "name": "bucky", 175 | "address": "2B24DEE2364762300168DF19B6C18BCE2D399EA2", 176 | "coins": [ 177 | { 178 | "denom": "fermion", 179 | "amount": 10000 180 | }, 181 | { 182 | "denom": "buckycoin", 183 | "amount": 1000 184 | } 185 | ] 186 | }, 187 | { 188 | "name": "bucky-new", 189 | "address": "4FE8FFE12EDBA34BE4E587B2125177AC24594BAF", 190 | "coins": [ 191 | { 192 | "denom": "fermion", 193 | "amount": 10000000000 194 | }, 195 | { 196 | "denom": "buckycoin", 197 | "amount": 2000 198 | } 199 | ] 200 | }, 201 | { 202 | "name": "rigel", 203 | "address": "C7A6F5FD77DDCA5C43600F33D14533A27C683F55", 204 | "coins": [ 205 | { 206 | "denom": "rigelcoin", 207 | "amount": 1000 208 | }, 209 | { 210 | "denom": "fermion", 211 | "amount": 10000 212 | } 213 | ] 214 | }, 215 | { 216 | "name": "rigel2", 217 | "address": "5B228AB64E290F1FC4D3E933B7623CCA3F015C34", 218 | "coins": [ 219 | { 220 | "denom": "rigelcoin", 221 | "amount": 1000 222 | }, 223 | { 224 | "denom": "fermion", 225 | "amount": 10000 226 | } 227 | ] 228 | }, 229 | { 230 | "name": "shadow", 231 | "address": "B140EFAAE6D5CA1C8E98814C557AF7112E3B9EAE", 232 | "pub_key": { 233 | "type": "ed25519", 234 | "data": "F492282705DF29ACC3BB803D543B7BF98C8080FA28AE85B62B45827EA9DA8167" 235 | }, 236 | "coins": [ 237 | { 238 | "denom": "fermion", 239 | "amount": 100 240 | }, 241 | { 242 | "denom": "shadowcoin", 243 | "amount": 1000 244 | } 245 | ] 246 | }, 247 | { 248 | "name": "peng", 249 | "address": "DC97A6E1A3E1FE868B55BA93C7FC626368261E09", 250 | "coins": [ 251 | { 252 | "denom": "fermion", 253 | "amount": 100 254 | }, 255 | { 256 | "denom": "pengcoin", 257 | "amount": 1000 258 | } 259 | ] 260 | }, 261 | { 262 | "name": "matt", 263 | "address": "C2104A8191E282AA45D210BA93282B36768EDDA1", 264 | "coins": [ 265 | { 266 | "denom": "fermion", 267 | "amount": 100 268 | }, 269 | { 270 | "denom": "mattcoin", 271 | "amount": 1000 272 | } 273 | ] 274 | }, 275 | { 276 | "name": "frey", 277 | "address": "0F8FB94B5A4D04220F15058B7AA16AF1328B57A9", 278 | "coins": [ 279 | { 280 | "denom": "fermion", 281 | "amount": 100 282 | }, 283 | { 284 | "denom": "freycoin", 285 | "amount": 1000 286 | } 287 | ] 288 | }, 289 | { 290 | "name": "wancloud", 291 | "address": "02C1F2CE501DAF30F758E657B71FC7AD568C4BE5", 292 | "coins": [ 293 | { 294 | "denom": "fermion", 295 | "amount": 100 296 | }, 297 | { 298 | "denom": "wancloudcoin", 299 | "amount": 1000 300 | } 301 | ] 302 | }, 303 | { 304 | "name": "bianjie", 305 | "address": "7D626173FAA69D96E56523A333EAF78F87843CE5", 306 | "coins": [ 307 | { 308 | "denom": "fermion", 309 | "amount": 100 310 | }, 311 | { 312 | "denom": "bianjiecoin", 313 | "amount": 1000 314 | } 315 | ] 316 | }, 317 | { 318 | "name": "alexis", 319 | "address": "42989458D3285F05FE0233EE669A1CCD90AE6F3E", 320 | "coins": [ 321 | { 322 | "denom": "fermion", 323 | "amount": 100 324 | }, 325 | { 326 | "denom": "alexiscoin", 327 | "amount": 1000 328 | } 329 | ] 330 | }, 331 | { 332 | "name": "zaki", 333 | "address": "E2080141FEAD5986FD411121CA077F2835294F5A", 334 | "coins": [ 335 | { 336 | "denom": "fermion", 337 | "amount": 100 338 | }, 339 | { 340 | "denom": "zakicoin", 341 | "amount": 1000 342 | } 343 | ] 344 | }, 345 | { 346 | "name": "jimyang", 347 | "address": "6F94C5B7FEB6EF926A8901A8E8F4B2077D02B354", 348 | "coins": [ 349 | { 350 | "denom": "fermion", 351 | "amount": 1000 352 | } 353 | ] 354 | }, 355 | { 356 | "name": "MichaelYuan", 357 | "address": "F75D0FD7036A3BB9092DD0938BBF0A9323224832", 358 | "coins": [ 359 | { 360 | "denom": "fermion", 361 | "amount": 100000 362 | } 363 | ] 364 | }, 365 | { 366 | "name": "Fabo", 367 | "address": "DF096FDE8D380FA5B2AD20DB2962C82DDEA1ED9B", 368 | "coins": [ 369 | { 370 | "denom": "fermion", 371 | "amount": 100 372 | } 373 | ] 374 | }, 375 | { 376 | "name": "chjango", 377 | "address": "1C0F9000D0AF1CBCAF8EAD636B729797905D6D24", 378 | "coins": [ 379 | { 380 | "denom": "fermion", 381 | "amount": 100 382 | }, 383 | { 384 | "denom": "tokenchjango", 385 | "amount": 1000 386 | } 387 | ] 388 | } 389 | 390 | ], 391 | "plugin_options": [ 392 | "coin/issuer", {"app": "sigs", "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6"} 393 | ] } 394 | } 395 | -------------------------------------------------------------------------------- /gaia-2/gaia/tendermintversion.txt: -------------------------------------------------------------------------------- 1 | 0.15.0-381fe19 -------------------------------------------------------------------------------- /gaia-3-dev/config/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | ##### main base config options ##### 5 | 6 | # TCP or UNIX socket address of the ABCI application, 7 | # or the name of an ABCI application compiled in with the Tendermint binary 8 | proxy_app = "tcp://127.0.0.1:46658" 9 | 10 | # A custom human readable name for this node 11 | moniker = "188.166.148.169" 12 | 13 | # If this node is many blocks behind the tip of the chain, FastSync 14 | # allows them to catchup quickly by downloading blocks in parallel 15 | # and verifying their commits 16 | fast_sync = true 17 | 18 | 19 | # Database backend: leveldb | memdb 20 | db_backend = "leveldb" 21 | 22 | # Database directory 23 | db_path = "data" 24 | 25 | # Output level for logging, including package level options 26 | log_level = "main:info,state:info,*:error" 27 | #log_level = "mempool:error,*:debug" 28 | 29 | 30 | ##### additional base config options ##### 31 | 32 | # Path to the JSON file containing the initial validator set and other meta data 33 | genesis_file = "config/genesis.json" 34 | 35 | # Path to the JSON file containing the private key to use as a validator in the consensus protocol 36 | priv_validator_file = "config/priv_validator.json" 37 | 38 | # Path to the JSON file containing the private key to use for node authentication in the p2p protocol 39 | node_key_file = "config/node_key.json" 40 | 41 | # Mechanism to connect to the ABCI application: socket | grpc 42 | abci = "socket" 43 | 44 | # TCP or UNIX socket address for the profiling server to listen on 45 | prof_laddr = "" 46 | 47 | # If true, query the ABCI app on connecting to a new peer 48 | # so the app can decide if we should keep the connection or not 49 | filter_peers = false 50 | 51 | ##### advanced configuration options ##### 52 | 53 | ##### rpc server configuration options ##### 54 | [rpc] 55 | 56 | # TCP or UNIX socket address for the RPC server to listen on 57 | laddr = "tcp://0.0.0.0:46657" 58 | 59 | # TCP or UNIX socket address for the gRPC server to listen on 60 | # NOTE: This server only supports /broadcast_tx_commit 61 | grpc_laddr = "" 62 | 63 | # Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool 64 | unsafe = false 65 | 66 | ##### peer to peer configuration options ##### 67 | [p2p] 68 | 69 | # Address to listen for incoming connections 70 | laddr = "tcp://0.0.0.0:46656" 71 | 72 | # Comma separated list of seed nodes to connect to 73 | seeds = "82.196.11.230:46656,159.65.184.144:46656,46.101.139.168:46656" 74 | 75 | # Comma separated list of nodes to keep persistent connections to 76 | persistent_peers = "" 77 | 78 | # Path to address book 79 | addr_book_file = "config/addrbook.json" 80 | 81 | # Set true for strict address routability rules 82 | addr_book_strict = true 83 | 84 | # Time to wait before flushing messages out on the connection, in ms 85 | flush_throttle_timeout = 100 86 | 87 | # Maximum number of peers to connect to 88 | #max_num_peers = 50 89 | max_num_peers = 300 90 | 91 | # Maximum size of a message packet payload, in bytes 92 | max_msg_packet_payload_size = 1024 93 | 94 | # Rate at which packets can be sent, in bytes/second 95 | send_rate = 512000 96 | 97 | # Rate at which packets can be received, in bytes/second 98 | recv_rate = 512000 99 | 100 | # Set true to enable the peer-exchange reactor 101 | pex = true 102 | 103 | # Seed mode, in which node constantly crawls the network and looks for 104 | # peers. If another node asks it for addresses, it responds and disconnects. 105 | # 106 | # Does not work if the peer-exchange reactor is disabled. 107 | seed_mode = false 108 | 109 | ##### mempool configuration options ##### 110 | [mempool] 111 | 112 | recheck = true 113 | recheck_empty = true 114 | broadcast = true 115 | wal_dir = "data/mempool.wal" 116 | 117 | ##### consensus configuration options ##### 118 | [consensus] 119 | 120 | wal_file = "data/cs.wal/wal" 121 | wal_light = false 122 | 123 | # All timeouts are in milliseconds 124 | timeout_propose = 3000 125 | timeout_propose_delta = 500 126 | timeout_prevote = 1000 127 | timeout_prevote_delta = 500 128 | timeout_precommit = 1000 129 | timeout_precommit_delta = 500 130 | timeout_commit = 1000 131 | 132 | # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) 133 | skip_timeout_commit = false 134 | 135 | # BlockSize 136 | max_block_size_txs = 10000 137 | max_block_size_bytes = 1 138 | 139 | # EmptyBlocks mode and possible interval between empty blocks in seconds 140 | create_empty_blocks = true 141 | create_empty_blocks_interval = 60 142 | 143 | # Reactor sleep duration parameters are in milliseconds 144 | peer_gossip_sleep_duration = 100 145 | peer_query_maj23_sleep_duration = 2000 146 | 147 | ##### transactions indexer configuration options ##### 148 | [tx_index] 149 | 150 | # What indexer to use for transactions 151 | # 152 | # Options: 153 | # 1) "null" (default) 154 | # 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). 155 | indexer = "kv" 156 | 157 | # Comma-separated list of tags to index (by default the only tag is tx hash) 158 | # 159 | # It's recommended to index only a subset of tags due to possible memory 160 | # bloat. This is, of course, depends on the indexer's DB and the volume of 161 | # transactions. 162 | index_tags = "" 163 | 164 | # When set to true, tells indexer to index all tags. Note this may be not 165 | # desirable (see the comment above). IndexTags has a precedence over 166 | # IndexAllTags (i.e. when given both, IndexTags will be indexed). 167 | index_all_tags = false 168 | 169 | -------------------------------------------------------------------------------- /gaia-3-dev/config/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time":"2018-02-20T03:20:45Z", 3 | "chain_id":"gaia-3-dev", 4 | "validators": 5 | [ 6 | 7 | { 8 | "pub_key": { 9 | "data": "6577432D1D314661DF7A8CFF22A5B16FC97EE6608AC8AC7A4ED52997B4460A11", 10 | "type": "ed25519" 11 | }, 12 | "power":1000, 13 | "name":"188.166.148.169" 14 | } 15 | , 16 | { 17 | "pub_key": { 18 | "data": "9D7B0F9C1C388A9ACC988E8090C303BA613775332BAC44763AFAC10C66DE3A26", 19 | "type": "ed25519" 20 | }, 21 | "power":1000, 22 | "name":"82.196.11.230" 23 | } 24 | , 25 | { 26 | "pub_key": { 27 | "data": "460356A705E87BCE5AE55325B2F534215EE5FAEE874A2EEFA59DE6E19792B7F4", 28 | "type": "ed25519" 29 | }, 30 | "power":1000, 31 | "name":"159.65.184.144" 32 | } 33 | , 34 | { 35 | "pub_key": { 36 | "data": "055C5D849DB4E0EC23FB536A806463D51F1500E7E9B7F6ECED61C60B6CDB2AE4", 37 | "type": "ed25519" 38 | }, 39 | "power":1000, 40 | "name":"46.101.139.168" 41 | } 42 | ], 43 | "app_hash":"", 44 | "app_options": { 45 | "accounts": [ 46 | { 47 | "name": "relay", 48 | "address": "1B1BE55F969F54064628A63B9559E7C21C925165", 49 | "pub_key": { 50 | "type": "ed25519", 51 | "data": "619D3678599971ED29C7529DDD4DA537B97129893598A17C82E3AC9A8BA95279" 52 | }, 53 | "coins": [ 54 | { 55 | "denom": "mycoin", 56 | "amount": 9007199254740992 57 | } 58 | ] 59 | }, 60 | { 61 | "name": "greg", 62 | "address": "B01C264BFE9CBD45458256E613A6F07061A3A6B6", 63 | "pub_key": { 64 | "type": "ed25519", 65 | "data": "E1FFBD187FA2A922CE1B367532CEAC1AD8E606D576AB0D2E2CAA7EC6B7DAC10F" 66 | }, 67 | "coins": [ 68 | { 69 | "denom": "fermion", 70 | "amount": 1000000 71 | }, 72 | { 73 | "denom": "gregcoin", 74 | "amount": 1000 75 | } 76 | ] 77 | }, 78 | { 79 | "name": "monitor1", 80 | "address": "CE456B8BA9AFD1CBDF4ED14558E8C30691E549EA", 81 | "coins": [ 82 | { 83 | "denom": "fermion", 84 | "amount": 100 85 | }, 86 | { 87 | "denom": "moncoin", 88 | "amount": 600000 89 | }, 90 | { 91 | "denom": "leadertoken", 92 | "amount": 1 93 | } 94 | ] 95 | }, 96 | { 97 | "name": "monitor2", 98 | "address": "EF708182E21F893634FD8DCB82A5128E16C76B83", 99 | "coins": [ 100 | { 101 | "denom": "fermion", 102 | "amount": 100 103 | }, 104 | { 105 | "denom": "moncoin", 106 | "amount": 0 107 | }, 108 | { 109 | "denom": "leadertoken", 110 | "amount": 0 111 | } 112 | ] 113 | }, 114 | { 115 | "name": "anton", 116 | "address": "40CC622438D3E42148A1FFD3A27C07C100F8FA3D", 117 | "pub_key": { 118 | "type": "ed25519", 119 | "data": "97BD389257763747488803DC686A8819C685936A3CD275D54EABEE51E0117EE6" 120 | }, 121 | "coins": [ 122 | { 123 | "denom": "fermion", 124 | "amount": 100 125 | }, 126 | { 127 | "denom": "antoncoin", 128 | "amount": 1000 129 | } 130 | ] 131 | }, 132 | { 133 | "name": "adrian", 134 | "address": "4548017683F771FDBCF7D8E74F4723868AA20009", 135 | "coins": [ 136 | { 137 | "denom": "fermion", 138 | "amount": 100 139 | }, 140 | { 141 | "denom": "adriancoin", 142 | "amount": 1000 143 | } 144 | ] 145 | }, 146 | { 147 | "name": "bucky", 148 | "address": "2B24DEE2364762300168DF19B6C18BCE2D399EA2", 149 | "coins": [ 150 | { 151 | "denom": "fermion", 152 | "amount": 10000 153 | }, 154 | { 155 | "denom": "buckycoin", 156 | "amount": 1000 157 | } 158 | ] 159 | }, 160 | { 161 | "name": "bucky-new", 162 | "address": "4FE8FFE12EDBA34BE4E587B2125177AC24594BAF", 163 | "coins": [ 164 | { 165 | "denom": "fermion", 166 | "amount": 10000 167 | }, 168 | { 169 | "denom": "buckycoin", 170 | "amount": 2000 171 | } 172 | ] 173 | }, 174 | { 175 | "name": "rigel", 176 | "address": "C7A6F5FD77DDCA5C43600F33D14533A27C683F55", 177 | "coins": [ 178 | { 179 | "denom": "rigelcoin", 180 | "amount": 1000 181 | }, 182 | { 183 | "denom": "fermion", 184 | "amount": 1000 185 | } 186 | ] 187 | }, 188 | { 189 | "name": "rigel2", 190 | "address": "5B228AB64E290F1FC4D3E933B7623CCA3F015C34", 191 | "coins": [ 192 | { 193 | "denom": "rigelcoin", 194 | "amount": 1000 195 | }, 196 | { 197 | "denom": "fermion", 198 | "amount": 1000 199 | } 200 | ] 201 | }, 202 | { 203 | "name": "shadow", 204 | "address": "B140EFAAE6D5CA1C8E98814C557AF7112E3B9EAE", 205 | "coins": [ 206 | { 207 | "denom": "fermion", 208 | "amount": 100 209 | }, 210 | { 211 | "denom": "shadowcoin", 212 | "amount": 1000 213 | } 214 | ] 215 | }, 216 | { 217 | "name": "peng", 218 | "address": "DC97A6E1A3E1FE868B55BA93C7FC626368261E09", 219 | "coins": [ 220 | { 221 | "denom": "fermion", 222 | "amount": 100 223 | }, 224 | { 225 | "denom": "pengcoin", 226 | "amount": 1000 227 | } 228 | ] 229 | }, 230 | { 231 | "name": "official-faucet", 232 | "address": "2406B52B1DE26F992E5BF334E5F30049C682B5CB", 233 | "coins": [ 234 | { 235 | "denom": "fermion", 236 | "amount": 100000 237 | }, 238 | { 239 | "denom": "antoncoin", 240 | "amount": 100000 241 | }, 242 | { 243 | "denom": "adriancoin", 244 | "amount": 100000 245 | }, 246 | { 247 | "denom": "buckycoin", 248 | "amount": 100000 249 | }, 250 | { 251 | "denom": "rigelcoin", 252 | "amount": 100000 253 | }, 254 | { 255 | "denom": "shadowcoin", 256 | "amount": 100000 257 | }, 258 | { 259 | "denom": "pengcoin", 260 | "amount": 100000 261 | }, 262 | { 263 | "denom": "mattcoin", 264 | "amount": 100000 265 | }, 266 | { 267 | "denom": "freycoin", 268 | "amount": 100000 269 | }, 270 | { 271 | "denom": "wancloudcoin", 272 | "amount": 100000 273 | }, 274 | { 275 | "denom": "bianjiecoin", 276 | "amount": 100000 277 | }, 278 | { 279 | "denom": "alexiscoin", 280 | "amount": 100000 281 | }, 282 | { 283 | "denom": "zakicoin", 284 | "amount": 100000 285 | }, 286 | { 287 | "denom": "gregcoin", 288 | "amount": 100000 289 | } 290 | ] 291 | }, 292 | { 293 | "name": "matt", 294 | "address": "C2104A8191E282AA45D210BA93282B36768EDDA1", 295 | "coins": [ 296 | { 297 | "denom": "fermion", 298 | "amount": 100 299 | }, 300 | { 301 | "denom": "mattcoin", 302 | "amount": 1000 303 | } 304 | ] 305 | }, 306 | { 307 | "name": "frey", 308 | "address": "0F8FB94B5A4D04220F15058B7AA16AF1328B57A9", 309 | "coins": [ 310 | { 311 | "denom": "fermion", 312 | "amount": 100 313 | }, 314 | { 315 | "denom": "freycoin", 316 | "amount": 1000 317 | } 318 | ] 319 | }, 320 | { 321 | "name": "wancloud", 322 | "address": "02C1F2CE501DAF30F758E657B71FC7AD568C4BE5", 323 | "coins": [ 324 | { 325 | "denom": "fermion", 326 | "amount": 100 327 | }, 328 | { 329 | "denom": "wancloudcoin", 330 | "amount": 1000 331 | } 332 | ] 333 | }, 334 | { 335 | "name": "bianjie", 336 | "address": "7D626173FAA69D96E56523A333EAF78F87843CE5", 337 | "coins": [ 338 | { 339 | "denom": "fermion", 340 | "amount": 100 341 | }, 342 | { 343 | "denom": "bianjiecoin", 344 | "amount": 1000 345 | } 346 | ] 347 | }, 348 | { 349 | "name": "alexis", 350 | "address": "42989458D3285F05FE0233EE669A1CCD90AE6F3E", 351 | "coins": [ 352 | { 353 | "denom": "fermion", 354 | "amount": 100 355 | }, 356 | { 357 | "denom": "alexiscoin", 358 | "amount": 1000 359 | } 360 | ] 361 | }, 362 | { 363 | "name": "zaki", 364 | "address": "E2080141FEAD5986FD411121CA077F2835294F5A", 365 | "coins": [ 366 | { 367 | "denom": "fermion", 368 | "amount": 100 369 | }, 370 | { 371 | "denom": "zakicoin", 372 | "amount": 1000 373 | } 374 | ] 375 | }, 376 | { 377 | "name": "jimyang", 378 | "address": "6F94C5B7FEB6EF926A8901A8E8F4B2077D02B354", 379 | "coins": [ 380 | { 381 | "denom": "fermion", 382 | "amount": 1000 383 | } 384 | ] 385 | }, 386 | { 387 | "name": "MichaelYuan", 388 | "address": "F75D0FD7036A3BB9092DD0938BBF0A9323224832", 389 | "coins": [ 390 | { 391 | "denom": "fermion", 392 | "amount": 100000 393 | } 394 | ] 395 | }, 396 | { 397 | "name": "Fabo", 398 | "address": "DF096FDE8D380FA5B2AD20DB2962C82DDEA1ED9B", 399 | "coins": [ 400 | { 401 | "denom": "fermion", 402 | "amount": 100 403 | } 404 | ] 405 | }, 406 | { 407 | "name": "chjango", 408 | "address": "1C0F9000D0AF1CBCAF8EAD636B729797905D6D24", 409 | "coins": [ 410 | { 411 | "denom": "fermion", 412 | "amount": 100 413 | }, 414 | { 415 | "denom": "tokenchjango", 416 | "amount": 1000 417 | } 418 | ] 419 | } 420 | 421 | ], 422 | "plugin_options": [ 423 | "coin/issuer", {"app": "sigs", "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6"} 424 | ] } 425 | } 426 | -------------------------------------------------------------------------------- /gaia-3-dev/gaiaversion.txt: -------------------------------------------------------------------------------- 1 | v0.6.0 -------------------------------------------------------------------------------- /gaia-3000/gaia/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | proxy_app = "tcp://127.0.0.1:46658" 5 | moniker = "zaki|adrian|michael|aurel|martin|tony|greg|nick" 6 | fast_sync = true 7 | 8 | db_backend = "leveldb" 9 | log_level = "state:info,*:error" 10 | #log_level = "*:debug" 11 | 12 | 13 | [rpc] 14 | laddr = "tcp://0.0.0.0:46657" 15 | 16 | 17 | [consensus] 18 | create_empty_blocks_interval = 60 19 | 20 | [tx_index] 21 | index_all_tags = true 22 | 23 | 24 | [p2p] 25 | max_num_peers = 300 26 | pex = true 27 | laddr = "tcp://0.0.0.0:46656" 28 | seeds = "67.207.78.91:46656,165.227.246.236:46656,138.197.145.116:46657,34.217.69.240:46656,78.46.189.133:46656,104.155.152.81:46656,188.226.174.245:46656,45.77.53.208:46656,35.225.12.164:46656" 29 | -------------------------------------------------------------------------------- /gaia-3000/gaia/gaiaversion.txt: -------------------------------------------------------------------------------- 1 | v0.5.0 -------------------------------------------------------------------------------- /gaia-3000/gaia/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time":"2018-01-25T12:00:00Z", 3 | "chain_id":"gaia-3000", 4 | "validators": 5 | [ 6 | 7 | { 8 | "pub_key": { 9 | "data": "A7B22C65AEEDAFA6A4263EE599692BDC9BCA86F55053D6B845E28860B413DB45", 10 | "type": "ed25519" 11 | }, 12 | "power":1000, 13 | "name":"zaki" 14 | } 15 | , 16 | { 17 | "pub_key": { 18 | "data": "DBE1016C753F0A4713DB13B4209F7D28BAC5962AE0D5BA4A6370077E38374455", 19 | "type": "ed25519" 20 | }, 21 | "power":1000, 22 | "name":"adrian-1" 23 | } 24 | , 25 | { 26 | "pub_key": { 27 | "data": "0491A12A2E900639630E1979F7489A2690D9F59E5138C62659938A6D1B42CE86", 28 | "type": "ed25519" 29 | }, 30 | "power":1000, 31 | "name":"adrian-2" 32 | } 33 | , 34 | { 35 | "pub_key": { 36 | "data": "F57716453B7883AA36F74A9741A981FAEF04DF5ED18DBA7C4EC758E68C668F0D", 37 | "type": "ed25519" 38 | }, 39 | "power":1000, 40 | "name":"michael" 41 | } 42 | , 43 | { 44 | "pub_key": { 45 | "data": "EBF9D3ED810A924DACBC61C9C454E082AB2F3C4B6CC4CF3436D75346CC438D4C", 46 | "type": "ed25519" 47 | }, 48 | "power":1000, 49 | "name":"aurel" 50 | } 51 | , 52 | { 53 | "pub_key": { 54 | "data": "0E29DBF7CB23516ACA1ADEF66092D055884504AF0CC165AD39F241C54FF01461", 55 | "type": "ed25519" 56 | }, 57 | "power":1000, 58 | "name":"martin" 59 | } 60 | , 61 | { 62 | "pub_key": { 63 | "data": "01A4319D573FA30335E4DCC418B3116E22F43B4AC8490499A96C47CEF41F414D", 64 | "type": "ed25519" 65 | }, 66 | "power":1000, 67 | "name":"tony" 68 | } 69 | , 70 | { 71 | "pub_key": { 72 | "data": "492DCDE8F3394A97BB92ECC3D025CEA5E380C7A04BF30991FDAF262EECC672C6", 73 | "type": "ed25519" 74 | }, 75 | "power":1000, 76 | "name":"nick" 77 | } 78 | , 79 | { 80 | "pub_key": { 81 | "data": "E16A0ADE87E4E696D4280A382A5D444CC146FA52C9F997B03DB78BA40BE24673", 82 | "type": "ed25519" 83 | }, 84 | "power":1000, 85 | "name":"greg" 86 | }, 87 | { 88 | "pub_key": { 89 | "data": "88D4D9C17A707D056A707EADB91C084E5A66D09BBF359E7BADDD5B5E5CDAFDC6", 90 | "type": "ed25519" 91 | }, 92 | "power":1000, 93 | "name":"zach" 94 | } 95 | , 96 | { 97 | "pub_key": { 98 | "data": "B540EF9793B0D95AF1FF491510EEE2037AC6173DB42DCC675822C6039DA8FAFF", 99 | "type": "ed25519" 100 | }, 101 | "power":1000, 102 | "name":"nickray" 103 | } 104 | ], 105 | "app_hash":"", 106 | "app_options": { 107 | "accounts": [ 108 | { 109 | "name": "relay", 110 | "address": "70C54A8C0002D038B1A2E27B5C46A39F8EB97954", 111 | "coins": [ 112 | { 113 | "denom": "mycoin", 114 | "amount": 9007199254740992 115 | } 116 | ] 117 | }, 118 | { 119 | "name": "michael", 120 | "address": "1B1BE55F969F54064628A63B9559E7C21C925165", 121 | "pub_key": { 122 | "type": "ed25519", 123 | "data": "619D3678599971ED29C7529DDD4DA537B97129893598A17C82E3AC9A8BA95279" 124 | }, 125 | "coins": [ 126 | { 127 | "denom": "fermion", 128 | "amount": 1000 129 | }, 130 | { 131 | "denom": "buckycoin", 132 | "amount": 5000 133 | } 134 | ] 135 | }, 136 | { 137 | "name": "greg", 138 | "address": "FCBC63D3129ED7090E344C1156BB45188097071C", 139 | "coins": [ 140 | { 141 | "denom": "fermion", 142 | "amount": 1000 143 | }, 144 | { 145 | "denom": "gregcoin", 146 | "amount": 1000 147 | } 148 | ] 149 | }, 150 | { 151 | "name": "anton", 152 | "address": "40CC622438D3E42148A1FFD3A27C07C100F8FA3D", 153 | "pub_key": { 154 | "type": "ed25519", 155 | "data": "97BD389257763747488803DC686A8819C685936A3CD275D54EABEE51E0117EE6" 156 | }, 157 | "coins": [ 158 | { 159 | "denom": "fermion", 160 | "amount": 1000 161 | }, 162 | { 163 | "denom": "antoncoin", 164 | "amount": 1000 165 | } 166 | ] 167 | }, 168 | { 169 | "name": "adrian-1", 170 | "address": "0FA1DB09E8B174E81E94280C047C158D4271457B", 171 | "coins": [ 172 | { 173 | "denom": "fermion", 174 | "amount": 1000 175 | }, 176 | { 177 | "denom": "adriancoin", 178 | "amount": 200000 179 | } 180 | ] 181 | }, 182 | { 183 | "name": "adrian-2", 184 | "address": "E76A6FFD7A9F88769029C72363ABAF1320341DDC", 185 | "coins": [ 186 | { 187 | "denom": "fermion", 188 | "amount": 200000 189 | }, 190 | { 191 | "denom": "adriancoin", 192 | "amount": 200000 193 | } 194 | ] 195 | }, 196 | { 197 | "name": "nickray", 198 | "address": "17307FAB613EB9FB20459CF92346E07229BBC6D8", 199 | "coins": [ 200 | { 201 | "denom": "fermion", 202 | "amount": 1000 203 | }, 204 | { 205 | "denom": "validstatecoin", 206 | "amount": 10000 207 | } 208 | ] 209 | }, 210 | { 211 | "name": "bucky", 212 | "address": "2B24DEE2364762300168DF19B6C18BCE2D399EA2", 213 | "coins": [ 214 | { 215 | "denom": "fermion", 216 | "amount": 1000 217 | }, 218 | { 219 | "denom": "buckycoin", 220 | "amount": 1000 221 | } 222 | ] 223 | }, 224 | { 225 | "name": "bucky-new", 226 | "address": "4FE8FFE12EDBA34BE4E587B2125177AC24594BAF", 227 | "coins": [ 228 | { 229 | "denom": "fermion", 230 | "amount": 1000 231 | }, 232 | { 233 | "denom": "buckycoin", 234 | "amount": 2000 235 | } 236 | ] 237 | }, 238 | { 239 | "name": "rigel", 240 | "address": "C7A6F5FD77DDCA5C43600F33D14533A27C683F55", 241 | "coins": [ 242 | { 243 | "denom": "rigelcoin", 244 | "amount": 1000 245 | }, 246 | { 247 | "denom": "fermion", 248 | "amount": 1000 249 | } 250 | ] 251 | }, 252 | { 253 | "name": "rigel2", 254 | "address": "5B228AB64E290F1FC4D3E933B7623CCA3F015C34", 255 | "coins": [ 256 | { 257 | "denom": "rigelcoin", 258 | "amount": 1000 259 | }, 260 | { 261 | "denom": "fermion", 262 | "amount": 1000 263 | } 264 | ] 265 | }, 266 | { 267 | "name": "shadow", 268 | "address": "B140EFAAE6D5CA1C8E98814C557AF7112E3B9EAE", 269 | "pub_key": { 270 | "type": "ed25519", 271 | "data": "F492282705DF29ACC3BB803D543B7BF98C8080FA28AE85B62B45827EA9DA8167" 272 | }, 273 | "coins": [ 274 | { 275 | "denom": "fermion", 276 | "amount": 100 277 | }, 278 | { 279 | "denom": "shadowcoin", 280 | "amount": 1000 281 | } 282 | ] 283 | }, 284 | { 285 | "name": "peng", 286 | "address": "DC97A6E1A3E1FE868B55BA93C7FC626368261E09", 287 | "coins": [ 288 | { 289 | "denom": "fermion", 290 | "amount": 100 291 | }, 292 | { 293 | "denom": "pengcoin", 294 | "amount": 1000 295 | } 296 | ] 297 | }, 298 | { 299 | "name": "matt", 300 | "address": "C2104A8191E282AA45D210BA93282B36768EDDA1", 301 | "coins": [ 302 | { 303 | "denom": "fermion", 304 | "amount": 100 305 | }, 306 | { 307 | "denom": "mattcoin", 308 | "amount": 1000 309 | } 310 | ] 311 | }, 312 | { 313 | "name": "frey", 314 | "address": "0F8FB94B5A4D04220F15058B7AA16AF1328B57A9", 315 | "coins": [ 316 | { 317 | "denom": "fermion", 318 | "amount": 100 319 | }, 320 | { 321 | "denom": "freycoin", 322 | "amount": 1000 323 | } 324 | ] 325 | }, 326 | { 327 | "name": "wancloud", 328 | "address": "02C1F2CE501DAF30F758E657B71FC7AD568C4BE5", 329 | "coins": [ 330 | { 331 | "denom": "fermion", 332 | "amount": 100 333 | }, 334 | { 335 | "denom": "wancloudcoin", 336 | "amount": 1000 337 | } 338 | ] 339 | }, 340 | { 341 | "name": "bianjie", 342 | "address": "7D626173FAA69D96E56523A333EAF78F87843CE5", 343 | "coins": [ 344 | { 345 | "denom": "fermion", 346 | "amount": 100 347 | }, 348 | { 349 | "denom": "bianjiecoin", 350 | "amount": 1000 351 | } 352 | ] 353 | }, 354 | { 355 | "name": "alexis", 356 | "address": "42989458D3285F05FE0233EE669A1CCD90AE6F3E", 357 | "coins": [ 358 | { 359 | "denom": "fermion", 360 | "amount": 100 361 | }, 362 | { 363 | "denom": "alexiscoin", 364 | "amount": 1000 365 | } 366 | ] 367 | }, 368 | { 369 | "name": "zaki", 370 | "address": "E2080141FEAD5986FD411121CA077F2835294F5A", 371 | "coins": [ 372 | { 373 | "denom": "fermion", 374 | "amount": 100 375 | }, 376 | { 377 | "denom": "zakicoin", 378 | "amount": 1000 379 | } 380 | ] 381 | }, 382 | { 383 | "name": "tony", 384 | "address": "E8B353593B17BA221317C9210D616ED7C5ECFC66", 385 | "coins": [ 386 | { 387 | "denom": "fermion", 388 | "amount": 1000 389 | }, 390 | { 391 | "denom": "cybermonies", 392 | "amount": 1337 393 | } 394 | ] 395 | }, 396 | { 397 | "name": "jimyang", 398 | "address": "6F94C5B7FEB6EF926A8901A8E8F4B2077D02B354", 399 | "coins": [ 400 | { 401 | "denom": "fermion", 402 | "amount": 1000 403 | } 404 | ] 405 | }, 406 | { 407 | "name": "MichaelYuan", 408 | "address": "F75D0FD7036A3BB9092DD0938BBF0A9323224832", 409 | "coins": [ 410 | { 411 | "denom": "fermion", 412 | "amount": 100000 413 | } 414 | ] 415 | }, 416 | { 417 | "name": "Fabo", 418 | "address": "DF096FDE8D380FA5B2AD20DB2962C82DDEA1ED9B", 419 | "coins": [ 420 | { 421 | "denom": "fermion", 422 | "amount": 100 423 | } 424 | ] 425 | }, 426 | { 427 | "name": "chjango", 428 | "address": "1C0F9000D0AF1CBCAF8EAD636B729797905D6D24", 429 | "coins": [ 430 | { 431 | "denom": "fermion", 432 | "amount": 100 433 | }, 434 | { 435 | "denom": "tokenchjango", 436 | "amount": 1000 437 | } 438 | ] 439 | }, 440 | { 441 | "name": "zach", 442 | "address": "D75699C286B04B09C40CAABE7E75C064D51E2A7D", 443 | "coins": [ 444 | { 445 | "denom": "fermion", 446 | "amount": 100 447 | }, 448 | { 449 | "denom": "zeecoin", 450 | "amount": 10000 451 | } 452 | ] 453 | } 454 | 455 | ], 456 | "plugin_options": [ 457 | "coin/issuer", {"app": "sigs", "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6"} 458 | ] } 459 | } 460 | -------------------------------------------------------------------------------- /gaia-3000/gaia/tendermintversion.txt: -------------------------------------------------------------------------------- 1 | 0.15.0-381fe19 -------------------------------------------------------------------------------- /gaia-3001/gaia/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | proxy_app = "tcp://127.0.0.1:46658" 5 | moniker = "YOURNAME" 6 | fast_sync = true 7 | 8 | db_backend = "leveldb" 9 | log_level = "state:info,*:error" 10 | #log_level = "*:debug" 11 | 12 | 13 | [rpc] 14 | laddr = "tcp://0.0.0.0:46657" 15 | 16 | 17 | [consensus] 18 | create_empty_blocks_interval = 60 19 | 20 | [tx_index] 21 | index_all_tags = true 22 | 23 | 24 | [p2p] 25 | max_num_peers = 300 26 | pex = true 27 | laddr = "tcp://0.0.0.0:46656" 28 | //IPs: Greg,Nick,Adrian1,Adrian2,Michael 29 | seeds = "198.211.124.237:46656,78.46.189.133:46656,67.207.78.91:46656,165.227.246.236:46656,172.31.28.156:46656" 30 | -------------------------------------------------------------------------------- /gaia-3001/gaia/gaiaversion.txt: -------------------------------------------------------------------------------- 1 | v0.5.0 -------------------------------------------------------------------------------- /gaia-3001/gaia/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time":"2018-01-30T12:00:00Z", 3 | "chain_id":"gaia-3001", 4 | "validators": 5 | [ 6 | 7 | { 8 | "pub_key": { 9 | "data": "F57716453B7883AA36F74A9741A981FAEF04DF5ED18DBA7C4EC758E68C668F0D", 10 | "type": "ed25519" 11 | }, 12 | "power":1000, 13 | "name":"Michael" 14 | } 15 | , 16 | { 17 | "pub_key": { 18 | "data": "B540EF9793B0D95AF1FF491510EEE2037AC6173DB42DCC675822C6039DA8FAFF", 19 | "type": "ed25519" 20 | }, 21 | "power":1000, 22 | "name":"Nick" 23 | } 24 | , 25 | { 26 | "pub_key": { 27 | "data": "FB270BF528F35065D38795C574198CE16D75B601C6A132ECF50AA8AD63B0627E", 28 | "type": "ed25519" 29 | }, 30 | "power":1000, 31 | "name":"Adrian1" 32 | } 33 | , 34 | { 35 | "pub_key": { 36 | "data": "FEB172E6CD6D7E59C09D36AA5A2A77A74F21684DD05543C78EDC659C3DCD425F", 37 | "type": "ed25519" 38 | }, 39 | "power":1000, 40 | "name":"Adrian2" 41 | } 42 | , 43 | { 44 | "pub_key": { 45 | "data": "A8DF2B61061E09711E9CEF875B90DB751F82E195CE7A6E329FD8FAEA4B810167", 46 | "type": "ed25519" 47 | }, 48 | "power":1000, 49 | "name":"Greg" 50 | } 51 | ], 52 | "app_hash":"", 53 | "app_options": { 54 | "accounts": [ 55 | { 56 | "name": "relay", 57 | "address": "1B1BE55F969F54064628A63B9559E7C21C925165", 58 | "pub_key": { 59 | "type": "ed25519", 60 | "data": "619D3678599971ED29C7529DDD4DA537B97129893598A17C82E3AC9A8BA95279" 61 | }, 62 | "coins": [ 63 | { 64 | "denom": "mycoin", 65 | "amount": 9007199254740992 66 | } 67 | ] 68 | }, 69 | { 70 | "name": "greg", 71 | "address": "838800D8F08DCD9C6B355009BCABEE648B3A335B", 72 | "coins": [ 73 | { 74 | "denom": "fermion", 75 | "amount": 1000000 76 | }, 77 | { 78 | "denom": "gregcoin", 79 | "amount": 1000 80 | } 81 | ] 82 | }, 83 | { 84 | "name": "monitor1", 85 | "address": "CE456B8BA9AFD1CBDF4ED14558E8C30691E549EA", 86 | "coins": [ 87 | { 88 | "denom": "fermion", 89 | "amount": 100 90 | }, 91 | { 92 | "denom": "moncoin", 93 | "amount": 600000 94 | }, 95 | { 96 | "denom": "leadertoken", 97 | "amount": 1 98 | } 99 | ] 100 | }, 101 | { 102 | "name": "monitor2", 103 | "address": "EF708182E21F893634FD8DCB82A5128E16C76B83", 104 | "coins": [ 105 | { 106 | "denom": "fermion", 107 | "amount": 100 108 | }, 109 | { 110 | "denom": "moncoin", 111 | "amount": 0 112 | }, 113 | { 114 | "denom": "leadertoken", 115 | "amount": 0 116 | } 117 | ] 118 | }, 119 | { 120 | "name": "Michael", 121 | "address": "70C54A8C0002D038B1A2E27B5C46A39F8EB97954", 122 | "coins": [ 123 | { 124 | "denom": "fermion", 125 | "amount": 100 126 | }, 127 | { 128 | "denom": "michaelcoin", 129 | "amount": 1000 130 | } 131 | ] 132 | }, 133 | { 134 | "name": "adrian", 135 | "address": "0FA1DB09E8B174E81E94280C047C158D4271457B", 136 | "coins": [ 137 | { 138 | "denom": "fermion", 139 | "amount": 100 140 | }, 141 | { 142 | "denom": "adriancoin", 143 | "amount": 1000 144 | } 145 | ] 146 | }, 147 | { 148 | "name": "Nickray", 149 | "address": "17307FAB613EB9FB20459CF92346E07229BBC6D8", 150 | "coins": [ 151 | { 152 | "denom": "fermion", 153 | "amount": 10000 154 | }, 155 | { 156 | "denom": "buckycoin", 157 | "amount": 1000 158 | } 159 | ] 160 | }, 161 | { 162 | "name": "bucky-new", 163 | "address": "4FE8FFE12EDBA34BE4E587B2125177AC24594BAF", 164 | "coins": [ 165 | { 166 | "denom": "fermion", 167 | "amount": 10000000000 168 | }, 169 | { 170 | "denom": "buckycoin", 171 | "amount": 2000 172 | } 173 | ] 174 | }, 175 | { 176 | "name": "rigel", 177 | "address": "C7A6F5FD77DDCA5C43600F33D14533A27C683F55", 178 | "coins": [ 179 | { 180 | "denom": "rigelcoin", 181 | "amount": 1000 182 | }, 183 | { 184 | "denom": "fermion", 185 | "amount": 10000 186 | } 187 | ] 188 | }, 189 | { 190 | "name": "rigel2", 191 | "address": "5B228AB64E290F1FC4D3E933B7623CCA3F015C34", 192 | "coins": [ 193 | { 194 | "denom": "rigelcoin", 195 | "amount": 1000 196 | }, 197 | { 198 | "denom": "fermion", 199 | "amount": 10000 200 | } 201 | ] 202 | }, 203 | { 204 | "name": "shadow", 205 | "address": "B140EFAAE6D5CA1C8E98814C557AF7112E3B9EAE", 206 | "pub_key": { 207 | "type": "ed25519", 208 | "data": "F492282705DF29ACC3BB803D543B7BF98C8080FA28AE85B62B45827EA9DA8167" 209 | }, 210 | "coins": [ 211 | { 212 | "denom": "fermion", 213 | "amount": 100 214 | }, 215 | { 216 | "denom": "shadowcoin", 217 | "amount": 1000 218 | } 219 | ] 220 | }, 221 | { 222 | "name": "peng", 223 | "address": "DC97A6E1A3E1FE868B55BA93C7FC626368261E09", 224 | "coins": [ 225 | { 226 | "denom": "fermion", 227 | "amount": 100 228 | }, 229 | { 230 | "denom": "pengcoin", 231 | "amount": 1000 232 | } 233 | ] 234 | }, 235 | { 236 | "name": "matt", 237 | "address": "C2104A8191E282AA45D210BA93282B36768EDDA1", 238 | "coins": [ 239 | { 240 | "denom": "fermion", 241 | "amount": 100 242 | }, 243 | { 244 | "denom": "mattcoin", 245 | "amount": 1000 246 | } 247 | ] 248 | }, 249 | { 250 | "name": "frey", 251 | "address": "0F8FB94B5A4D04220F15058B7AA16AF1328B57A9", 252 | "coins": [ 253 | { 254 | "denom": "fermion", 255 | "amount": 100 256 | }, 257 | { 258 | "denom": "freycoin", 259 | "amount": 1000 260 | } 261 | ] 262 | }, 263 | { 264 | "name": "wancloud", 265 | "address": "02C1F2CE501DAF30F758E657B71FC7AD568C4BE5", 266 | "coins": [ 267 | { 268 | "denom": "fermion", 269 | "amount": 100 270 | }, 271 | { 272 | "denom": "wancloudcoin", 273 | "amount": 1000 274 | } 275 | ] 276 | }, 277 | { 278 | "name": "bianjie", 279 | "address": "7D626173FAA69D96E56523A333EAF78F87843CE5", 280 | "coins": [ 281 | { 282 | "denom": "fermion", 283 | "amount": 100 284 | }, 285 | { 286 | "denom": "bianjiecoin", 287 | "amount": 1000 288 | } 289 | ] 290 | }, 291 | { 292 | "name": "alexis", 293 | "address": "42989458D3285F05FE0233EE669A1CCD90AE6F3E", 294 | "coins": [ 295 | { 296 | "denom": "fermion", 297 | "amount": 100 298 | }, 299 | { 300 | "denom": "alexiscoin", 301 | "amount": 1000 302 | } 303 | ] 304 | }, 305 | { 306 | "name": "zaki", 307 | "address": "E2080141FEAD5986FD411121CA077F2835294F5A", 308 | "coins": [ 309 | { 310 | "denom": "fermion", 311 | "amount": 100 312 | }, 313 | { 314 | "denom": "zakicoin", 315 | "amount": 1000 316 | } 317 | ] 318 | }, 319 | { 320 | "name": "jimyang", 321 | "address": "6F94C5B7FEB6EF926A8901A8E8F4B2077D02B354", 322 | "coins": [ 323 | { 324 | "denom": "fermion", 325 | "amount": 1000 326 | } 327 | ] 328 | }, 329 | { 330 | "name": "MichaelYuan", 331 | "address": "F75D0FD7036A3BB9092DD0938BBF0A9323224832", 332 | "coins": [ 333 | { 334 | "denom": "fermion", 335 | "amount": 100000 336 | } 337 | ] 338 | }, 339 | { 340 | "name": "Fabo", 341 | "address": "DF096FDE8D380FA5B2AD20DB2962C82DDEA1ED9B", 342 | "coins": [ 343 | { 344 | "denom": "fermion", 345 | "amount": 100 346 | } 347 | ] 348 | }, 349 | { 350 | "name": "chjango", 351 | "address": "1C0F9000D0AF1CBCAF8EAD636B729797905D6D24", 352 | "coins": [ 353 | { 354 | "denom": "fermion", 355 | "amount": 100 356 | }, 357 | { 358 | "denom": "tokenchjango", 359 | "amount": 1000 360 | } 361 | ] 362 | } 363 | 364 | ], 365 | "plugin_options": [ 366 | "coin/issuer", {"app": "sigs", "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6"} 367 | ] } 368 | } 369 | -------------------------------------------------------------------------------- /gaia-3001/gaia/tendermintversion.txt: -------------------------------------------------------------------------------- 1 | 0.15.0-381fe19 -------------------------------------------------------------------------------- /gaia-3002/gaia/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | proxy_app = "tcp://127.0.0.1:46658" 5 | moniker = "YOURNAME" 6 | fast_sync = true 7 | 8 | db_backend = "leveldb" 9 | log_level = "state:info,*:error" 10 | 11 | [rpc] 12 | laddr = "tcp://0.0.0.0:46657" 13 | 14 | [consensus] 15 | create_empty_blocks_interval = 60 16 | 17 | [tx_index] 18 | index_all_tags = true 19 | 20 | [p2p] 21 | max_num_peers = 300 22 | pex = true 23 | laddr = "tcp://0.0.0.0:46656" 24 | # IPs: Adrian1, Adrian2, Nickray, Michael, Zaki, Sunny, Brandon, Chris, Tony, Kris, Greg1, Greg2 25 | seeds = "67.207.78.91:46656,165.227.246.236:46656,gaia-3002.h.valid.st:46656,172.31.28.156:46656,35.204.86.158:46656,148.76.42.147:46656,169.229.198.105:46656,52.15.176.85:46656,104.198.227.222:46656,gaia3002.mycosmosvalidator.com:46656,198.211.124.112:46656,207.154.217.39:46656" 26 | -------------------------------------------------------------------------------- /gaia-3002/gaia/gaiaversion.txt: -------------------------------------------------------------------------------- 1 | v0.5.0 2 | -------------------------------------------------------------------------------- /gaia-3002/gaia/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time":"2018-02-13T12:00:00Z", 3 | "chain_id":"gaia-3002", 4 | "validators": 5 | [ 6 | { 7 | "pub_key": { 8 | "data": "4E97339F0442920A581FD9B352DF8457B90E46B126B23D751C3DDFB2416C51DF", 9 | "type": "ed25519" 10 | }, 11 | "power":1000, 12 | "name":"adrian1" 13 | }, 14 | { 15 | "pub_key": { 16 | "data": "B23B78975404FD69EC11AEF56FEAA9988CC9A7E9E5C853E7221947DA97693924", 17 | "type": "ed25519" 18 | }, 19 | "power":1000, 20 | "name":"adrian2" 21 | }, 22 | { 23 | "pub_key": { 24 | "data": "B540EF9793B0D95AF1FF491510EEE2037AC6173DB42DCC675822C6039DA8FAFF", 25 | "type": "ed25519" 26 | }, 27 | "power":1000, 28 | "name":"ValidState" 29 | }, 30 | { 31 | "pub_key": { 32 | "data": "93B20E4778D8E36652D9DA114261CE628CA0ADA930BB6FFE7C267536989CD643", 33 | "type": "ed25519" 34 | }, 35 | "power":1000, 36 | "name":"MyCosmosValidator" 37 | }, 38 | { 39 | "pub_key": { 40 | "data": "778F0B43968F67A9319A40BF76ACBD1CB59C4AEB56913075C6518325E15D6AAD", 41 | "type": "ed25519" 42 | }, 43 | "power":1000, 44 | "name":"Michael" 45 | }, 46 | { 47 | "pub_key": { 48 | "data": "D9D72EC3F5D53A13E6C4CB2B466A6E0823754667D83B4C6B965EFB147E9D8D5D", 49 | "type": "ed25519" 50 | }, 51 | "power":1000, 52 | "name":"Zaki" 53 | }, 54 | { 55 | "pub_key": { 56 | "data": "CE3501E1B39EB3292D1472FD9DE793FA0BDA5E439D9CD29E54A421488BBB1754", 57 | "type": "ed25519" 58 | }, 59 | "power":1000, 60 | "name":"Brandon" 61 | }, 62 | { 63 | "pub_key": { 64 | "data": "2C7212C3A94A5BEAEB8A5E8798E3E14C0072F4048FE0A9805D767620F776761E", 65 | "type": "ed25519" 66 | }, 67 | "power":1000, 68 | "name":"greg1" 69 | }, 70 | { 71 | "pub_key": { 72 | "data": "63BE34A588F76EA8C356FC3D63FB48C0A4E81D9818AA899C7BE75ED0B1EF81A9", 73 | "type": "ed25519" 74 | }, 75 | "power":1000, 76 | "name":"greg2" 77 | }, 78 | { 79 | "pub_key": { 80 | "data": "B5A19D349A7FFB2A46C42C891F47730A62E8B4F0C39202FB775E1E223C26471A", 81 | "type": "ed25519" 82 | }, 83 | "power":1000, 84 | "name":"Chris" 85 | }, 86 | { 87 | "pub_key": { 88 | "data": "2162BDD7AEE7C0D45ABC89DBD2FCE9043CFB3B797825507EE2811FBB7B6742E5", 89 | "type": "ed25519" 90 | }, 91 | "power":1000, 92 | "name":"Sunny" 93 | }, 94 | { 95 | "pub_key": { 96 | "data": "4C47047018BC6B01C3D3A409916FE341735236815C2A609005AC5A831771F280", 97 | "type": "ed25519" 98 | }, 99 | "power":1000, 100 | "name":"tony" 101 | } 102 | ], 103 | "app_hash":"", 104 | "app_options": { 105 | "accounts": [ 106 | { 107 | "name": "adrian", 108 | "address": "D6679DA21A235A3BF09B7F8D868631093863D268", 109 | "coins": [ 110 | { 111 | "denom": "fermion", 112 | "amount": 1000000 113 | }, 114 | { 115 | "denom": "adriancoin", 116 | "amount": 100000 117 | } 118 | ] 119 | }, 120 | { 121 | "name": "brandon", 122 | "address": "BC1284AA8EC1EB2B167D2D193515E92C987AE6D9", 123 | "coins": [ 124 | { 125 | "denom": "fermion", 126 | "amount": 1000000 127 | }, 128 | { 129 | "denom": "brandoncoin", 130 | "amount": 100000 131 | } 132 | ] 133 | }, 134 | { 135 | "name": "sunny", 136 | "address": "A3AD8DDD017832943C05C0267A06A86A9451E0E1", 137 | "coins": [ 138 | { 139 | "denom": "fermion", 140 | "amount": 10000000 141 | }, 142 | { 143 | "denom": "sunnycoin", 144 | "amount": 10000000 145 | }, 146 | { 147 | "denom": "antifermions", 148 | "amount": 1000 149 | } 150 | ] 151 | }, 152 | { 153 | "name": "nickray", 154 | "address": "17307FAB613EB9FB20459CF92346E07229BBC6D8", 155 | "coins": [ 156 | { 157 | "denom": "fermion", 158 | "amount": 1000000 159 | }, 160 | { 161 | "denom": "validstatecoin", 162 | "amount": 1000 163 | } 164 | ] 165 | }, 166 | { 167 | "name": "mycosmosvalidator", 168 | "address": "8047EA72D2728D56CA38AF2174591E21AA0D0897", 169 | "coins": [ 170 | { 171 | "denom": "fermion", 172 | "amount": 1000000 173 | }, 174 | { 175 | "denom": "kriscoin", 176 | "amount": 100000 177 | } 178 | ] 179 | }, 180 | { 181 | 182 | "name": "michael", 183 | "address": "68317AE84E6944CB7C5A7C1DC47343BF20A7AF10", 184 | "coins": [ 185 | { 186 | "denom": "fermion", 187 | "amount": 100000 188 | }, 189 | { 190 | "denom": "bkcoin", 191 | "amount": 3000 192 | } 193 | ] 194 | }, 195 | { 196 | "name": "chris", 197 | "address": "8B67A833EAF0B599A5802FE18F751F9718CC8548", 198 | "coins": [ 199 | { 200 | "denom": "fermion", 201 | "amount": 100000 202 | }, 203 | { 204 | "denom": "chriscoin", 205 | "amount": 10000 206 | } 207 | ] 208 | }, 209 | { 210 | "name": "zaki", 211 | "address": "E2080141FEAD5986FD411121CA077F2835294F5A", 212 | "coins": [ 213 | { 214 | "denom": "fermion", 215 | "amount": 100000 216 | }, 217 | { 218 | "denom": "zakicoin", 219 | "amount": 100000 220 | } 221 | ] 222 | }, 223 | { 224 | "name": "greg", 225 | "address": "DD0107AC43BD4A206C4B3F8F36145A7A7916F974", 226 | "coins": [ 227 | { 228 | "denom": "fermion", 229 | "amount": 100000 230 | }, 231 | { 232 | "denom": "gregcoin", 233 | "amount": 100000 234 | } 235 | ] 236 | }, 237 | { 238 | "name": "tony", 239 | "address": "19CE912366E2DE128EA6E1DE5324A896370ED7D2", 240 | "coins": [ 241 | { 242 | "denom": "fermion", 243 | "amount": 100000 244 | }, 245 | { 246 | "denom": "cybermonies", 247 | "amount": 1337 248 | } 249 | ] 250 | } 251 | ], 252 | "plugin_options": [ 253 | "coin/issuer", {"app": "sigs", "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6"} 254 | ] 255 | } 256 | } 257 | -------------------------------------------------------------------------------- /gaia-3002/gaia/tendermintversion.txt: -------------------------------------------------------------------------------- 1 | 0.15.0-381fe19 2 | -------------------------------------------------------------------------------- /gaia-3003/gaia/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | proxy_app = "tcp://127.0.0.1:46658" 5 | moniker = "YOURNAME" 6 | fast_sync = true 7 | 8 | db_backend = "leveldb" 9 | log_level = "state:info,*:error" 10 | 11 | [rpc] 12 | laddr = "tcp://0.0.0.0:46657" 13 | 14 | [consensus] 15 | create_empty_blocks_interval = 60 16 | 17 | [tx_index] 18 | index_all_tags = true 19 | 20 | [p2p] 21 | max_num_peers = 300 22 | pex = true 23 | laddr = "tcp://0.0.0.0:46656" 24 | # IPs: adrian-1, adrian-2, nickray/validstate, brandon, kris/mycosmosvalidator, chris, pbostrom, mdyring, nuevax,sunny 25 | seeds = "165.227.246.236:46656,67.207.78.91:46656,207.154.217.39:46656,139.162.19.186:46656,35.225.5.124:46656,35.226.159.196:46656,peer.gaia-3003.valid.st:5653,169.229.198.105:46656,gaia-3003-a.mycosmosvalidator.com:46656,gaia-3003-b.mycosmosvalidator.com:46656,gaia-3003-c.mycosmosvalidator.com:46656,172.31.28.156:46656,54.90.40.94:46656,18.197.23.227:46656,104.237.6.136:46656,148.76.42.147:46656,197.49.108.149:46656" 26 | -------------------------------------------------------------------------------- /gaia-3003/gaia/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time": "2018-02-27T12:00:00Z", 3 | "chain_id": "gaia-3003", 4 | "validators": [{ 5 | "pub_key": { 6 | "data": "6A46F5129B17B078D7BF3F72EE19777552B6A63FF25DEA4C5FBFE6E880913982", 7 | "type": "ed25519" 8 | }, 9 | "power": 1000, 10 | "name": "adrian-one" 11 | }, 12 | { 13 | "pub_key": { 14 | "data": "09B8141CC89DF210732BFB9B9AA1B165B0DE918B96BC68CBC4907C2F2AA7700E", 15 | "type": "ed25519" 16 | }, 17 | "power": 1000, 18 | "name": "adrian-one" 19 | }, 20 | { 21 | "pub_key": { 22 | "data": "15D5D6BE776C7491B0A3DEA844AB8D49001D7CE0DDF9DA3B9A30A952FF3CD75A", 23 | "type": "ed25519" 24 | }, 25 | "power": 1000, 26 | "name": "validstate-a" 27 | }, 28 | { 29 | "pub_key": { 30 | "data": "718F8CF4FD8E236228442840883E20A81652EC004B4A3383CB8AAEC07025175B", 31 | "type": "ed25519" 32 | }, 33 | "power": 1000, 34 | "name": "validstate-b" 35 | }, 36 | { 37 | "pub_key": { 38 | "data": "7094A1671251D50A963DF20156A64D97AC3BA9181490374C6DACC52A5528375C", 39 | "type": "ed25519" 40 | }, 41 | "power": 1000, 42 | "name": "validstate-c" 43 | }, 44 | { 45 | "pub_key": { 46 | "type": "ed25519", 47 | "data": "0BC9C9BEE2C9BE6D1D0DDC36F0A2C895D00213A7F7369C6A4432271CB0BB39C9" 48 | }, 49 | "power": 1000, 50 | "name": "Sunny" 51 | }, 52 | { 53 | "pub_key": { 54 | "type": "ed25519", 55 | "data": "87C1154E2D4EF3F6B60744F6D62B39B2689A59FBE95042DFFEC86FA8723C48E2" 56 | }, 57 | "power": 1000, 58 | "name": "amr" 59 | }, 60 | { 61 | "pub_key": { 62 | "data": "9D8B07D6E3A32F099C0BD5F594112C1A05FB2F4201201E1E90BBF195F94D6672", 63 | "type": "ed25519" 64 | }, 65 | "power": 1000, 66 | "name": "Michael" 67 | }, 68 | { 69 | "pub_key": { 70 | "data": "92FCE89A12231135F6B5E07C58C82BEDF855EE92B406B768F4B1618A061FBE05", 71 | "type": "ed25519" 72 | }, 73 | "power": 1000, 74 | "name": "tony1" 75 | }, 76 | { 77 | "pub_key": { 78 | "data": "D6EA9CC8AA50FDAB8C48697AC9E63A4DDB269B3A85115487E36AC9E0F7DB48E0", 79 | "type": "ed25519" 80 | }, 81 | "power": 1000, 82 | "name": "tony2" 83 | }, 84 | { 85 | "pub_key": { 86 | "data": "84BCA079E9A770DBC788AB50982D9A81877428AD417C2EC20BFD74F8BA689198", 87 | "type": "ed25519" 88 | }, 89 | "power": 1000, 90 | "name": "gaia-3003-a.mycosmosvalidator.com" 91 | }, 92 | { 93 | "pub_key": { 94 | "data": "0C9DAD2D69A1EC5FFB34E5F7BB09C8D579907E4CE99C0D751BA093A8C39F1C68", 95 | "type": "ed25519" 96 | }, 97 | "power": 1000, 98 | "name": "gaia-3003-b.mycosmosvalidator.com" 99 | }, 100 | { 101 | "pub_key": { 102 | "data": "894D3530BE820302DD94FF261863D7038A892EF39D8FD039D09D23632E4B7FC6", 103 | "type": "ed25519" 104 | }, 105 | "power": 1000, 106 | "name": "gaia-3003-c.mycosmosvalidator.com" 107 | }, 108 | { 109 | "pub_key": { 110 | "data": "EFA2BD24F7938B0C9CF0A9D5428684E360449915296192B59C4E5C1D4CE2F88B", 111 | "type": "ed25519" 112 | }, 113 | "power": 1000, 114 | "name": "chainflow01" 115 | }, 116 | { 117 | "pub_key": { 118 | "data": "98683F1418228F4D5FEEAFE98E77BEF9DF19D81B9794CC786D40B533D67DA21E", 119 | "type": "ed25519" 120 | }, 121 | "power": 1000, 122 | "name": "brandon" 123 | }, 124 | 125 | { 126 | 127 | "pub_key": { 128 | "data": "FFBE92208578E84C1C88505FF3CEC77DB53001637ADFD0B7089BE631EADDF85E", 129 | "type": "ed25519" 130 | }, 131 | "power": 1000, 132 | "name": "pbostrom" 133 | }, 134 | { 135 | "pub_key": { 136 | "type": "ed25519", 137 | "data": "6DFC219475B1BEA1394507A56FF63CF5AD8CEC9DA2C04A8DD550B029E37AA132" 138 | }, 139 | "power": 1000, 140 | "name": "mdyring" 141 | } 142 | ], 143 | "app_hash": "", 144 | "app_options": { 145 | "accounts": [{ 146 | "name": "adrian", 147 | "address": "9533CEF1CB9C0BD0494A0E5F876EA92F27E273AA", 148 | "coins": [{ 149 | "denom": "fermion", 150 | "amount": 1000000 151 | }, 152 | { 153 | "denom": "adriancoin", 154 | "amount": 100000 155 | } 156 | ] 157 | }, 158 | { 159 | "name": "Michael", 160 | "address": "8CDA0D295A6D1241EA33C754353816C31BB55FB5", 161 | "coins": [{ 162 | "denom": "fermion", 163 | "amount": 1000000 164 | }, 165 | { 166 | "denom": "micoin", 167 | "amount": 100000 168 | } 169 | ] 170 | }, 171 | { 172 | "name": "amr", 173 | "address": "EC09B951803763F6D8754EA2374D2DDC35952D7A", 174 | "coins": [{ 175 | "denom": "fermion", 176 | "amount": 10000000 177 | }] 178 | 179 | }, 180 | 181 | { 182 | "name": "tony", 183 | "address": "0E3EB6EBF52CE2598A0A971CB92A8C20DC899159", 184 | "coins": [{ 185 | "denom": "fermion", 186 | "amount": 1000000 187 | }, 188 | { 189 | "denom": "l33tco1n", 190 | "amount": 1337 191 | } 192 | ] 193 | }, 194 | { 195 | "name": "pbostrom", 196 | "address": "74E849A0FE358B972C3F5C05479DDF169828D45C", 197 | "coins": [{ 198 | "denom": "fermion", 199 | "amount": 100000 200 | }] 201 | 202 | }, 203 | 204 | { 205 | "name": "sunny", 206 | "address": "5FE41244386A3D429EA65198E27F0A233A86FAAB", 207 | "coins": [{ 208 | "denom": "fermion", 209 | "amount": 10000000 210 | }, 211 | { 212 | "denom": "sunnycoin", 213 | "amount": 1000000000 214 | }, 215 | { 216 | "denom": "antifermions", 217 | "amount": 1000 218 | } 219 | ] 220 | }, 221 | { 222 | "name": "chris", 223 | "address": "4036E5F7E6CA0708C4166CFCE9575BD6D4FDC4DC", 224 | "coins": [{ 225 | "denom": "fermion", 226 | "amount": 1000000 227 | }, 228 | { 229 | "denom": "chriscoin", 230 | "amount": 100000 231 | } 232 | ] 233 | }, 234 | { 235 | "name": "brandon", 236 | "address": "3A75D80740B58E7C769CC374BBD014E87337F0E9", 237 | "coins": [{ 238 | "denom": "fermion", 239 | "amount": 10000000 240 | }, 241 | { 242 | "denom": "radarrelaycoin", 243 | "amount": 100000 244 | } 245 | ] 246 | }, 247 | { 248 | "name": "mdyring", 249 | "address": "17D96C629275251A0639607A06DA01566A042461", 250 | "coins": [{ 251 | "denom": "fermion", 252 | "amount": 1000000 253 | }, 254 | { 255 | "denom": "dyringcoin", 256 | "amount": 100000 257 | } 258 | ] 259 | }, 260 | { 261 | "name": "nickray", 262 | "address": "17307FAB613EB9FB20459CF92346E07229BBC6D8", 263 | "coins": [{ 264 | "denom": "fermion", 265 | "amount": 1500000 266 | }, 267 | { 268 | "denom": "singleton", 269 | "amount": 1 270 | }, 271 | { 272 | "denom": "validly", 273 | "amount": 20000 274 | } 275 | ] 276 | }, 277 | { 278 | "name": "mycosmosvalidator-faucet", 279 | "address": "B0B12BFB8886A8584AEE5645BDEE3316F3B6DDD9", 280 | "coins": [{ 281 | "denom": "fermion", 282 | "amount": 1000000000 283 | }, 284 | { 285 | "denom": "kriscoin", 286 | "amount": 100000 287 | } 288 | ] 289 | }, 290 | { 291 | "name": "nuevax", 292 | "address": "7E961C2F8435B3D9235098407F49F5E132C06646", 293 | "coins": [{ 294 | "denom": "fermion", 295 | "amount": 10000000 296 | }, 297 | { 298 | "denom": "kriscoin", 299 | "amount": 100000 300 | } 301 | ] 302 | } 303 | ], 304 | "plugin_options": [ 305 | "coin/issuer", { 306 | "app": "sigs", 307 | "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6" 308 | } 309 | ] 310 | } 311 | } 312 | -------------------------------------------------------------------------------- /gaia-3005/gaia/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | proxy_app = "tcp://127.0.0.1:46658" 5 | moniker = "YOURNAME" 6 | fast_sync = true 7 | 8 | db_backend = "leveldb" 9 | log_level = "state:info,*:error" 10 | 11 | [rpc] 12 | laddr = "tcp://0.0.0.0:46657" 13 | 14 | [consensus] 15 | create_empty_blocks_interval = 60 16 | 17 | [tx_index] 18 | index_all_tags = true 19 | 20 | [p2p] 21 | max_num_peers = 300 22 | pex = true 23 | laddr = "tcp://0.0.0.0:46656" 24 | # DNS works here. Add yours. 25 | seeds = "gaia-3005-a.mycosmosvalidator.com:46656,gaia-3005-b.mycosmosvalidator.com:46656,gaia-3005-c.mycosmosvalidator.com:46656,gaia-3005.cosmos.mythos.services:46656" 26 | -------------------------------------------------------------------------------- /gaia-3005/gaia/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time": "2018-03-20T12:00:00Z", 3 | "chain_id": "gaia-3005", 4 | "validators": [ 5 | { 6 | "pub_key": { 7 | "data": "84BCA079E9A770DBC788AB50982D9A81877428AD417C2EC20BFD74F8BA689198", 8 | "type": "ed25519" 9 | }, 10 | "power": 1000, 11 | "name": "gaia-3005-a.mycosmosvalidator.com" 12 | }, 13 | { 14 | "pub_key": { 15 | "data": "0C9DAD2D69A1EC5FFB34E5F7BB09C8D579907E4CE99C0D751BA093A8C39F1C68", 16 | "type": "ed25519" 17 | }, 18 | "power": 1000, 19 | "name": "gaia-3005-b.mycosmosvalidator.com" 20 | }, 21 | { 22 | "pub_key": { 23 | "data": "894D3530BE820302DD94FF261863D7038A892EF39D8FD039D09D23632E4B7FC6", 24 | "type": "ed25519" 25 | }, 26 | "power": 1000, 27 | "name": "gaia-3005-c.mycosmosvalidator.com" 28 | }, 29 | { 30 | "pub_key": { 31 | "data": "E906AF1570F1AF94FE7E806488B02DCDF6F2EE6F2DF45B77EFC0D59CB5B7E645", 32 | "type": "ed25519" 33 | }, 34 | "power": 1000, 35 | "name": "gaia-3005.cosmos.mythos.services" 36 | } 37 | ], 38 | "app_hash": "", 39 | "app_options": { 40 | "accounts": [ 41 | { 42 | "name": "mycosmosvalidator", 43 | "address": "B0B12BFB8886A8584AEE5645BDEE3316F3B6DDD9", 44 | "coins": [{ 45 | "denom": "fermion", 46 | "amount": 100000000 47 | }, 48 | { 49 | "denom": "kriscoin", 50 | "amount": 100000 51 | } 52 | ] 53 | }, 54 | { 55 | "name": "pbostrom", 56 | "address": "39EE01E7BE20EBC7A8FB7F2DA842329E26C31169", 57 | "coins": [ 58 | { 59 | "denom": "fermion", 60 | "amount": 100000000 61 | } 62 | ] 63 | } 64 | ], 65 | "plugin_options": [ 66 | "coin/issuer", { 67 | "app": "sigs", 68 | "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6" 69 | } 70 | ] 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /gaia-3006/gaia/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | ##### main base config options ##### 5 | 6 | # TCP or UNIX socket address of the ABCI application, 7 | # or the name of an ABCI application compiled in with the Tendermint binary 8 | proxy_app = "tcp://127.0.0.1:46658" 9 | 10 | # A custom human readable name for this node 11 | moniker = "macbook-pro-2.intern" 12 | 13 | # If this node is many blocks behind the tip of the chain, FastSync 14 | # allows them to catchup quickly by downloading blocks in parallel 15 | # and verifying their commits 16 | fast_sync = true 17 | 18 | # Database backend: leveldb | memdb 19 | db_backend = "leveldb" 20 | 21 | # Database directory 22 | db_path = "data" 23 | 24 | # Output level for logging, including package level options 25 | log_level = "main:info,state:info,*:error" 26 | 27 | ##### additional base config options ##### 28 | 29 | # Path to the JSON file containing the initial validator set and other meta data 30 | genesis_file = "config/genesis.json" 31 | 32 | # Path to the JSON file containing the private key to use as a validator in the consensus protocol 33 | priv_validator_file = "config/priv_validator.json" 34 | 35 | # Path to the JSON file containing the private key to use for node authentication in the p2p protocol 36 | node_key_file = "config/node_key.json" 37 | 38 | # Mechanism to connect to the ABCI application: socket | grpc 39 | abci = "socket" 40 | 41 | # TCP or UNIX socket address for the profiling server to listen on 42 | prof_laddr = "" 43 | 44 | # If true, query the ABCI app on connecting to a new peer 45 | # so the app can decide if we should keep the connection or not 46 | filter_peers = false 47 | 48 | ##### advanced configuration options ##### 49 | 50 | ##### rpc server configuration options ##### 51 | [rpc] 52 | 53 | # TCP or UNIX socket address for the RPC server to listen on 54 | laddr = "tcp://0.0.0.0:46657" 55 | 56 | # TCP or UNIX socket address for the gRPC server to listen on 57 | # NOTE: This server only supports /broadcast_tx_commit 58 | grpc_laddr = "" 59 | 60 | # Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool 61 | unsafe = false 62 | 63 | ##### peer to peer configuration options ##### 64 | [p2p] 65 | 66 | # Address to listen for incoming connections 67 | laddr = "tcp://0.0.0.0:46656" 68 | 69 | # Comma separated list of seed nodes to connect to 70 | seeds = "" 71 | 72 | # Comma separated list of nodes to keep persistent connections to 73 | # Do not add private peers to this list if you don't want them advertised 74 | persistent_peers = "b3fbf6c576ddde8dda395ccfe0d464d35a448f86@159.65.211.28:46656,ea3b6f1ada9884966f234b45f81de03114be7645@172.31.28.156:46656,0b34fe151385362a4fb34ae6f9642a848d5936f7@35.185.209.25:46656,79466a03e9d4b4648a7dd8cead1fa7121ce76ee3@34.235.130.1:46656,ab82563bb502aa6499235e7c054edc5585476fa7@31.187.71.49:46656,3ad8e796a78dbb6eb395aab60822bf5d5be77045@116.62.62.39:46656,d4296e4ea81d2781bc1185a63abdcd67090fecf9:34.205.39.35:46656" 75 | 76 | # Path to address book 77 | addr_book_file = "config/addrbook.json" 78 | 79 | # Set true for strict address routability rules 80 | addr_book_strict = true 81 | 82 | # Time to wait before flushing messages out on the connection, in ms 83 | flush_throttle_timeout = 100 84 | 85 | # Maximum number of peers to connect to 86 | max_num_peers = 50 87 | 88 | # Maximum size of a message packet payload, in bytes 89 | max_packet_msg_payload_size = 1024 90 | 91 | # Rate at which packets can be sent, in bytes/second 92 | send_rate = 512000 93 | 94 | # Rate at which packets can be received, in bytes/second 95 | recv_rate = 512000 96 | 97 | # Set true to enable the peer-exchange reactor 98 | pex = true 99 | 100 | # Seed mode, in which node constantly crawls the network and looks for 101 | # peers. If another node asks it for addresses, it responds and disconnects. 102 | # 103 | # Does not work if the peer-exchange reactor is disabled. 104 | seed_mode = false 105 | 106 | # Authenticated encryption 107 | auth_enc = true 108 | 109 | # Comma separated list of peer IDs to keep private (will not be gossiped to other peers) 110 | private_peer_ids = "" 111 | 112 | ##### mempool configuration options ##### 113 | [mempool] 114 | 115 | recheck = true 116 | recheck_empty = true 117 | broadcast = true 118 | wal_dir = "data/mempool.wal" 119 | 120 | ##### consensus configuration options ##### 121 | [consensus] 122 | 123 | wal_file = "data/cs.wal/wal" 124 | wal_light = false 125 | 126 | # All timeouts are in milliseconds 127 | timeout_propose = 3000 128 | timeout_propose_delta = 500 129 | timeout_prevote = 1000 130 | timeout_prevote_delta = 500 131 | timeout_precommit = 1000 132 | timeout_precommit_delta = 500 133 | timeout_commit = 1000 134 | 135 | # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) 136 | skip_timeout_commit = false 137 | 138 | # BlockSize 139 | max_block_size_txs = 10000 140 | max_block_size_bytes = 1 141 | 142 | # EmptyBlocks mode and possible interval between empty blocks in seconds 143 | create_empty_blocks = true 144 | create_empty_blocks_interval = 0 145 | 146 | # Reactor sleep duration parameters are in milliseconds 147 | peer_gossip_sleep_duration = 100 148 | peer_query_maj23_sleep_duration = 2000 149 | 150 | ##### transactions indexer configuration options ##### 151 | [tx_index] 152 | 153 | # What indexer to use for transactions 154 | # 155 | # Options: 156 | # 1) "null" (default) 157 | # 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). 158 | indexer = "kv" 159 | 160 | # Comma-separated list of tags to index (by default the only tag is tx hash) 161 | # 162 | # It's recommended to index only a subset of tags due to possible memory 163 | # bloat. This is, of course, depends on the indexer's DB and the volume of 164 | # transactions. 165 | index_tags = "" 166 | 167 | # When set to true, tells indexer to index all tags. Note this may be not 168 | # desirable (see the comment above). IndexTags has a precedence over 169 | # IndexAllTags (i.e. when given both, IndexTags will be indexed). 170 | index_all_tags = false 171 | -------------------------------------------------------------------------------- /gaia-3006/gaia/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time": "0001-01-01T00:00:00Z", 3 | "chain_id": "gaia-3006", 4 | "validators": [ 5 | { 6 | "pub_key": { 7 | "type": "AC26791624DE60", 8 | "value": "pKl8Vmx063/qIkHIXcy2UG2Y3wcSiqnhZKMTe10Rj7Y=" 9 | }, 10 | "power": 10, 11 | "name": "adrian" 12 | }, 13 | { 14 | "pub_key": { 15 | "type": "AC26791624DE60", 16 | "value": "67LdpoerefSN/DbJe5nHnEpGarUSaPJv4hQzyVy6BIU=" 17 | }, 18 | "power": 10, 19 | "name": "mike" 20 | }, 21 | { 22 | "pub_key": { 23 | "type": "AC26791624DE60", 24 | "value": "BALelZs30PD00quzERgHBtbBHlKNPsHYrugqx0swTX0=" 25 | }, 26 | "power": 10, 27 | "name": "bianjie" 28 | }, 29 | { 30 | "pub_key": { 31 | "type": "AC26791624DE60", 32 | "value": "0XxJj7hhjKjSfrFK1+3RCJcfVRcOI7oEyeAG6UxVZZY=" 33 | }, 34 | "power": 10, 35 | "name": "nuevax" 36 | }, 37 | { 38 | "pub_key": { 39 | "type": "AC26791624DE60", 40 | "value": "Xs9BgYAn69/lZa5Jya6uU2PqhIdzAb/jNvSB+BALkIE=" 41 | }, 42 | "power": 10, 43 | "name": "pbostrom" 44 | }, 45 | { 46 | "pub_key":{ 47 | "type": "AC26791624DE60", 48 | "value": "nnuSYwa97CTdechfQasiv/pzXKVwxueYkcopkH26pAs=" 49 | }, 50 | "power": 10, 51 | "name": "tony" 52 | }, 53 | { 54 | "pub_key": { 55 | "type": "AC26791624DE60", 56 | "value": "SW12+WpGKUCO9oT2CV0CD5kUclbXjJHV1MjerLWB7Oc=" 57 | }, 58 | "power": 10, 59 | "name": "lino" 60 | } 61 | ], 62 | "app_hash": "", 63 | "app_state": { 64 | "accounts": [ 65 | { 66 | "address": "2F5C30F5A8CAC1FB6001AEB2A5F656F7BF90EF38", 67 | "coins": [ 68 | { 69 | "denom": "steak", 70 | "amount": 9007199254740992 71 | }, 72 | { 73 | "denom": "adriancoin", 74 | "amount": 33333333 75 | } 76 | ] 77 | }, 78 | { 79 | "address": "D86F1E517FC94401BF3AA5FC5667CCB05A2179DC", 80 | "coins": [ 81 | { 82 | "denom": "steak", 83 | "amount": 9007199254740992 84 | }, 85 | { 86 | "denom": "chriscoin", 87 | "amount": 33333333 88 | } 89 | ] 90 | }, 91 | { 92 | "address": "BE537272ABBDB84E92908F40685FC04F3F83D036", 93 | "coins": [ 94 | { 95 | "denom": "steak", 96 | "amount": 9007199254740992 97 | }, 98 | { 99 | "denom": "mikecoin", 100 | "amount": 100000 101 | } 102 | ] 103 | }, 104 | { 105 | "address": "ED25519CD750083D289A4859091A9B6EE43AF91D", 106 | "coins": [ 107 | { 108 | "denom": "steak", 109 | "amount": 9007199254740992 110 | }, 111 | { 112 | "denom": "nickcoin", 113 | "amount": 33333333 114 | } 115 | ] 116 | }, 117 | { 118 | "address": "6EFF9FA0D99285DEDC12E0BA450B8C276FFFDBA5", 119 | "coins": [ 120 | { 121 | "denom": "steak", 122 | "amount": 9007199254740992 123 | }, 124 | { 125 | "denom": "bianjiecoin", 126 | "amount": 33333333 127 | } 128 | ] 129 | }, 130 | { 131 | "address": "8363D802166CD0A0AEDFF44CF1F7A78CD3F94D6F", 132 | "coins": [ 133 | { 134 | "denom": "steak", 135 | "amount": 9007199254740992 136 | }, 137 | { 138 | "denom": "cybermonies", 139 | "amount": 1337 140 | } 141 | ] 142 | }, 143 | { 144 | "address": "E1DDCCAAFFECDBEC074947E02F1DEE1CE8C8BA0D", 145 | "coins": [ 146 | { 147 | "denom": "steak", 148 | "amount": 9007199254740992 149 | }, 150 | { 151 | "denom": "linocoin", 152 | "amount": 33333333 153 | } 154 | ] 155 | }, 156 | { 157 | "address": "94933F0B43263C24422A72D2AB2C2823D1D23662", 158 | "coins": [ 159 | { 160 | "denom": "steak", 161 | "amount": 9007199254740992 162 | }, 163 | { 164 | "denom": "nuevaxcoin", 165 | "amount": 33333333 166 | } 167 | ] 168 | }, 169 | { 170 | "address": "C446B86801B1B67A46C6FABDE7FC7F448755D83F", 171 | "coins": [ 172 | { 173 | "denom": "steak", 174 | "amount": 9007199254740992 175 | }, 176 | { 177 | "denom": "paulcoin", 178 | "amount": 33333333 179 | } 180 | ] 181 | } 182 | ] 183 | } 184 | } 185 | -------------------------------------------------------------------------------- /gaia-3007/gaia/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | ##### main base config options ##### 5 | 6 | # TCP or UNIX socket address of the ABCI application, 7 | # or the name of an ABCI application compiled in with the Tendermint binary 8 | proxy_app = "tcp://127.0.0.1:46658" 9 | 10 | # A custom human readable name for this node 11 | moniker = "XXX" 12 | 13 | # If this node is many blocks behind the tip of the chain, FastSync 14 | # allows them to catchup quickly by downloading blocks in parallel 15 | # and verifying their commits 16 | fast_sync = true 17 | 18 | # Database backend: leveldb | memdb 19 | db_backend = "leveldb" 20 | 21 | # Database directory 22 | db_path = "data" 23 | 24 | # Output level for logging, including package level options 25 | log_level = "main:info,state:info,*:error" 26 | 27 | ##### additional base config options ##### 28 | 29 | # Path to the JSON file containing the initial validator set and other meta data 30 | genesis_file = "config/genesis.json" 31 | 32 | # Path to the JSON file containing the private key to use as a validator in the consensus protocol 33 | priv_validator_file = "config/priv_validator.json" 34 | 35 | # Path to the JSON file containing the private key to use for node authentication in the p2p protocol 36 | node_key_file = "config/node_key.json" 37 | 38 | # Mechanism to connect to the ABCI application: socket | grpc 39 | abci = "socket" 40 | 41 | # TCP or UNIX socket address for the profiling server to listen on 42 | prof_laddr = "" 43 | 44 | # If true, query the ABCI app on connecting to a new peer 45 | # so the app can decide if we should keep the connection or not 46 | filter_peers = false 47 | 48 | ##### advanced configuration options ##### 49 | 50 | ##### rpc server configuration options ##### 51 | [rpc] 52 | 53 | # TCP or UNIX socket address for the RPC server to listen on 54 | laddr = "tcp://0.0.0.0:46657" 55 | 56 | # TCP or UNIX socket address for the gRPC server to listen on 57 | # NOTE: This server only supports /broadcast_tx_commit 58 | grpc_laddr = "" 59 | 60 | # Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool 61 | unsafe = false 62 | 63 | ##### peer to peer configuration options ##### 64 | [p2p] 65 | 66 | # Address to listen for incoming connections 67 | laddr = "tcp://0.0.0.0:46656" 68 | 69 | # Comma separated list of seed nodes to connect to 70 | seeds = "" 71 | 72 | # Comma separated list of nodes to keep persistent connections to 73 | # Do not add private peers to this list if you don't want them advertised 74 | persistent_peers = "b3fbf6c576ddde8dda395ccfe0d464d35a448f86@159.65.211.28:46656,e1e47d957464ebd73ec0b63ff8b3101e4971db0e@67.207.71.85:46656" 75 | 76 | # Path to address book 77 | addr_book_file = "config/addrbook.json" 78 | 79 | # Set true for strict address routability rules 80 | addr_book_strict = true 81 | 82 | # Time to wait before flushing messages out on the connection, in ms 83 | flush_throttle_timeout = 100 84 | 85 | # Maximum number of peers to connect to 86 | max_num_peers = 50 87 | 88 | # Maximum size of a message packet payload, in bytes 89 | max_packet_msg_payload_size = 1024 90 | 91 | # Rate at which packets can be sent, in bytes/second 92 | send_rate = 512000 93 | 94 | # Rate at which packets can be received, in bytes/second 95 | recv_rate = 512000 96 | 97 | # Set true to enable the peer-exchange reactor 98 | pex = true 99 | 100 | # Seed mode, in which node constantly crawls the network and looks for 101 | # peers. If another node asks it for addresses, it responds and disconnects. 102 | # 103 | # Does not work if the peer-exchange reactor is disabled. 104 | seed_mode = false 105 | 106 | # Authenticated encryption 107 | auth_enc = true 108 | 109 | # Comma separated list of peer IDs to keep private (will not be gossiped to other peers) 110 | private_peer_ids = "" 111 | 112 | ##### mempool configuration options ##### 113 | [mempool] 114 | 115 | recheck = true 116 | recheck_empty = true 117 | broadcast = true 118 | wal_dir = "data/mempool.wal" 119 | 120 | ##### consensus configuration options ##### 121 | [consensus] 122 | 123 | wal_file = "data/cs.wal/wal" 124 | wal_light = false 125 | 126 | # All timeouts are in milliseconds 127 | timeout_propose = 3000 128 | timeout_propose_delta = 500 129 | timeout_prevote = 1000 130 | timeout_prevote_delta = 500 131 | timeout_precommit = 1000 132 | timeout_precommit_delta = 500 133 | timeout_commit = 1000 134 | 135 | # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) 136 | skip_timeout_commit = false 137 | 138 | # BlockSize 139 | max_block_size_txs = 10000 140 | max_block_size_bytes = 1 141 | 142 | # EmptyBlocks mode and possible interval between empty blocks in seconds 143 | create_empty_blocks = true 144 | create_empty_blocks_interval = 0 145 | 146 | # Reactor sleep duration parameters are in milliseconds 147 | peer_gossip_sleep_duration = 100 148 | peer_query_maj23_sleep_duration = 2000 149 | 150 | ##### transactions indexer configuration options ##### 151 | [tx_index] 152 | 153 | # What indexer to use for transactions 154 | # 155 | # Options: 156 | # 1) "null" (default) 157 | # 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). 158 | indexer = "kv" 159 | 160 | # Comma-separated list of tags to index (by default the only tag is tx hash) 161 | # 162 | # It's recommended to index only a subset of tags due to possible memory 163 | # bloat. This is, of course, depends on the indexer's DB and the volume of 164 | # transactions. 165 | index_tags = "" 166 | 167 | # When set to true, tells indexer to index all tags. Note this may be not 168 | # desirable (see the comment above). IndexTags has a precedence over 169 | # IndexAllTags (i.e. when given both, IndexTags will be indexed). 170 | index_all_tags = false 171 | -------------------------------------------------------------------------------- /gaia-3007/gaia/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time": "0001-01-01T00:00:00Z", 3 | "chain_id": "gaia-3007", 4 | "validators": [ 5 | { 6 | "pub_key": { 7 | "type": "AC26791624DE60", 8 | "value": "pKl8Vmx063/qIkHIXcy2UG2Y3wcSiqnhZKMTe10Rj7Y=" 9 | }, 10 | "power": 10, 11 | "name": "adrian-67" 12 | }, 13 | { 14 | "pub_key": { 15 | "type": "AC26791624DE60", 16 | "value": "RXmK/psM16BbdlEHt0RHj5GEjRilTOfQbarOHHGlaRM=" 17 | }, 18 | "power": 10, 19 | "name": "adrian-159" 20 | } 21 | ], 22 | "app_hash": "", 23 | "app_state": { 24 | "accounts": [ 25 | { 26 | "address": "2F5C30F5A8CAC1FB6001AEB2A5F656F7BF90EF38", 27 | "coins": [ 28 | { 29 | "denom": "steak", 30 | "amount": 9007199254740992 31 | }, 32 | { 33 | "denom": "adriancoin", 34 | "amount": 33333333 35 | } 36 | ] 37 | }, 38 | { 39 | "address": "D86F1E517FC94401BF3AA5FC5667CCB05A2179DC", 40 | "coins": [ 41 | { 42 | "denom": "steak", 43 | "amount": 9007199254740992 44 | }, 45 | { 46 | "denom": "chriscoin", 47 | "amount": 33333333 48 | } 49 | ] 50 | }, 51 | { 52 | "address": "BE537272ABBDB84E92908F40685FC04F3F83D036", 53 | "coins": [ 54 | { 55 | "denom": "steak", 56 | "amount": 9007199254740992 57 | }, 58 | { 59 | "denom": "mikecoin", 60 | "amount": 100000 61 | } 62 | ] 63 | }, 64 | { 65 | "address": "ED25519CD750083D289A4859091A9B6EE43AF91D", 66 | "coins": [ 67 | { 68 | "denom": "steak", 69 | "amount": 9007199254740992 70 | }, 71 | { 72 | "denom": "nickcoin", 73 | "amount": 33333333 74 | } 75 | ] 76 | }, 77 | { 78 | "address": "5D9C04412AE20040A0A1618B2A8724DAD9BB8700", 79 | "coins": [ 80 | { 81 | "denom": "steak", 82 | "amount": 9007199254740992 83 | }, 84 | { 85 | "denom": "bianjiecoin", 86 | "amount": 33333333 87 | } 88 | ] 89 | }, 90 | { 91 | "address": "8363D802166CD0A0AEDFF44CF1F7A78CD3F94D6F", 92 | "coins": [ 93 | { 94 | "denom": "steak", 95 | "amount": 9007199254740992 96 | }, 97 | { 98 | "denom": "cybermonies", 99 | "amount": 1337 100 | } 101 | ] 102 | }, 103 | { 104 | "address": "E1DDCCAAFFECDBEC074947E02F1DEE1CE8C8BA0D", 105 | "coins": [ 106 | { 107 | "denom": "steak", 108 | "amount": 9007199254740992 109 | }, 110 | { 111 | "denom": "linocoin", 112 | "amount": 33333333 113 | } 114 | ] 115 | }, 116 | { 117 | "address": "94933F0B43263C24422A72D2AB2C2823D1D23662", 118 | "coins": [ 119 | { 120 | "denom": "steak", 121 | "amount": 9007199254740992 122 | }, 123 | { 124 | "denom": "nuevaxcoin", 125 | "amount": 33333333 126 | } 127 | ] 128 | }, 129 | { 130 | "address": "C446B86801B1B67A46C6FABDE7FC7F448755D83F", 131 | "coins": [ 132 | { 133 | "denom": "steak", 134 | "amount": 9007199254740992 135 | }, 136 | { 137 | "denom": "paulcoin", 138 | "amount": 33333333 139 | } 140 | ] 141 | } 142 | ] 143 | } 144 | } 145 | -------------------------------------------------------------------------------- /gaia-4000/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | ##### main base config options ##### 5 | 6 | # TCP or UNIX socket address of the ABCI application, 7 | # or the name of an ABCI application compiled in with the Tendermint binary 8 | proxy_app = "tcp://127.0.0.1:46658" 9 | 10 | # A custom human readable name for this node 11 | moniker = "XXX" 12 | 13 | # If this node is many blocks behind the tip of the chain, FastSync 14 | # allows them to catchup quickly by downloading blocks in parallel 15 | # and verifying their commits 16 | fast_sync = true 17 | 18 | # Database backend: leveldb | memdb 19 | db_backend = "leveldb" 20 | 21 | # Database directory 22 | db_path = "data" 23 | 24 | # Output level for logging, including package level options 25 | log_level = "main:info,state:info,*:error" 26 | 27 | ##### additional base config options ##### 28 | 29 | # Path to the JSON file containing the initial validator set and other meta data 30 | genesis_file = "config/genesis.json" 31 | 32 | # Path to the JSON file containing the private key to use as a validator in the consensus protocol 33 | priv_validator_file = "config/priv_validator.json" 34 | 35 | # Path to the JSON file containing the private key to use for node authentication in the p2p protocol 36 | node_key_file = "config/node_key.json" 37 | 38 | # Mechanism to connect to the ABCI application: socket | grpc 39 | abci = "socket" 40 | 41 | # TCP or UNIX socket address for the profiling server to listen on 42 | prof_laddr = "" 43 | 44 | # If true, query the ABCI app on connecting to a new peer 45 | # so the app can decide if we should keep the connection or not 46 | filter_peers = false 47 | 48 | ##### advanced configuration options ##### 49 | 50 | ##### rpc server configuration options ##### 51 | [rpc] 52 | 53 | # TCP or UNIX socket address for the RPC server to listen on 54 | laddr = "tcp://0.0.0.0:46657" 55 | 56 | # TCP or UNIX socket address for the gRPC server to listen on 57 | # NOTE: This server only supports /broadcast_tx_commit 58 | grpc_laddr = "" 59 | 60 | # Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool 61 | unsafe = false 62 | 63 | ##### peer to peer configuration options ##### 64 | [p2p] 65 | 66 | # Address to listen for incoming connections 67 | laddr = "tcp://0.0.0.0:46656" 68 | 69 | # Comma separated list of seed nodes to connect to 70 | seeds = "" 71 | 72 | # Comma separated list of nodes to keep persistent connections to 73 | # Do not add private peers to this list if you don't want them advertised 74 | persistent_peers = "2871265b0b659a75539342577e4d7b301a21c6ec@67.207.71.85:46656,242048f0f71f2a60881913c2e8f8cf4144e0f175@159.65.211.28:46656" 75 | 76 | # Path to address book 77 | addr_book_file = "config/addrbook.json" 78 | 79 | # Set true for strict address routability rules 80 | addr_book_strict = true 81 | 82 | # Time to wait before flushing messages out on the connection, in ms 83 | flush_throttle_timeout = 100 84 | 85 | # Maximum number of peers to connect to 86 | max_num_peers = 50 87 | 88 | # Maximum size of a message packet payload, in bytes 89 | max_packet_msg_payload_size = 1024 90 | 91 | # Rate at which packets can be sent, in bytes/second 92 | send_rate = 512000 93 | 94 | # Rate at which packets can be received, in bytes/second 95 | recv_rate = 512000 96 | 97 | # Set true to enable the peer-exchange reactor 98 | pex = true 99 | 100 | # Seed mode, in which node constantly crawls the network and looks for 101 | # peers. If another node asks it for addresses, it responds and disconnects. 102 | # 103 | # Does not work if the peer-exchange reactor is disabled. 104 | seed_mode = false 105 | 106 | # Authenticated encryption 107 | auth_enc = true 108 | 109 | # Comma separated list of peer IDs to keep private (will not be gossiped to other peers) 110 | private_peer_ids = "" 111 | 112 | ##### mempool configuration options ##### 113 | [mempool] 114 | 115 | recheck = true 116 | recheck_empty = true 117 | broadcast = true 118 | wal_dir = "data/mempool.wal" 119 | 120 | ##### consensus configuration options ##### 121 | [consensus] 122 | 123 | wal_file = "data/cs.wal/wal" 124 | wal_light = false 125 | 126 | # All timeouts are in milliseconds 127 | timeout_propose = 3000 128 | timeout_propose_delta = 500 129 | timeout_prevote = 1000 130 | timeout_prevote_delta = 500 131 | timeout_precommit = 1000 132 | timeout_precommit_delta = 500 133 | timeout_commit = 1000 134 | 135 | # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) 136 | skip_timeout_commit = false 137 | 138 | # BlockSize 139 | max_block_size_txs = 10000 140 | max_block_size_bytes = 1 141 | 142 | # EmptyBlocks mode and possible interval between empty blocks in seconds 143 | create_empty_blocks = true 144 | create_empty_blocks_interval = 0 145 | 146 | # Reactor sleep duration parameters are in milliseconds 147 | peer_gossip_sleep_duration = 100 148 | peer_query_maj23_sleep_duration = 2000 149 | 150 | ##### transactions indexer configuration options ##### 151 | [tx_index] 152 | 153 | # What indexer to use for transactions 154 | # 155 | # Options: 156 | # 1) "null" (default) 157 | # 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). 158 | indexer = "kv" 159 | 160 | # Comma-separated list of tags to index (by default the only tag is tx hash) 161 | # 162 | # It's recommended to index only a subset of tags due to possible memory 163 | # bloat. This is, of course, depends on the indexer's DB and the volume of 164 | # transactions. 165 | index_tags = "" 166 | 167 | # When set to true, tells indexer to index all tags. Note this may be not 168 | # desirable (see the comment above). IndexTags has a precedence over 169 | # IndexAllTags (i.e. when given both, IndexTags will be indexed). 170 | index_all_tags = false 171 | -------------------------------------------------------------------------------- /gaia-4000/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time": "0001-01-01T00:00:00Z", 3 | "chain_id": "gaia-4000", 4 | "validators": [ 5 | { 6 | "pub_key": { 7 | "type": "AC26791624DE60", 8 | "value": "xVpJhOmDiGte+gMqJybHd8B4GDn1lcoA2oanzFhWybI=" 9 | }, 10 | "power": 1000, 11 | "name": "adrian-67" 12 | }, 13 | { 14 | "pub_key": { 15 | "type": "AC26791624DE60", 16 | "value": "aKHNZKaGKoYJysWthvRGwUslEhNr5F5s/RpttUNh5EU=" 17 | }, 18 | "power": 1000, 19 | "name": "adrian-159" 20 | } 21 | ], 22 | "app_hash": "", 23 | "app_state": { 24 | "accounts": [ 25 | { 26 | "address": "FD8DA5F512A59A30F8698E3CA638D384A68DF977", 27 | "coins": [ 28 | { 29 | "denom": "steak", 30 | "amount": 1000000 31 | }, 32 | { 33 | "denom": "adriancoin", 34 | "amount": 33333333 35 | }, 36 | { 37 | "denom": "photon", 38 | "amount": 10000000000 39 | } 40 | ] 41 | }, 42 | { 43 | "address": "D86F1E517FC94401BF3AA5FC5667CCB05A2179DC", 44 | "coins": [ 45 | { 46 | "denom": "steak", 47 | "amount": 100 48 | }, 49 | { 50 | "denom": "chriscoin", 51 | "amount": 33333333 52 | } 53 | ] 54 | }, 55 | { 56 | "address": "BE537272ABBDB84E92908F40685FC04F3F83D036", 57 | "coins": [ 58 | { 59 | "denom": "steak", 60 | "amount": 100 61 | }, 62 | { 63 | "denom": "mikecoin", 64 | "amount": 100000 65 | } 66 | ] 67 | }, 68 | { 69 | "address": "ED25519CD750083D289A4859091A9B6EE43AF91D", 70 | "coins": [ 71 | { 72 | "denom": "steak", 73 | "amount": 100 74 | }, 75 | { 76 | "denom": "nickcoin", 77 | "amount": 33333333 78 | } 79 | ] 80 | }, 81 | { 82 | "address": "5D9C04412AE20040A0A1618B2A8724DAD9BB8700", 83 | "coins": [ 84 | { 85 | "denom": "steak", 86 | "amount": 100 87 | }, 88 | { 89 | "denom": "bianjiecoin", 90 | "amount": 33333333 91 | } 92 | ] 93 | }, 94 | { 95 | "address": "8363D802166CD0A0AEDFF44CF1F7A78CD3F94D6F", 96 | "coins": [ 97 | { 98 | "denom": "steak", 99 | "amount": 100 100 | }, 101 | { 102 | "denom": "cybermonies", 103 | "amount": 1337 104 | } 105 | ] 106 | }, 107 | { 108 | "address": "E1DDCCAAFFECDBEC074947E02F1DEE1CE8C8BA0D", 109 | "coins": [ 110 | { 111 | "denom": "steak", 112 | "amount": 100 113 | }, 114 | { 115 | "denom": "linocoin", 116 | "amount": 33333333 117 | } 118 | ] 119 | }, 120 | { 121 | "address": "94933F0B43263C24422A72D2AB2C2823D1D23662", 122 | "coins": [ 123 | { 124 | "denom": "steak", 125 | "amount": 100 126 | }, 127 | { 128 | "denom": "nuevaxcoin", 129 | "amount": 33333333 130 | } 131 | ] 132 | }, 133 | { 134 | "address": "C446B86801B1B67A46C6FABDE7FC7F448755D83F", 135 | "coins": [ 136 | { 137 | "denom": "steak", 138 | "amount": 100 139 | }, 140 | { 141 | "denom": "paulcoin", 142 | "amount": 33333333 143 | } 144 | ] 145 | } 146 | ] 147 | } 148 | } 149 | -------------------------------------------------------------------------------- /nimbus-2000/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | ##### main base config options ##### 5 | 6 | # TCP or UNIX socket address of the ABCI application, 7 | # or the name of an ABCI application compiled in with the Tendermint binary 8 | proxy_app = "tcp://127.0.0.1:46658" 9 | 10 | # A custom human readable name for this node 11 | moniker = "XXX" 12 | 13 | # If this node is many blocks behind the tip of the chain, FastSync 14 | # allows them to catchup quickly by downloading blocks in parallel 15 | # and verifying their commits 16 | fast_sync = true 17 | 18 | # Database backend: leveldb | memdb 19 | db_backend = "leveldb" 20 | 21 | # Database directory 22 | db_path = "data" 23 | 24 | # Output level for logging, including package level options 25 | log_level = "main:info,state:info,*:error" 26 | 27 | ##### additional base config options ##### 28 | 29 | # Path to the JSON file containing the initial validator set and other meta data 30 | genesis_file = "config/genesis.json" 31 | 32 | # Path to the JSON file containing the private key to use as a validator in the consensus protocol 33 | priv_validator_file = "config/priv_validator.json" 34 | 35 | # Path to the JSON file containing the private key to use for node authentication in the p2p protocol 36 | node_key_file = "config/node_key.json" 37 | 38 | # Mechanism to connect to the ABCI application: socket | grpc 39 | abci = "socket" 40 | 41 | # TCP or UNIX socket address for the profiling server to listen on 42 | prof_laddr = "" 43 | 44 | # If true, query the ABCI app on connecting to a new peer 45 | # so the app can decide if we should keep the connection or not 46 | filter_peers = false 47 | 48 | ##### advanced configuration options ##### 49 | 50 | ##### rpc server configuration options ##### 51 | [rpc] 52 | 53 | # TCP or UNIX socket address for the RPC server to listen on 54 | laddr = "tcp://0.0.0.0:46657" 55 | 56 | # TCP or UNIX socket address for the gRPC server to listen on 57 | # NOTE: This server only supports /broadcast_tx_commit 58 | grpc_laddr = "" 59 | 60 | # Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool 61 | unsafe = false 62 | 63 | ##### peer to peer configuration options ##### 64 | [p2p] 65 | 66 | # Address to listen for incoming connections 67 | laddr = "tcp://0.0.0.0:46656" 68 | 69 | # Comma separated list of seed nodes to connect to 70 | seeds = "" 71 | 72 | # Comma separated list of nodes to keep persistent connections to 73 | # Do not add private peers to this list if you don't want them advertised 74 | persistent_peers = "bb029f6756c2be3226a964abba495b8d1b8b44b3@159.65.211.28:46656,ac40395bce1f1e6b0f9107fb83c86e732a4ec696@67.207.71.85:46656" 75 | 76 | # Path to address book 77 | addr_book_file = "config/addrbook.json" 78 | 79 | # Set true for strict address routability rules 80 | addr_book_strict = true 81 | 82 | # Time to wait before flushing messages out on the connection, in ms 83 | flush_throttle_timeout = 100 84 | 85 | # Maximum number of peers to connect to 86 | max_num_peers = 50 87 | 88 | # Maximum size of a message packet payload, in bytes 89 | max_packet_msg_payload_size = 1024 90 | 91 | # Rate at which packets can be sent, in bytes/second 92 | send_rate = 512000 93 | 94 | # Rate at which packets can be received, in bytes/second 95 | recv_rate = 512000 96 | 97 | # Set true to enable the peer-exchange reactor 98 | pex = true 99 | 100 | # Seed mode, in which node constantly crawls the network and looks for 101 | # peers. If another node asks it for addresses, it responds and disconnects. 102 | # 103 | # Does not work if the peer-exchange reactor is disabled. 104 | seed_mode = false 105 | 106 | # Authenticated encryption 107 | auth_enc = true 108 | 109 | # Comma separated list of peer IDs to keep private (will not be gossiped to other peers) 110 | private_peer_ids = "" 111 | 112 | ##### mempool configuration options ##### 113 | [mempool] 114 | 115 | recheck = true 116 | recheck_empty = true 117 | broadcast = true 118 | wal_dir = "data/mempool.wal" 119 | 120 | ##### consensus configuration options ##### 121 | [consensus] 122 | 123 | wal_file = "data/cs.wal/wal" 124 | wal_light = false 125 | 126 | # All timeouts are in milliseconds 127 | timeout_propose = 3000 128 | timeout_propose_delta = 500 129 | timeout_prevote = 1000 130 | timeout_prevote_delta = 500 131 | timeout_precommit = 1000 132 | timeout_precommit_delta = 500 133 | timeout_commit = 1000 134 | 135 | # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) 136 | skip_timeout_commit = false 137 | 138 | # BlockSize 139 | max_block_size_txs = 10000 140 | max_block_size_bytes = 1 141 | 142 | # EmptyBlocks mode and possible interval between empty blocks in seconds 143 | create_empty_blocks = true 144 | create_empty_blocks_interval = 0 145 | 146 | # Reactor sleep duration parameters are in milliseconds 147 | peer_gossip_sleep_duration = 100 148 | peer_query_maj23_sleep_duration = 2000 149 | 150 | ##### transactions indexer configuration options ##### 151 | [tx_index] 152 | 153 | # What indexer to use for transactions 154 | # 155 | # Options: 156 | # 1) "null" (default) 157 | # 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). 158 | indexer = "kv" 159 | 160 | # Comma-separated list of tags to index (by default the only tag is tx hash) 161 | # 162 | # It's recommended to index only a subset of tags due to possible memory 163 | # bloat. This is, of course, depends on the indexer's DB and the volume of 164 | # transactions. 165 | index_tags = "" 166 | 167 | # When set to true, tells indexer to index all tags. Note this may be not 168 | # desirable (see the comment above). IndexTags has a precedence over 169 | # IndexAllTags (i.e. when given both, IndexTags will be indexed). 170 | index_all_tags = false 171 | -------------------------------------------------------------------------------- /nimbus-2000/nimbus-2000.json: -------------------------------------------------------------------------------- 1 | {"genesis_time":"2018-04-17T17:59:26.519231548Z","chain_id":"nimbus-2000","consensus_params":{"block_size_params":{"max_bytes":22020096,"max_txs":100000,"max_gas":-1},"tx_size_params":{"max_bytes":10240,"max_gas":-1},"block_gossip_params":{"block_part_size_bytes":65536},"evidence_params":{"max_age":100000}},"validators":[{"pub_key":{"type":"AC26791624DE60","value":"wwWCxBtLGy8ZCQCCphDVUko0CJ2SJYipF1qpbxx7uTI="},"power":10,"name":"adrian-two"},{"pub_key":{"type":"AC26791624DE60","value":"ADIG1nxf8qjwaiiD6j3/Wz4nmZRkbmh9M8NeR450zmg="},"power":10,"name":"joon"},{"pub_key":{"type":"AC26791624DE60","value":"4Sc2UeR3PXkmMZJFCOkCn3uJQtzG3CqnFSojF4NzhM4="},"power":10,"name":"rigeyrige"},{"pub_key":{"type":"AC26791624DE60","value":"5We3yOM0tFGJMLNKuKXPj3Juklpmrv6VBI47oMue1tE="},"power":10,"name":"adrian-one"},{"pub_key":{"type":"AC26791624DE60","value":"MBAxDDaSy81IFjaJilUucU44LjAUeM5eN3eWKPlwjIo="},"power":10,"name":"anton :smiling_imp:"},{"pub_key":{"type":"AC26791624DE60","value":"9Sq7194UP6d8Jb+v8ZuLNXZWCRV49fjBSJsZMwl8myQ="},"power":10,"name":"adrian-3"},{"pub_key":{"type":"AC26791624DE60","value":"yAUwt1YPvP6+/ZNnnISW8OVI55rvW0nYa1H+ajfX8Aw="},"power":10,"name":"greg"},{"pub_key":{"type":"AC26791624DE60","value":"2XsEmUFMo00yBn3v6jeEOTBFrIRxTn86x4thOSgXH3A="},"power":10,"name":"chris"},{"pub_key":{"type":"AC26791624DE60","value":"yDOc2gwb6ELLl8gwYq4TMU4Vr4avmFKKOyU4eG2W3OE="},"power":10,"name":"Zaki"}],"app_hash":"","app_state":{ 2 | "accounts": [ 3 | { 4 | "address": "F6E2A97439D2A4CA1082AF80906974917B4C516B", 5 | "coins": [ 6 | { 7 | "denom": "steak", 8 | "amount": 100 9 | }, 10 | { 11 | "denom": "antoncoin", 12 | "amount": 33333333 13 | } 14 | ] 15 | }, 16 | { 17 | "address": "032C86D7A1DD233AE85E497F8D43F83E28168488", 18 | "coins": [ 19 | { 20 | "denom": "steak", 21 | "amount": 100 22 | }, 23 | { 24 | "denom": "sunnycoin", 25 | "amount": 33333333 26 | } 27 | ] 28 | }, 29 | { 30 | "address": "B7613B1F2815790733857680354BFCD463D05655", 31 | "coins": [ 32 | { 33 | "denom": "steak", 34 | "amount": 100 35 | }, 36 | { 37 | "denom": "jooncoin", 38 | "amount": 33333333 39 | } 40 | ] 41 | }, 42 | { 43 | "address": "729BE4A2071875EDB770D003F0B441F2974CF9BB", 44 | "coins": [ 45 | { 46 | "denom": "steak", 47 | "amount": 100 48 | }, 49 | { 50 | "denom": "gregcoin", 51 | "amount": 33333333 52 | } 53 | ] 54 | }, 55 | { 56 | "address": "13386E341FE408438EC1BF5EA138473543547E0E", 57 | "coins": [ 58 | { 59 | "denom": "steak", 60 | "amount": 100 61 | }, 62 | { 63 | "denom": "zakicoin", 64 | "amount": 33333333 65 | } 66 | ] 67 | }, 68 | { 69 | "address": "D9E70E62B9F606BA52DCA202F4E07F29186070C3", 70 | "coins": [ 71 | { 72 | "denom": "steak", 73 | "amount": 100 74 | }, 75 | { 76 | "denom": "rigelcoin", 77 | "amount": 33333333 78 | } 79 | ] 80 | }, 81 | { 82 | "address": "2F5C30F5A8CAC1FB6001AEB2A5F656F7BF90EF38", 83 | "coins": [ 84 | { 85 | "denom": "steak", 86 | "amount": 100 87 | }, 88 | { 89 | "denom": "adriancoin", 90 | "amount": 33333333 91 | } 92 | ] 93 | }, 94 | { 95 | "address": "D86F1E517FC94401BF3AA5FC5667CCB05A2179DC", 96 | "coins": [ 97 | { 98 | "denom": "steak", 99 | "amount": 100 100 | }, 101 | { 102 | "denom": "chriscoin", 103 | "amount": 33333333 104 | } 105 | ] 106 | }, 107 | { 108 | "address": "BE537272ABBDB84E92908F40685FC04F3F83D036", 109 | "coins": [ 110 | { 111 | "denom": "steak", 112 | "amount": 100 113 | }, 114 | { 115 | "denom": "mikecoin", 116 | "amount": 100000 117 | } 118 | ] 119 | }, 120 | { 121 | "address": "ED25519CD750083D289A4859091A9B6EE43AF91D", 122 | "coins": [ 123 | { 124 | "denom": "steak", 125 | "amount": 100 126 | }, 127 | { 128 | "denom": "nickcoin", 129 | "amount": 33333333 130 | } 131 | ] 132 | }, 133 | { 134 | "address": "6EFF9FA0D99285DEDC12E0BA450B8C276FFFDBA5", 135 | "coins": [ 136 | { 137 | "denom": "steak", 138 | "amount": 100 139 | }, 140 | { 141 | "denom": "bianjiecoin", 142 | "amount": 33333333 143 | } 144 | ] 145 | }, 146 | { 147 | "address": "8363D802166CD0A0AEDFF44CF1F7A78CD3F94D6F", 148 | "coins": [ 149 | { 150 | "denom": "steak", 151 | "amount": 100 152 | }, 153 | { 154 | "denom": "cybermonies", 155 | "amount": 1337 156 | } 157 | ] 158 | }, 159 | { 160 | "address": "E1DDCCAAFFECDBEC074947E02F1DEE1CE8C8BA0D", 161 | "coins": [ 162 | { 163 | "denom": "steak", 164 | "amount": 100 165 | }, 166 | { 167 | "denom": "linocoin", 168 | "amount": 33333333 169 | } 170 | ] 171 | }, 172 | { 173 | "address": "94933F0B43263C24422A72D2AB2C2823D1D23662", 174 | "coins": [ 175 | { 176 | "denom": "steak", 177 | "amount": 100 178 | }, 179 | { 180 | "denom": "nuevaxcoin", 181 | "amount": 33333333 182 | } 183 | ] 184 | }, 185 | { 186 | "address": "C446B86801B1B67A46C6FABDE7FC7F448755D83F", 187 | "coins": [ 188 | { 189 | "denom": "steak", 190 | "amount": 100 191 | }, 192 | { 193 | "denom": "paulcoin", 194 | "amount": 33333333 195 | } 196 | ] 197 | } 198 | ] 199 | }} -------------------------------------------------------------------------------- /scripts/chainsetup/README.md: -------------------------------------------------------------------------------- 1 | ## Overview 2 | 3 | These scripts are intended to support the following workflow: 4 | 5 | * Initiator generates a "genesis inclusion request" template file by running 6 | `python3 scripts/chainsetup/prepare-genesis-inclusion-requests.py ` 7 | from the root directory. The resulting file `/gaia/genesis-inclusion-requests/request.toml.template` 8 | is committed and advertised ed to interested parties. 9 | * Each test validator forks the repo, generates a file `.toml` in the same directory, 10 | commits and sends a pull request 11 | * The initiator approves all pull requests, and runs 12 | `python3 scripts/chainsetup/generate-config.py ` and 13 | `python3 scripts/chainsetup/generate-genesis.py `. The resulting files are committed and published, 14 | possibly using a signed git tag. They are: 15 | ``` 16 | /gaia/genesis.json 17 | /gaia/config.toml 18 | ``` 19 | * The validators deploy their nodes using `genesis.json` as-is, and `config.toml` with necessary changes. 20 | 21 | The result of this is: 22 | * all validator requests are auditable 23 | * everything is asynchronous 24 | * the genesis file is created in a deterministic, verifiable way (apart from the timestamp...) 25 | 26 | ## Prerequisites 27 | 28 | Python >=3.6, with the fire and toml libraries. 29 | 30 | Via pip: `pip install -r requirements.txt` 31 | 32 | Using [conda](https://conda.io/docs/user-guide/install/index.html): `conda env update -f environment.yaml` 33 | 34 | ## Flexibility 35 | 36 | In the typical case, a validator simply fills out the blanks in the template. 37 | 38 | Alternative use cases are: 39 | * multiple `[[validator]]` sections (to support multiple pubkeys) 40 | * multiple `[[sentry]]` sections (to support multiple P2P seed endpoints) 41 | * multiple `[coin]` entries besides fermions 42 | -------------------------------------------------------------------------------- /scripts/chainsetup/environment.yaml: -------------------------------------------------------------------------------- 1 | # for conda python distribution 2 | 3 | name: testnets 4 | 5 | dependencies: 6 | - python >=3.6 7 | - ipython 8 | - conda-forge::fire 9 | - conda-forge::toml 10 | -------------------------------------------------------------------------------- /scripts/chainsetup/generate-config.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import datetime 4 | import json 5 | import pathlib 6 | 7 | import fire 8 | import toml 9 | 10 | 11 | config_template = """# https://github.com/toml-lang/toml 12 | 13 | proxy_app = "tcp://127.0.0.1:{app}" 14 | moniker = "{moniker}" 15 | fast_sync = true 16 | 17 | db_backend = "leveldb" 18 | log_level = "state:info,*:error" 19 | 20 | [rpc] 21 | laddr = "tcp://0.0.0.0:{rpc}" 22 | 23 | [consensus] 24 | create_empty_blocks_interval = 60 25 | 26 | [tx_index] 27 | index_all_tags = true 28 | 29 | [p2p] 30 | max_num_peers = 300 31 | pex = true 32 | laddr = "tcp://0.0.0.0:{p2p}" 33 | # sentry names: {csv_sentry_names} 34 | seeds = "{csv_p2p_endpoints}" 35 | """ 36 | 37 | default_ports = { 38 | 'p2p': 46656, 39 | 'rpc': 46657, 40 | 'app': 46658, 41 | } 42 | default_moniker = "" 43 | 44 | 45 | def main(chain_name, subdir='gaia', skip_sig_checks=True): 46 | """Specify validator "name" from one of the genesis inclusion requests 47 | to create a customized config file.""" 48 | 49 | if not skip_sig_checks: 50 | # idea is for request submitter to sign with account key 51 | raise Exception('not implemented!') 52 | 53 | path_base_str = '{chain_name}/{subdir}'.format(**locals()) 54 | path_base = pathlib.Path(path_base_str) 55 | 56 | all_validators = [] 57 | all_sentries = [] 58 | for inclusion_request in path_base.glob('genesis-inclusion-requests/*.toml'): 59 | print(":: adding {inclusion_request}".format(**locals())) 60 | request = toml.load(str(inclusion_request)) 61 | 62 | # add validator node entries 63 | for validator in request['validator']: 64 | print(validator) 65 | all_validators.append(validator) 66 | 67 | for sentry in request['sentry']: 68 | print(sentry) 69 | all_sentries.append(sentry) 70 | 71 | config_filename = 'config.toml' 72 | 73 | csv_sentry_names = ', '.join([ 74 | sentry.get('name', '') 75 | for sentry in all_sentries]) 76 | csv_p2p_endpoints = ','.join([ 77 | sentry['host'] + ':' + str(sentry.get('p2p', default_ports['p2p'])) 78 | for sentry in all_sentries]) 79 | 80 | p2p = default_ports['p2p'] 81 | rpc = default_ports['rpc'] 82 | app = default_ports['app'] 83 | moniker = default_moniker 84 | 85 | config = config_template.format(**locals()) 86 | 87 | # write config file 88 | with (path_base / config_filename).open('w') as fh: 89 | fh.write(config) 90 | 91 | 92 | if '__main__' == __name__: 93 | fire.Fire(main) 94 | -------------------------------------------------------------------------------- /scripts/chainsetup/generate-genesis.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import datetime 4 | import json 5 | import pathlib 6 | 7 | import fire 8 | import toml 9 | 10 | 11 | def main(chain_name, subdir='gaia', skip_sig_checks=True): 12 | if not skip_sig_checks: 13 | # idea is for request submitter to sign with account key 14 | raise Exception('not implemented!') 15 | 16 | genesis = dict() 17 | genesis['genesis_time'] = datetime.datetime.utcnow().isoformat()[:19] + 'Z' 18 | genesis['chain_id'] = chain_name 19 | 20 | genesis['validators'] = list() 21 | 22 | genesis['app_options'] = dict() 23 | genesis['app_options']['accounts'] = list() 24 | 25 | # two unclear items 26 | genesis['app_hash'] = '' 27 | genesis['app_options']['plugin_options'] = [ 28 | "coin/issuer", {"app": "sigs", "addr": "B01C264BFE9CBD45458256E613A6F07061A3A6B6"} 29 | ] 30 | 31 | path_base_str = '{chain_name}/{subdir}'.format(**locals()) 32 | path_base = pathlib.Path(path_base_str) 33 | 34 | for inclusion_request in path_base.glob('genesis-inclusion-requests/*.toml'): 35 | print(":: adding {inclusion_request}".format(**locals())) 36 | request = toml.load(str(inclusion_request)) 37 | 38 | # add validator node entries 39 | for validator in request['validator']: 40 | print(validator) 41 | validator_entry = { 42 | "name": validator['name'], 43 | "pub_key": { 44 | "data": validator['pub_key'], 45 | "type": "ed25519", 46 | }, 47 | "power": validator['power'], 48 | } 49 | genesis['validators'].append(validator_entry) 50 | 51 | # add account with coins 52 | account = request['account'] 53 | account_entry = { 54 | "name": account['name'], 55 | "address": account['address'], 56 | "coins": [], 57 | } 58 | 59 | for coin_name, coin_amount in request['coins'].items(): 60 | coin_entry = { 61 | "denom": coin_name, 62 | "amount": coin_amount, 63 | } 64 | account_entry['coins'].append(coin_entry) 65 | genesis['app_options']['accounts'].append(account_entry) 66 | 67 | # write genesis.json 68 | with (path_base / 'genesis.json').open('w') as fh: 69 | fh.write(json.dumps(genesis, indent=2)) 70 | 71 | 72 | if '__main__' == __name__: 73 | fire.Fire(main) 74 | -------------------------------------------------------------------------------- /scripts/chainsetup/prepare-genesis-inclusion-requests.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import pathlib 4 | 5 | # import ed25519 6 | import fire 7 | 8 | 9 | basic_template = """[chain] 10 | name = "{chain_name}" 11 | 12 | [account] 13 | name = "" 14 | address = "" 15 | 16 | [coins] 17 | fermion = {balance} 18 | 19 | [[sentry]] 20 | name = "" 21 | host = "" 22 | p2p = {p2p} 23 | 24 | [[validator]] 25 | name = "" 26 | pub_key = "" 27 | power = {power} 28 | """ 29 | 30 | 31 | def main(chain_name, subdir='gaia', power=1000, p2p=46656, rpc=46657, balance=10000): 32 | # path_str = f'{chain_name}/{subdir}/genesis-inclusion-requests' 33 | path_str = '{chain_name}/{subdir}/genesis-inclusion-requests'.format(**locals()) 34 | path = pathlib.Path(path_str) 35 | path.mkdir(parents=True, exist_ok=True) 36 | 37 | # chain_pub_key = ed25519.create_keypair()[1].to_ascii(encoding='hex').decode().upper() 38 | content = basic_template.format(**locals()) 39 | with (path / 'request.toml.template').open('w') as fh: 40 | fh.write(content) 41 | 42 | if '__main__' == __name__: 43 | fire.Fire(main) 44 | -------------------------------------------------------------------------------- /scripts/chainsetup/requirements.txt: -------------------------------------------------------------------------------- 1 | fire 2 | toml 3 | -------------------------------------------------------------------------------- /scripts/mercury-hermes-1.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # expects to be run from top of testnets repo 4 | 5 | # set some environment variables 6 | export BCHOME_MERCURY_CLIENT=~/.cosmos-testnets/mercury/client 7 | export BCHOME_MERCURY_SERVER=~/.cosmos-testnets/mercury/server 8 | export TMHOME_MERCURY=~/.cosmos-testnets/mercury/server/tendermint 9 | export BCHOME_HERMES_CLIENT=~/.cosmos-testnets/hermes/client 10 | export BCHOME_HERMES_SERVER=~/.cosmos-testnets/hermes/server 11 | export TMHOME_HERMES=~/.cosmos-testnets/hermes/server/tendermint 12 | 13 | # make the directories 14 | mkdir -p $TMHOME_HERMES $TMHOME_MERCURY 15 | 16 | # create some aliases to use instead of raw `basecli` and `basecoin` to ensure we're using the right configuration for the chain we want to talk to. 17 | alias basecli-mercury="basecli --home $BCHOME_MERCURY_CLIENT --chain-id mercury" 18 | alias basecli-hermes="basecli --home $BCHOME_HERMES_CLIENT --chain-id hermes" 19 | alias basecoin-mercury="basecoin --home $BCHOME_MERCURY_SERVER" 20 | alias basecoin-hermes="basecoin --home $BCHOME_HERMES_SERVER" 21 | alias tendermint-mercury="tendermint --home $TMHOME_MERCURY" 22 | alias tendermint-hermes="tendermint --home $TMHOME_HERMES" 23 | 24 | # copy the genesis and config files 25 | cp mercury/tendermint/* $TMHOME_MERCURY 26 | cp mercury/basecoin/* $BCHOME_MERCURY_SERVER 27 | cp hermes/tendermint/* $TMHOME_HERMES 28 | cp hermes/basecoin/* $BCHOME_HERMES_SERVER 29 | -------------------------------------------------------------------------------- /scripts/testnet-setup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # expects to be run from top of testnets repo 4 | 5 | # set some environment variables 6 | ## Mercury - Basecoin 7 | export BCHOME_MERCURY_CLIENT=~/.cosmos-testnets/mercury/client 8 | export BCHOME_MERCURY_SERVER=~/.cosmos-testnets/mercury/server 9 | export TMHOME_MERCURY=~/.cosmos-testnets/mercury/server/tendermint 10 | 11 | ## Hermes - Basecoin 12 | export BCHOME_HERMES_CLIENT=~/.cosmos-testnets/hermes/client 13 | export BCHOME_HERMES_SERVER=~/.cosmos-testnets/hermes/server 14 | export TMHOME_HERMES=~/.cosmos-testnets/hermes/server/tendermint 15 | 16 | ## Venus - Ethermint 17 | export EMHOME_VENUS=~/.cosmos-testnets/venus/ethermint 18 | export TMHOME_VENUS=~/.cosmos-testnets/venus/tendermint 19 | 20 | # make the directories 21 | mkdir -p $TMHOME_HERMES $TMHOME_MERCURY $TMHOME_VENUS $EMHOME_VENUS 22 | 23 | # create some aliases to use instead of raw `basecli` and `basecoin` to ensure we're using the right configuration for the chain we want to talk to. 24 | ## Mercury - Basecoin 25 | alias basecli-mercury="basecli --home $BCHOME_MERCURY_CLIENT" 26 | alias basecoin-mercury="basecoin --home $BCHOME_MERCURY_SERVER" 27 | alias tendermint-mercury="tendermint --home $TMHOME_MERCURY" 28 | 29 | ## Hermes - Basecoin 30 | alias basecli-hermes="basecli --home $BCHOME_HERMES_CLIENT" 31 | alias basecoin-hermes="basecoin --home $BCHOME_HERMES_SERVER" 32 | alias tendermint-hermes="tendermint --home $TMHOME_HERMES" 33 | 34 | ## Venus - Ethermint 35 | alias tendermint-venus="tendermint --home $TMHOME_VENUS" 36 | alias ethermint-venus="ethermint --datadir $EMHOME_VENUS" 37 | 38 | # copy the genesis and config files 39 | ## Mercury - Basecoin 40 | cp mercury/tendermint/* $TMHOME_MERCURY 41 | cp mercury/basecoin/* $BCHOME_MERCURY_SERVER 42 | 43 | ## Hermes - Basecoin 44 | cp hermes/tendermint/* $TMHOME_HERMES 45 | cp hermes/basecoin/* $BCHOME_HERMES_SERVER 46 | 47 | ## Venus - Ethermint 48 | cp venus/ethermint/* $EMHOME_VENUS 49 | cp venus/tendermint/* $TMHOME_VENUS 50 | 51 | -------------------------------------------------------------------------------- /test-chain-C1NpdI/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | ##### main base config options ##### 5 | 6 | # TCP or UNIX socket address of the ABCI application, 7 | # or the name of an ABCI application compiled in with the Tendermint binary 8 | proxy_app = "tcp://127.0.0.1:46658" 9 | 10 | # A custom human readable name for this node 11 | moniker = "bucky-testnet-node" 12 | 13 | # If this node is many blocks behind the tip of the chain, FastSync 14 | # allows them to catchup quickly by downloading blocks in parallel 15 | # and verifying their commits 16 | fast_sync = true 17 | 18 | # Database backend: leveldb | memdb 19 | db_backend = "leveldb" 20 | 21 | # Database directory 22 | db_path = "data" 23 | 24 | # Output level for logging, including package level options 25 | log_level = "main:info,state:info,*:error" 26 | 27 | ##### additional base config options ##### 28 | 29 | # Path to the JSON file containing the initial validator set and other meta data 30 | genesis_file = "config/genesis.json" 31 | 32 | # Path to the JSON file containing the private key to use as a validator in the consensus protocol 33 | priv_validator_file = "config/priv_validator.json" 34 | 35 | # Path to the JSON file containing the private key to use for node authentication in the p2p protocol 36 | node_key_file = "config/node_key.json" 37 | 38 | # Mechanism to connect to the ABCI application: socket | grpc 39 | abci = "socket" 40 | 41 | # TCP or UNIX socket address for the profiling server to listen on 42 | prof_laddr = "" 43 | 44 | # If true, query the ABCI app on connecting to a new peer 45 | # so the app can decide if we should keep the connection or not 46 | filter_peers = false 47 | 48 | ##### advanced configuration options ##### 49 | 50 | ##### rpc server configuration options ##### 51 | [rpc] 52 | 53 | # TCP or UNIX socket address for the RPC server to listen on 54 | laddr = "tcp://0.0.0.0:46657" 55 | 56 | # TCP or UNIX socket address for the gRPC server to listen on 57 | # NOTE: This server only supports /broadcast_tx_commit 58 | grpc_laddr = "" 59 | 60 | # Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool 61 | unsafe = false 62 | 63 | ##### peer to peer configuration options ##### 64 | [p2p] 65 | 66 | # Address to listen for incoming connections 67 | laddr = "tcp://0.0.0.0:46656" 68 | 69 | # Comma separated list of seed nodes to connect to 70 | seeds = "" 71 | 72 | # Comma separated list of nodes to keep persistent connections to 73 | # Do not add private peers to this list if you don't want them advertised 74 | persistent_peers = "adf1257a321527c1de5c71cfc3b54b3c3dead6c4@167.99.140.147:46656,1bc5106f1ed409984dbd169d8c9f707e1f1e5349@148.76.42.147:46656,bc69c30627273c5aa26affe39959e9972625f71f@159.89.121.174:46656,063a9435d6585c3a26b28600af02048693b294c7@139.162.19.186:46656, f5259f2963b637a6b960308d6ce72f459cb22079@18.184.12.230:46656,13f68de8f859d89b63bb8dd959e3404696c4c8b4@172.31.28.156:46656,cd1b64c3d1401cab4f27905acd5abc0f84519f58@45.77.53.208:46656,e24a649d20fc64f19c4bcc8306529c6d07c8528a@testnet327.cosmos.mythos.services:46656,fa9b3b2d98cd9b16deb4d08473e4eb80fc4c9b38@88.99.33.175:46656" 75 | 76 | # Path to address book 77 | addr_book_file = "config/addrbook.json" 78 | 79 | # Set true for strict address routability rules 80 | addr_book_strict = true 81 | 82 | # Time to wait before flushing messages out on the connection, in ms 83 | flush_throttle_timeout = 100 84 | 85 | # Maximum number of peers to connect to 86 | max_num_peers = 50 87 | 88 | # Maximum size of a message packet payload, in bytes 89 | max_msg_packet_payload_size = 1024 90 | 91 | # Rate at which packets can be sent, in bytes/second 92 | send_rate = 512000 93 | 94 | # Rate at which packets can be received, in bytes/second 95 | recv_rate = 512000 96 | 97 | # Set true to enable the peer-exchange reactor 98 | pex = true 99 | 100 | # Seed mode, in which node constantly crawls the network and looks for 101 | # peers. If another node asks it for addresses, it responds and disconnects. 102 | # 103 | # Does not work if the peer-exchange reactor is disabled. 104 | seed_mode = false 105 | 106 | # Authenticated encryption 107 | auth_enc = true 108 | 109 | # Comma separated list of peer IDs to keep private (will not be gossiped to other peers) 110 | private_peer_ids = "" 111 | 112 | ##### mempool configuration options ##### 113 | [mempool] 114 | 115 | recheck = true 116 | recheck_empty = true 117 | broadcast = true 118 | wal_dir = "data/mempool.wal" 119 | 120 | ##### consensus configuration options ##### 121 | [consensus] 122 | 123 | wal_file = "data/cs.wal/wal" 124 | wal_light = false 125 | 126 | # All timeouts are in milliseconds 127 | timeout_propose = 3000 128 | timeout_propose_delta = 500 129 | timeout_prevote = 1000 130 | timeout_prevote_delta = 500 131 | timeout_precommit = 1000 132 | timeout_precommit_delta = 500 133 | timeout_commit = 1000 134 | 135 | # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) 136 | skip_timeout_commit = false 137 | 138 | # BlockSize 139 | max_block_size_txs = 10000 140 | max_block_size_bytes = 1 141 | 142 | # EmptyBlocks mode and possible interval between empty blocks in seconds 143 | create_empty_blocks = true 144 | create_empty_blocks_interval = 0 145 | 146 | # Reactor sleep duration parameters are in milliseconds 147 | peer_gossip_sleep_duration = 100 148 | peer_query_maj23_sleep_duration = 2000 149 | 150 | ##### transactions indexer configuration options ##### 151 | [tx_index] 152 | 153 | # What indexer to use for transactions 154 | # 155 | # Options: 156 | # 1) "null" (default) 157 | # 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). 158 | indexer = "kv" 159 | 160 | # Comma-separated list of tags to index (by default the only tag is tx hash) 161 | # 162 | # It's recommended to index only a subset of tags due to possible memory 163 | # bloat. This is, of course, depends on the indexer's DB and the volume of 164 | # transactions. 165 | index_tags = "" 166 | 167 | # When set to true, tells indexer to index all tags. Note this may be not 168 | # desirable (see the comment above). IndexTags has a precedence over 169 | # IndexAllTags (i.e. when given both, IndexTags will be indexed). 170 | index_all_tags = false 171 | -------------------------------------------------------------------------------- /test-chain-C1NpdI/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "app_hash": "", 3 | "app_state": { 4 | "accounts": [ 5 | { 6 | "address": "8DA90C32DF3661784C1A9A8EB342F2A2E5B2A3CF", 7 | "coins": [ 8 | { 9 | "denom":"mycoin", 10 | "amount":1000 11 | }, 12 | { 13 | "denom": "sunnycoin", 14 | "amount": 9007199254740993 15 | } 16 | ] 17 | }, 18 | { 19 | "address": "BDE549D201FA361ABFE570E38E4751185717EEDB", 20 | "coins": [ 21 | { 22 | "denom":"mycoin", 23 | "amount":1000 24 | }, 25 | { 26 | "denom": "steak", 27 | "amount": 1 28 | } 29 | ] 30 | }, 31 | { 32 | "address": "BA8D5541B8233BC482D9855266EFA756BC5EB9AB", 33 | "coins": [ 34 | { 35 | "denom":"mikemoney", 36 | "amount":700 37 | } 38 | ] 39 | }, 40 | { 41 | "address": "57D59B67A049C2A647A282AFF4F764B9201F52EA", 42 | "coins": [ 43 | { 44 | "denom":"yaycoin", 45 | "amount":1000 46 | } 47 | ] 48 | }, 49 | { 50 | "address": "4E063E4401D68523479559C9A6C8C035F79E974F", 51 | "coins": [ 52 | { 53 | "denom":"mycoin", 54 | "amount":1000 55 | }, 56 | { 57 | "denom":"snowflake", 58 | "amount":1 59 | }, 60 | { 61 | "denom":"papermoney", 62 | "amount":1000000 63 | } 64 | ] 65 | }, 66 | { 67 | "address": "D86F1E517FC94401BF3AA5FC5667CCB05A2179DC", 68 | "coins": [ 69 | { 70 | "denom":"chainflowcoin", 71 | "amount":1000 72 | } 73 | ] 74 | }, 75 | { 76 | "address": "107B28EF3998075B4F124A5843C44A8BE766A1BB", 77 | "coins": [ 78 | { 79 | "denom":"mycoin", 80 | "amount":1000 81 | }, 82 | { 83 | "denom": "pbostromcoin", 84 | "amount": 1000 85 | } 86 | ] 87 | }, 88 | { 89 | "address": "E1680CF19BDC54C7C4945C56E948E2166BEC45ED", 90 | "coins": [ 91 | { 92 | "denom": "d-coin", 93 | "amount":1000 94 | }, 95 | { 96 | "denom": "doks", 97 | "amount": 9007199254740993 98 | } 99 | ] 100 | }, 101 | { 102 | "address": "5CAFE3CD0FEE7A5DD98B366B19A201D428A79FB6", 103 | "coins": [ 104 | { 105 | "denom":"mycoin", 106 | "amount":1000 107 | }, 108 | { 109 | "denom": "buck", 110 | "amount": 9007199254740993 111 | } 112 | ] 113 | } 114 | ] 115 | }, 116 | "chain_id": "test-chain-C1NpdI", 117 | "genesis_time": "0001-01-01T00:00:00Z", 118 | "validators": [ 119 | { 120 | "pub_key": { 121 | "type": "ed25519", 122 | "data": "DED61E502E3696E869A4AF27DBA0666FD883A0723483CC342DFB95D5D9D8E563" 123 | }, 124 | "power": 10, 125 | "name": "sunny-1" 126 | }, 127 | { 128 | "pub_key": { 129 | "type": "ed25519", 130 | "data": "4D6E6D432CD3CCB95325634991CC952B1E3EA8734D0A5130313864BD566E38EA" 131 | }, 132 | "power": 10, 133 | "name": "sunny-2" 134 | }, 135 | { 136 | "pub_key": { 137 | "type": "ed25519", 138 | "data": "4D50A0CC5DB92B27A800ACA03571691C714DD5C1BDB8A14A25825F5834FD6286" 139 | }, 140 | "power": 10, 141 | "name": "bucky-1" 142 | }, 143 | { 144 | "pub_key": { 145 | "type": "ed25519", 146 | "data": "3F01B355DF7B06BA22407D71DBA66DB92AD1AA9E33BAE724311164862F225CC9" 147 | }, 148 | "power": 10, 149 | "name": "validstate" 150 | }, 151 | { 152 | "pub_key":{ 153 | "type":"ed25519", 154 | "data":"76F742DB304EE79F3E96328B38BB81120874A6DDD3E2F0B94F3D6059F2684D49" 155 | }, 156 | "power": 9001, 157 | "name" : "michael" 158 | }, 159 | { 160 | "pub_key": { 161 | "type": "ed25519", 162 | "data": "C110E6880D23F3B686A5684C6FA9AD4DC495514C6EBDC4B84F1715E647BBECE7" 163 | }, 164 | "power": 10, 165 | "name": "pbostrom" 166 | }, 167 | { 168 | "pub_key": { 169 | "type": "ed25519", 170 | "data": "6753C8869B30194BCB825F75D4DAE718224CD423CDE23C95B0F70620D4BA8CDE" 171 | }, 172 | "power": 10, 173 | "name": "mdyring-1" 174 | }, 175 | { 176 | "pub_key": { 177 | "type": "ed25519", 178 | "data": "856A2139BB00AF2160488672C7621AC38E363F5D718B5D801CF9499201459974" 179 | }, 180 | "power": 10, 181 | "name": "chainflow-1" 182 | }, 183 | { 184 | "pub_key": { 185 | "type": "ed25519", 186 | "data": "AEF46C20F791B48A0FB087A07B9CC32F9920D852754381E9A2BEE18A7AC0C78C" 187 | }, 188 | "power": 10, 189 | "name": "aurel-dokia" 190 | } 191 | ] 192 | } 193 | -------------------------------------------------------------------------------- /venus/ethermint/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "chainId": 15, 4 | "homesteadBlock": 0, 5 | "eip155Block": 0, 6 | "eip158Block": 0 7 | }, 8 | "nonce": "0xdeadbeefdeadbeef", 9 | "timestamp": "0x00", 10 | "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", 11 | "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", 12 | "difficulty": "0x40", 13 | "gasLimit": "0x8000000", 14 | "alloc": { 15 | "0x7eff122b94897ea5b0e2a9abf47b86337fafebdc": { "balance": "100000000000000" }, 16 | "0xc6713982649D9284ff56c32655a9ECcCDA78422A": { "balance": "10000000000000000000000000000000000" } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /venus/tendermint/config.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML config file. 2 | # For more information, see https://github.com/toml-lang/toml 3 | 4 | proxy_app = "tcp://127.0.0.1:46658" 5 | moniker = "198.211.119.183" 6 | fast_sync = true 7 | db_backend = "leveldb" 8 | log_level = "debug" 9 | 10 | [rpc] 11 | laddr = "tcp://0.0.0.0:46657" 12 | 13 | [p2p] 14 | laddr = "tcp://0.0.0.0:46656" 15 | seeds = "138.197.113.220:46656,138.68.12.252:46656,128.199.179.178:46656,139.59.184.2:46656,207.154.246.77:46656,138.197.175.237:46656" 16 | -------------------------------------------------------------------------------- /venus/tendermint/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time":"2017-06-28T13:39:18Z", 3 | "chain_id":"venus", 4 | "validators": 5 | [ 6 | 7 | { 8 | "pub_key": { 9 | "data": "E24396CFDCBAF3BD0F2C5CF510551F70B4634E4E5EBF9655B1FB57F451ABB344", 10 | "type": "ed25519" 11 | }, 12 | "amount":10, 13 | "name":"venus-node3" 14 | } 15 | , 16 | { 17 | "pub_key": { 18 | "data": "2C97BEA0B5A4D9EAE04C242C7AD2A6D2BA989E3C4A7B276AB137300C37EB22F7", 19 | "type": "ed25519" 20 | }, 21 | "amount":10, 22 | "name":"venus-node4" 23 | } 24 | , 25 | { 26 | "pub_key": { 27 | "data": "CA53D568F6EDC245D80D887F068F8FE7E03D540B2F7D2212CA436FC962394EA3", 28 | "type": "ed25519" 29 | }, 30 | "amount":10, 31 | "name":"venus-node0" 32 | } 33 | , 34 | { 35 | "pub_key": { 36 | "data": "CE4877B1E25EDF845EC8F13FAC3B74E0B3A863EBA5B24D10FCDA4A239065E86A", 37 | "type": "ed25519" 38 | }, 39 | "amount":10, 40 | "name":"venus-node5" 41 | } 42 | , 43 | { 44 | "pub_key": { 45 | "data": "8A825277C6A71C89B1F3E9AE5C3853E282F73B6F77A4798C03291EDB1F1F5CA5", 46 | "type": "ed25519" 47 | }, 48 | "amount":10, 49 | "name":"venus-node2" 50 | } 51 | , 52 | { 53 | "pub_key": { 54 | "data": "AF8D2B55E6FAD5DCF6000752E2A05A19B3F42E3072B75BBB2217C43B574ACE99", 55 | "type": "ed25519" 56 | }, 57 | "amount":10, 58 | "name":"venus-node1" 59 | } 60 | , 61 | { 62 | "pub_key": { 63 | "data": "B127402B86C673807AF407B15E324C4565B1A1DC77C85881E7D8D8640C17EBBB", 64 | "type": "ed25519" 65 | }, 66 | "amount":10, 67 | "name":"venus-node6" 68 | } 69 | ], 70 | "app_hash":"", 71 | "app_options": {} 72 | } 73 | 74 | --------------------------------------------------------------------------------