├── .github └── workflows │ └── gentx_format.yml ├── README.md ├── arsia_mons ├── README.md ├── genesis.json ├── peers.txt └── seeds.txt ├── img └── olympus_mons.png ├── olympus_mons ├── README.md ├── genesis.json ├── gentx.md ├── gentxs │ └── _example.json ├── peers.txt └── seeds.txt └── scripts └── validate-gentxs.sh /.github/workflows/gentx_format.yml: -------------------------------------------------------------------------------- 1 | 2 | name: Gentx Format 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | branches: 9 | - main 10 | jobs: 11 | verify-gentx: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v2 15 | - name: gentx-validation 16 | run: | 17 | bash -x ./scripts/validate-gentxs.sh 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Testnets 2 | 3 | This repo contains genesis files for the [Evmos](https://github.com/tharsis/evmos) Testnets. 4 | 5 | The latest testnet is [Olympus Mons](./olympus_mons). You can find a list of [seeds](https://docs.tendermint.com/master/tendermint-core/using-tendermint.html#seed) and [peers](https://docs.tendermint.com/master/tendermint-core/using-tendermint.html#persistent-peer) to connect to in the respective directory. 6 | 7 | [Arsia Mons](./arsia_mons) is the deprecated testnet which ran from 2021-10-07 to 2021-11-17. 8 | 9 | For the full instructions on how to [join the testnet](https://evmos.dev/testnet/join.html), please refer to the official [documentation](https://evmos.dev). 10 | -------------------------------------------------------------------------------- /arsia_mons/README.md: -------------------------------------------------------------------------------- 1 | # Arsia Mons Testnet 2 | 3 | ![cover](https://user-images.githubusercontent.com/8366960/136831207-5621f14c-1505-4ada-8b1e-13d0515709a4.png) 4 | 5 | ## Instructions 6 | 7 | Follow the instructions on the official documentation to [join the testnet](https://evmos.dev/testnet/join.html) and how to obtain tokens using the [faucet](https://evmos.dev/testnet/faucet.html). 8 | 9 | ## Details 10 | 11 | - Network Chain ID: `evmos_9000-1` 12 | - EIP155 Chain ID: `9000` 13 | - `evmosd` version: [`v0.1.x`](https://github.com/tharsis/evmos/releases) 14 | - Faucet: [faucet.evmos.org](https://faucet.evmos.org) 15 | - EVM explorer: [evm.evmos.org](https://evm.evmos.org) 16 | - Cosmos explorer: [explorer.evmos.org](https://explorer.evmos.org) 17 | 18 | ## Seeds & Peers 19 | 20 | You can find seeds & peers on the [seeds.txt](./seeds.txt) and [peers.txt](./peers.txt) files, respectively. If you want to share your seed or peer, please fork this repo and and add it to the bottom of the corresponding `.txt` file. 21 | -------------------------------------------------------------------------------- /arsia_mons/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time": "2021-10-07T14:44:56.22806Z", 3 | "chain_id": "evmos_9000-1", 4 | "initial_height": "1", 5 | "consensus_params": { 6 | "block": { 7 | "max_bytes": "1048576", 8 | "max_gas": "81500000", 9 | "time_iota_ms": "1000" 10 | }, 11 | "evidence": { 12 | "max_age_num_blocks": "403200", 13 | "max_age_duration": "2419200000000000", 14 | "max_bytes": "150000" 15 | }, 16 | "validator": { 17 | "pub_key_types": [ 18 | "ed25519" 19 | ] 20 | }, 21 | "version": {} 22 | }, 23 | "app_hash": "", 24 | "app_state": { 25 | "auth": { 26 | "params": { 27 | "max_memo_characters": "256", 28 | "tx_sig_limit": "7", 29 | "tx_size_cost_per_byte": "10", 30 | "sig_verify_cost_ed25519": "590", 31 | "sig_verify_cost_secp256k1": "1000" 32 | }, 33 | "accounts": [ 34 | { 35 | "@type": "/ethermint.types.v1.EthAccount", 36 | "base_account": { 37 | "address": "evmos1zm9wlujdfp4j95ajx2xsazqy8jk97kgznsecfr", 38 | "pub_key": null, 39 | "account_number": "0", 40 | "sequence": "0" 41 | }, 42 | "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" 43 | }, 44 | { 45 | "@type": "/ethermint.types.v1.EthAccount", 46 | "base_account": { 47 | "address": "evmos1z4ya98ga2xnffn2mhjym7tzlsm49ec23890sze", 48 | "pub_key": null, 49 | "account_number": "0", 50 | "sequence": "0" 51 | }, 52 | "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" 53 | } 54 | ] 55 | }, 56 | "authz": { 57 | "authorization": [] 58 | }, 59 | "bank": { 60 | "params": { 61 | "send_enabled": [], 62 | "default_send_enabled": true 63 | }, 64 | "balances": [ 65 | { 66 | "address": "evmos1z4ya98ga2xnffn2mhjym7tzlsm49ec23890sze", 67 | "coins": [ 68 | { 69 | "denom": "aphoton", 70 | "amount": "250000000000000000000000" 71 | } 72 | ] 73 | }, 74 | { 75 | "address": "evmos1zm9wlujdfp4j95ajx2xsazqy8jk97kgznsecfr", 76 | "coins": [ 77 | { 78 | "denom": "aphoton", 79 | "amount": "10000000000000000000000" 80 | } 81 | ] 82 | } 83 | ], 84 | "supply": [ 85 | { 86 | "denom": "aphoton", 87 | "amount": "260000000000000000000000" 88 | } 89 | ], 90 | "denom_metadata": [] 91 | }, 92 | "capability": { 93 | "index": "1", 94 | "owners": [] 95 | }, 96 | "crisis": { 97 | "constant_fee": { 98 | "denom": "aphoton", 99 | "amount": "1000" 100 | } 101 | }, 102 | "distribution": { 103 | "params": { 104 | "community_tax": "0.020000000000000000", 105 | "base_proposer_reward": "0.010000000000000000", 106 | "bonus_proposer_reward": "0.040000000000000000", 107 | "withdraw_addr_enabled": true 108 | }, 109 | "fee_pool": { 110 | "community_pool": [] 111 | }, 112 | "delegator_withdraw_infos": [], 113 | "previous_proposer": "", 114 | "outstanding_rewards": [], 115 | "validator_accumulated_commissions": [], 116 | "validator_historical_rewards": [], 117 | "validator_current_rewards": [], 118 | "delegator_starting_infos": [], 119 | "validator_slash_events": [] 120 | }, 121 | "evidence": { 122 | "evidence": [] 123 | }, 124 | "evm": { 125 | "accounts": [], 126 | "params": { 127 | "evm_denom": "aphoton", 128 | "enable_create": true, 129 | "enable_call": true, 130 | "extra_eips": [], 131 | "chain_config": { 132 | "homestead_block": "0", 133 | "dao_fork_block": "0", 134 | "dao_fork_support": true, 135 | "eip150_block": "0", 136 | "eip150_hash": "0x0000000000000000000000000000000000000000000000000000000000000000", 137 | "eip155_block": "0", 138 | "eip158_block": "0", 139 | "byzantium_block": "0", 140 | "constantinople_block": "0", 141 | "petersburg_block": "0", 142 | "istanbul_block": "0", 143 | "muir_glacier_block": "0", 144 | "berlin_block": "0", 145 | "catalyst_block": null, 146 | "london_block": "0" 147 | } 148 | } 149 | }, 150 | "feegrant": { 151 | "allowances": [] 152 | }, 153 | "genutil": { 154 | "gen_txs": [ 155 | { 156 | "body": { 157 | "messages": [ 158 | { 159 | "@type": "/cosmos.staking.v1beta1.MsgCreateValidator", 160 | "description": { 161 | "moniker": "akash", 162 | "identity": "", 163 | "website": "", 164 | "security_contact": "", 165 | "details": "" 166 | }, 167 | "commission": { 168 | "rate": "0.100000000000000000", 169 | "max_rate": "0.200000000000000000", 170 | "max_change_rate": "0.010000000000000000" 171 | }, 172 | "min_self_delegation": "1", 173 | "delegator_address": "evmos1zm9wlujdfp4j95ajx2xsazqy8jk97kgznsecfr", 174 | "validator_address": "evmosvaloper1zm9wlujdfp4j95ajx2xsazqy8jk97kgz77kgg7", 175 | "pubkey": { 176 | "@type": "/cosmos.crypto.ed25519.PubKey", 177 | "key": "QT7dC3UhHHCZA2o8oL6gFXLbRWCFWU/mLnNKiIOVcMA=" 178 | }, 179 | "value": { 180 | "denom": "aphoton", 181 | "amount": "1000000000000000000000" 182 | } 183 | } 184 | ], 185 | "memo": "5911ce3fe63527cff9ad1225a82d860a4c08df03@10.128.0.25:26656", 186 | "timeout_height": "0", 187 | "extension_options": [], 188 | "non_critical_extension_options": [] 189 | }, 190 | "auth_info": { 191 | "signer_infos": [ 192 | { 193 | "public_key": { 194 | "@type": "/ethermint.crypto.v1.ethsecp256k1.PubKey", 195 | "key": "A2FSYsg/8mhJ0JsrP+SQXBZCusxfVy4QhpqTtJeyDAeM" 196 | }, 197 | "mode_info": { 198 | "single": { 199 | "mode": "SIGN_MODE_DIRECT" 200 | } 201 | }, 202 | "sequence": "0" 203 | } 204 | ], 205 | "fee": { 206 | "amount": [], 207 | "gas_limit": "200000", 208 | "payer": "", 209 | "granter": "" 210 | } 211 | }, 212 | "signatures": [ 213 | "IikxRUJ7Z4lICyXyboT0IL+f590EkIDsIC22wpUl/MEjxqqvykF+84vPVImjOwzG8XbN+kE2WkDqMPfBiatE/QE=" 214 | ] 215 | } 216 | ] 217 | }, 218 | "gov": { 219 | "starting_proposal_id": "1", 220 | "deposits": [], 221 | "votes": [], 222 | "proposals": [], 223 | "deposit_params": { 224 | "min_deposit": [ 225 | { 226 | "denom": "aphoton", 227 | "amount": "10000000" 228 | } 229 | ], 230 | "max_deposit_period": "64800s" 231 | }, 232 | "voting_params": { 233 | "voting_period": "64800s" 234 | }, 235 | "tally_params": { 236 | "quorum": "0.200000000000000000", 237 | "threshold": "0.500000000000000000", 238 | "veto_threshold": "0.334000000000000000" 239 | } 240 | }, 241 | "ibc": { 242 | "client_genesis": { 243 | "clients": [], 244 | "clients_consensus": [], 245 | "clients_metadata": [], 246 | "params": { 247 | "allowed_clients": [ 248 | "06-solomachine", 249 | "07-tendermint" 250 | ] 251 | }, 252 | "create_localhost": false, 253 | "next_client_sequence": "0" 254 | }, 255 | "connection_genesis": { 256 | "connections": [], 257 | "client_connection_paths": [], 258 | "next_connection_sequence": "0", 259 | "params": { 260 | "max_expected_time_per_block": "30000000000" 261 | } 262 | }, 263 | "channel_genesis": { 264 | "channels": [], 265 | "acknowledgements": [], 266 | "commitments": [], 267 | "receipts": [], 268 | "send_sequences": [], 269 | "recv_sequences": [], 270 | "ack_sequences": [], 271 | "next_channel_sequence": "0" 272 | } 273 | }, 274 | "mint": { 275 | "minter": { 276 | "inflation": "0.130000000000000000", 277 | "annual_provisions": "0.000000000000000000" 278 | }, 279 | "params": { 280 | "mint_denom": "aphoton", 281 | "inflation_rate_change": "0.130000000000000000", 282 | "inflation_max": "0.200000000000000000", 283 | "inflation_min": "0.070000000000000000", 284 | "goal_bonded": "0.670000000000000000", 285 | "blocks_per_year": "6311520" 286 | } 287 | }, 288 | "params": null, 289 | "slashing": { 290 | "params": { 291 | "signed_blocks_window": "100", 292 | "min_signed_per_window": "0.500000000000000000", 293 | "downtime_jail_duration": "600s", 294 | "slash_fraction_double_sign": "0.050000000000000000", 295 | "slash_fraction_downtime": "0.010000000000000000" 296 | }, 297 | "signing_infos": [], 298 | "missed_blocks": [] 299 | }, 300 | "staking": { 301 | "params": { 302 | "unbonding_time": "259200s", 303 | "max_validators": 300, 304 | "max_entries": 7, 305 | "historical_entries": 10000, 306 | "bond_denom": "aphoton" 307 | }, 308 | "last_total_power": "0", 309 | "last_validator_powers": [], 310 | "validators": [], 311 | "delegations": [], 312 | "unbonding_delegations": [], 313 | "redelegations": [], 314 | "exported": false 315 | }, 316 | "transfer": { 317 | "port_id": "transfer", 318 | "denom_traces": [], 319 | "params": { 320 | "send_enabled": true, 321 | "receive_enabled": true 322 | } 323 | }, 324 | "upgrade": {}, 325 | "vesting": {} 326 | } 327 | } -------------------------------------------------------------------------------- /arsia_mons/peers.txt: -------------------------------------------------------------------------------- 1 | be7593d1d2cae15a574537f9107f525200824767@194.163.187.94:26656 2 | 78605eed3018a74d9c8c3a912cd8e6d5c9a9ca4b@65.21.232.149:26726 3 | 3bd90caf48ddd2d6b290550ecccd63348fc51da0@95.217.107.96:26658 4 | f8da50943569f160854ac21c9ffb46fb4ff7bc0d@144.217.252.197:26626 5 | 1c4c38243893889a17fd3e677999f896b2b18586@95.217.35.111:26666 6 | 0e4dec8dd2cb74277bae3a9e7f1816603e97ce60@161.97.178.48:26656 7 | 3e7b138c766dc6da32decca8665da1afb2b6bb88@207.244.249.17:26656 8 | 5502b008356087cb689211bb3c4285b7ce7f6571@95.217.154.12:26656 9 | 8227d17c3cf123108c69bf671295e5fb22d9beb3@161.97.115.68:26656 10 | 56de4d8fe7421f5a4fb6ba75b20d749be3eecf22@95.217.84.54:26656 11 | 06e3dfce2d729250e810bd5605ad7f05f3b1fc2c@75.119.155.119:26656 12 | 7cb1576a6ed3dbdc62bc30908ff7d7e910c5b08f@78.46.52.20:46656 13 | 5502b008356087cb689211bb3c4285b7ce7f6571@95.217.154.12:26656 14 | 5576b0160761fe81ccdf88e06031a01bc8643d51@195.201.108.97:24656 15 | 13e850d14610f966de38fc2f925f6dc35c7f4bf4@176.9.60.27:26656 16 | -------------------------------------------------------------------------------- /arsia_mons/seeds.txt: -------------------------------------------------------------------------------- 1 | c36cec90ded95d162b85f8ecd00ecd7c8849ca75@arsiamons.seed.evmos.org:26656 2 | 3787335176bbb91bf14a67724ebe0f0940ca5afb@evmos-seed.artifact-staking.io:26656 3 | faa31510d9280e74e7f2e767a62023bd5c896c27@evmos-testnet.mercury-nodes.net:29447 -------------------------------------------------------------------------------- /img/olympus_mons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icomplete7/testnets/9b6c0673bf984220b806e5af45b4fdd9fdcfc655/img/olympus_mons.png -------------------------------------------------------------------------------- /olympus_mons/README.md: -------------------------------------------------------------------------------- 1 | # Olympus Mons Testnet 2 | 3 | ![cover](/img/olympus_mons.png) 4 | 5 | ## Instructions 6 | 7 | Follow the instructions on the official documentation to [join the testnet](https://evmos.dev/testnet/join.html) and how to obtain tokens using the [faucet](https://evmos.dev/testnet/faucet.html). 8 | 9 | ## Details 10 | 11 | - Network Chain ID: `evmos_9000-2` 12 | - EIP155 Chain ID: `9000` 13 | - `evmosd` version: [`v0.2.x`](https://github.com/tharsis/evmos/releases) 14 | - Faucet: [faucet.evmos.org](https://faucet.evmos.org) 15 | - EVM explorer: [evm.evmos.org](https://evm.evmos.org) 16 | - Cosmos explorer: [explorer.evmos.org](https://explorer.evmos.org) 17 | 18 | ## Schedule 19 | 20 | ### Application Period 21 | 22 | Submissions open on November 17, 2021 14:00 PST, participants are required to [submit gentx](./gentx.md). 23 | 24 | Submissions close on November 19, 2021 12:00 PST. 25 | 26 | ### Genesis Launch 27 | 28 | November 19, 2021 14:00 PST. 29 | 30 | ## Seeds & Peers 31 | 32 | You can find seeds & peers on the [seeds.txt](./seeds.txt) and [peers.txt](./peers.txt) files, respectively. If you want to share your seed or peer, please fork this repo and and add it to the bottom of the corresponding `.txt` file. 33 | -------------------------------------------------------------------------------- /olympus_mons/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "genesis_time": "2021-11-17T14:44:56.22806Z", 3 | "chain_id": "evmos_9000-2", 4 | "initial_height": "1", 5 | "consensus_params": { 6 | "block": { 7 | "max_bytes": "1048576", 8 | "max_gas": "81500000", 9 | "time_iota_ms": "1000" 10 | }, 11 | "evidence": { 12 | "max_age_num_blocks": "403200", 13 | "max_age_duration": "2419200000000000", 14 | "max_bytes": "150000" 15 | }, 16 | "validator": { 17 | "pub_key_types": ["ed25519"] 18 | }, 19 | "version": {} 20 | }, 21 | "app_hash": "", 22 | "app_state": { 23 | "auth": { 24 | "params": { 25 | "max_memo_characters": "256", 26 | "tx_sig_limit": "7", 27 | "tx_size_cost_per_byte": "10", 28 | "sig_verify_cost_ed25519": "590", 29 | "sig_verify_cost_secp256k1": "1000" 30 | }, 31 | "accounts": [ 32 | { 33 | "@type": "/ethermint.types.v1.EthAccount", 34 | "base_account": { 35 | "address": "evmos1zm9wlujdfp4j95ajx2xsazqy8jk97kgznsecfr", 36 | "pub_key": null, 37 | "account_number": "0", 38 | "sequence": "0" 39 | }, 40 | "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" 41 | }, 42 | { 43 | "@type": "/ethermint.types.v1.EthAccount", 44 | "base_account": { 45 | "address": "evmos1z4ya98ga2xnffn2mhjym7tzlsm49ec23890sze", 46 | "pub_key": null, 47 | "account_number": "0", 48 | "sequence": "0" 49 | }, 50 | "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" 51 | } 52 | ] 53 | }, 54 | "authz": { 55 | "authorization": [] 56 | }, 57 | "bank": { 58 | "params": { 59 | "send_enabled": [], 60 | "default_send_enabled": true 61 | }, 62 | "balances": [ 63 | { 64 | "address": "evmos1z4ya98ga2xnffn2mhjym7tzlsm49ec23890sze", 65 | "coins": [ 66 | { 67 | "denom": "aphoton", 68 | "amount": "250000000000000000000000" 69 | } 70 | ] 71 | }, 72 | { 73 | "address": "evmos1zm9wlujdfp4j95ajx2xsazqy8jk97kgznsecfr", 74 | "coins": [ 75 | { 76 | "denom": "aphoton", 77 | "amount": "10000000000000000000000" 78 | } 79 | ] 80 | } 81 | ], 82 | "supply": [ 83 | { 84 | "denom": "aphoton", 85 | "amount": "260000000000000000000000" 86 | } 87 | ], 88 | "denom_metadata": [] 89 | }, 90 | "capability": { 91 | "index": "1", 92 | "owners": [] 93 | }, 94 | "crisis": { 95 | "constant_fee": { 96 | "denom": "aphoton", 97 | "amount": "1000" 98 | } 99 | }, 100 | "distribution": { 101 | "params": { 102 | "community_tax": "0.020000000000000000", 103 | "base_proposer_reward": "0.010000000000000000", 104 | "bonus_proposer_reward": "0.040000000000000000", 105 | "withdraw_addr_enabled": true 106 | }, 107 | "fee_pool": { 108 | "community_pool": [] 109 | }, 110 | "delegator_withdraw_infos": [], 111 | "previous_proposer": "", 112 | "outstanding_rewards": [], 113 | "validator_accumulated_commissions": [], 114 | "validator_historical_rewards": [], 115 | "validator_current_rewards": [], 116 | "delegator_starting_infos": [], 117 | "validator_slash_events": [] 118 | }, 119 | "evidence": { 120 | "evidence": [] 121 | }, 122 | "evm": { 123 | "accounts": [], 124 | "params": { 125 | "evm_denom": "aphoton", 126 | "enable_create": true, 127 | "enable_call": true, 128 | "extra_eips": [], 129 | "chain_config": { 130 | "homestead_block": "0", 131 | "dao_fork_block": "0", 132 | "dao_fork_support": true, 133 | "eip150_block": "0", 134 | "eip150_hash": "0x0000000000000000000000000000000000000000000000000000000000000000", 135 | "eip155_block": "0", 136 | "eip158_block": "0", 137 | "byzantium_block": "0", 138 | "constantinople_block": "0", 139 | "petersburg_block": "0", 140 | "istanbul_block": "0", 141 | "muir_glacier_block": "0", 142 | "berlin_block": "0", 143 | "catalyst_block": null, 144 | "london_block": "0" 145 | } 146 | } 147 | }, 148 | "feegrant": { 149 | "allowances": [] 150 | }, 151 | "genutil": { 152 | "gen_txs": [ 153 | { 154 | "body": { 155 | "messages": [ 156 | { 157 | "@type": "/cosmos.staking.v1beta1.MsgCreateValidator", 158 | "description": { 159 | "moniker": "akash", 160 | "identity": "", 161 | "website": "", 162 | "security_contact": "", 163 | "details": "" 164 | }, 165 | "commission": { 166 | "rate": "0.100000000000000000", 167 | "max_rate": "0.200000000000000000", 168 | "max_change_rate": "0.010000000000000000" 169 | }, 170 | "min_self_delegation": "1", 171 | "delegator_address": "evmos1zm9wlujdfp4j95ajx2xsazqy8jk97kgznsecfr", 172 | "validator_address": "evmosvaloper1zm9wlujdfp4j95ajx2xsazqy8jk97kgz77kgg7", 173 | "pubkey": { 174 | "@type": "/cosmos.crypto.ed25519.PubKey", 175 | "key": "QT7dC3UhHHCZA2o8oL6gFXLbRWCFWU/mLnNKiIOVcMA=" 176 | }, 177 | "value": { 178 | "denom": "aphoton", 179 | "amount": "1000000000000000000000" 180 | } 181 | } 182 | ], 183 | "memo": "5911ce3fe63527cff9ad1225a82d860a4c08df03@10.128.0.25:26656", 184 | "timeout_height": "0", 185 | "extension_options": [], 186 | "non_critical_extension_options": [] 187 | }, 188 | "auth_info": { 189 | "signer_infos": [ 190 | { 191 | "public_key": { 192 | "@type": "/ethermint.crypto.v1.ethsecp256k1.PubKey", 193 | "key": "A2FSYsg/8mhJ0JsrP+SQXBZCusxfVy4QhpqTtJeyDAeM" 194 | }, 195 | "mode_info": { 196 | "single": { 197 | "mode": "SIGN_MODE_DIRECT" 198 | } 199 | }, 200 | "sequence": "0" 201 | } 202 | ], 203 | "fee": { 204 | "amount": [], 205 | "gas_limit": "200000", 206 | "payer": "", 207 | "granter": "" 208 | } 209 | }, 210 | "signatures": [ 211 | "IikxRUJ7Z4lICyXyboT0IL+f590EkIDsIC22wpUl/MEjxqqvykF+84vPVImjOwzG8XbN+kE2WkDqMPfBiatE/QE=" 212 | ] 213 | } 214 | ] 215 | }, 216 | "gov": { 217 | "starting_proposal_id": "1", 218 | "deposits": [], 219 | "votes": [], 220 | "proposals": [], 221 | "deposit_params": { 222 | "min_deposit": [ 223 | { 224 | "denom": "aphoton", 225 | "amount": "10000000" 226 | } 227 | ], 228 | "max_deposit_period": "64800s" 229 | }, 230 | "voting_params": { 231 | "voting_period": "64800s" 232 | }, 233 | "tally_params": { 234 | "quorum": "0.200000000000000000", 235 | "threshold": "0.500000000000000000", 236 | "veto_threshold": "0.334000000000000000" 237 | } 238 | }, 239 | "ibc": { 240 | "client_genesis": { 241 | "clients": [], 242 | "clients_consensus": [], 243 | "clients_metadata": [], 244 | "params": { 245 | "allowed_clients": ["06-solomachine", "07-tendermint"] 246 | }, 247 | "create_localhost": false, 248 | "next_client_sequence": "0" 249 | }, 250 | "connection_genesis": { 251 | "connections": [], 252 | "client_connection_paths": [], 253 | "next_connection_sequence": "0", 254 | "params": { 255 | "max_expected_time_per_block": "30000000000" 256 | } 257 | }, 258 | "channel_genesis": { 259 | "channels": [], 260 | "acknowledgements": [], 261 | "commitments": [], 262 | "receipts": [], 263 | "send_sequences": [], 264 | "recv_sequences": [], 265 | "ack_sequences": [], 266 | "next_channel_sequence": "0" 267 | } 268 | }, 269 | "mint": { 270 | "minter": { 271 | "inflation": "0.130000000000000000", 272 | "annual_provisions": "0.000000000000000000" 273 | }, 274 | "params": { 275 | "mint_denom": "aphoton", 276 | "inflation_rate_change": "0.130000000000000000", 277 | "inflation_max": "0.200000000000000000", 278 | "inflation_min": "0.070000000000000000", 279 | "goal_bonded": "0.670000000000000000", 280 | "blocks_per_year": "6311520" 281 | } 282 | }, 283 | "params": null, 284 | "slashing": { 285 | "params": { 286 | "signed_blocks_window": "100", 287 | "min_signed_per_window": "0.500000000000000000", 288 | "downtime_jail_duration": "600s", 289 | "slash_fraction_double_sign": "0.050000000000000000", 290 | "slash_fraction_downtime": "0.010000000000000000" 291 | }, 292 | "signing_infos": [], 293 | "missed_blocks": [] 294 | }, 295 | "staking": { 296 | "params": { 297 | "unbonding_time": "259200s", 298 | "max_validators": 300, 299 | "max_entries": 7, 300 | "historical_entries": 10000, 301 | "bond_denom": "aphoton" 302 | }, 303 | "last_total_power": "0", 304 | "last_validator_powers": [], 305 | "validators": [], 306 | "delegations": [], 307 | "unbonding_delegations": [], 308 | "redelegations": [], 309 | "exported": false 310 | }, 311 | "transfer": { 312 | "port_id": "transfer", 313 | "denom_traces": [], 314 | "params": { 315 | "send_enabled": true, 316 | "receive_enabled": true 317 | } 318 | }, 319 | "upgrade": {}, 320 | "vesting": {} 321 | } 322 | } 323 | -------------------------------------------------------------------------------- /olympus_mons/gentx.md: -------------------------------------------------------------------------------- 1 | # Evmos Incentivized Testnet 2 | 3 | Thank you for becoming a genesis validator on Evmos! This guide will provide instructions on setting up a node, submitting a gentx, and other tasks needed to participate in the launch of the Evmos Olympus Mons incentivized testnet. 4 | 5 | A `gentx` does three things: 6 | 7 | - Registers the validator account you created as a validator operator account (i.e. the account that controls the validator). 8 | - Self-delegates the provided amount of staking tokens. 9 | - Links the operator account with a Tendermint node pubkey that will be used for signing blocks. If no `--pubkey` flag is provided, it defaults to the local node pubkey created via the `evmosd init` command. 10 | 11 | ## Setup 12 | 13 | Software: 14 | 15 | - Go version: [v1.17+](https://golang.org/dl/) 16 | - Evmos version: [v0.2.x](https://github.com/tharsis/evmos/releases) 17 | 18 | To verify that Go is installed: 19 | 20 | ```sh 21 | go version 22 | # Should return go version go1.17 linux/amd64 23 | ``` 24 | 25 | ## Instructions (Until November 19, 2021 12:00 PST) 26 | 27 | These instructions are written targeting an Ubuntu 20.04 system. Relevant changes to commands should be made depending on the OS/architecture you are running on. 28 | 29 | 1. Install `evmosd` 30 | 31 | ```bash 32 | git clone https://github.com/tharsis/evmos 33 | cd evmos && git checkout tags/v0.2.x -b 34 | make install 35 | ``` 36 | 37 | Make sure to checkout to some `v0.2.x` tag. 38 | 39 | Verify that everything is OK. If you get something *like* the following, you've successfully installed Evmos on your system. 40 | 41 | ```sh 42 | evmosd version --long 43 | 44 | name: evmos 45 | server_name: evmosd 46 | version: '"0.1.3"' 47 | commit: 7ad7715c59ec38fd19c06de54d03a982afebf961 48 | build_tags: netgo,ledger 49 | go: go version go1.17 darwin/amd64 50 | ``` 51 | 52 | 2. Initialize the `evmosd` directories and create the local file with the correct chain-id 53 | 54 | ```bash 55 | evmosd init --chain-id=evmos_9000-2 56 | ``` 57 | 58 | 3. Create a local key pair in the keybase 59 | 60 | ```bash 61 | evmosd keys add 62 | ``` 63 | 64 | Make sure to keep mnemonic seed which will be used to receive rewards at the time of mainnet launch. 65 | 66 | 4. Add the account to your local genesis file with a given amount and key you just created. 67 | 68 | ```bash 69 | evmosd add-genesis-account $(evmosd keys show -a) 1000000000000aphoton 70 | ``` 71 | 72 | Make sure to use `aphoton` denom, not `photon`. 73 | 74 | 5. Create the gentx 75 | 76 | ```bash 77 | evmosd gentx 1000000000000aphoton --commission-rate=0.1 --commission-max-rate=1 --commission-max-change-rate=0.1 --pubkey $(evmosd tendermint show-validator) --chain-id=evmos_9000-2 78 | ``` 79 | 80 | 6. Create Pull Request to this repository ([evmos/gentxs](./gentxs)) with the file `.json`. 81 | -------------------------------------------------------------------------------- /olympus_mons/gentxs/_example.json: -------------------------------------------------------------------------------- 1 | { 2 | "body": { 3 | "messages": [ 4 | { 5 | "@type": "/cosmos.staking.v1beta1.MsgCreateValidator", 6 | "description": { 7 | "moniker": "example", 8 | "identity": "", 9 | "website": "", 10 | "security_contact": "", 11 | "details": "" 12 | }, 13 | "commission": { 14 | "rate": "0.100000000000000000", 15 | "max_rate": "1.000000000000000000", 16 | "max_change_rate": "0.100000000000000000" 17 | }, 18 | "min_self_delegation": "1", 19 | "delegator_address": "evmos10edwlzh668y4lwtzujxn84f6ptrf63mtez7mhc", 20 | "validator_address": "evmosvaloper10edwlzh668y4lwtzujxn84f6ptrf63mt5v3tk9", 21 | "pubkey": { 22 | "@type": "/cosmos.crypto.ed25519.PubKey", 23 | "key": "Ih3lu701mb58FdVNfmYeX9uT+kNtF25HlLwGSf3ZWv4=" 24 | }, 25 | "value": { "denom": "aphoton", "amount": "1000000000000" } 26 | } 27 | ], 28 | "memo": "f37fae445ed5a3bc5ba77e95b3e23db5dcc619a8@192.168.1.10:26656", 29 | "timeout_height": "0", 30 | "extension_options": [], 31 | "non_critical_extension_options": [] 32 | }, 33 | "auth_info": { 34 | "signer_infos": [ 35 | { 36 | "public_key": { 37 | "@type": "/ethermint.crypto.v1.ethsecp256k1.PubKey", 38 | "key": "A1cTqQlXKsqH/AvRK4OpYQyTBrWyPfvuTzrZdIpK1ROA" 39 | }, 40 | "mode_info": { "single": { "mode": "SIGN_MODE_DIRECT" } }, 41 | "sequence": "0" 42 | } 43 | ], 44 | "fee": { "amount": [], "gas_limit": "200000", "payer": "", "granter": "" } 45 | }, 46 | "signatures": [ 47 | "KEkZILFGB6SaKL0Inb0eRxgUD9OMRwXx7R2Ckmod0I0rQ9Es6Bn/rzKfV1vPt8s5/hzJ8IFfsPuY+8yMBQ9+tQA=" 48 | ] 49 | } 50 | -------------------------------------------------------------------------------- /olympus_mons/peers.txt: -------------------------------------------------------------------------------- 1 | be7593d1d2cae15a574537f9107f525200824767@194.163.187.94:26656 2 | 78605eed3018a74d9c8c3a912cd8e6d5c9a9ca4b@65.21.232.149:26726 3 | 3bd90caf48ddd2d6b290550ecccd63348fc51da0@95.217.107.96:26658 4 | f8da50943569f160854ac21c9ffb46fb4ff7bc0d@144.217.252.197:26626 5 | 1c4c38243893889a17fd3e677999f896b2b18586@95.217.35.111:26666 6 | 0e4dec8dd2cb74277bae3a9e7f1816603e97ce60@161.97.178.48:26656 7 | 3e7b138c766dc6da32decca8665da1afb2b6bb88@207.244.249.17:26656 8 | 5502b008356087cb689211bb3c4285b7ce7f6571@95.217.154.12:26656 9 | 8227d17c3cf123108c69bf671295e5fb22d9beb3@161.97.115.68:26656 10 | 56de4d8fe7421f5a4fb6ba75b20d749be3eecf22@95.217.84.54:26656 11 | 06e3dfce2d729250e810bd5605ad7f05f3b1fc2c@75.119.155.119:26656 12 | 7cb1576a6ed3dbdc62bc30908ff7d7e910c5b08f@78.46.52.20:46656 13 | 5502b008356087cb689211bb3c4285b7ce7f6571@95.217.154.12:26656 14 | 5576b0160761fe81ccdf88e06031a01bc8643d51@195.201.108.97:24656 15 | 13e850d14610f966de38fc2f925f6dc35c7f4bf4@176.9.60.27:26656 16 | -------------------------------------------------------------------------------- /olympus_mons/seeds.txt: -------------------------------------------------------------------------------- 1 | c36cec90ded95d162b85f8ecd00ecd7c8849ca75@arsiamons.seed.evmos.org:26656 2 | 3787335176bbb91bf14a67724ebe0f0940ca5afb@evmos-seed.artifact-staking.io:26656 3 | faa31510d9280e74e7f2e767a62023bd5c896c27@evmos-testnet.mercury-nodes.net:29447 -------------------------------------------------------------------------------- /scripts/validate-gentxs.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | DAEMON_HOME="/tmp/simd$(date +%s)" 4 | RANDOM_KEY="randomvalidatorkey" 5 | 6 | echo "#############################################" 7 | echo "### Ensure to set the below ENV settings ###" 8 | echo "#############################################" 9 | echo " 10 | DAEMON= evmosd 11 | CHAIN_ID= evmos_9000-2 12 | DENOM= aphoton 13 | GH_URL= https://github.com/tharsis/evmos 14 | BINARY_VERSION= v0.2.0 15 | GO_VERSION=1.17 16 | PRELAUNCH_GENESIS_URL= https://raw.githubusercontent.com/tharsis/testnets/main/olympus_mons/genesis.json 17 | GENTXS_DIR= $GOPATH/github.com/tharsis/testnets/olympus_mons/gentxs" 18 | echo 19 | 20 | if [[ -z "${GH_URL}" ]]; then 21 | echo "GH_URL in not set, required. Ex: https://github.com/tharsis/evmos" 22 | exit 0 23 | fi 24 | if [[ -z "${DAEMON}" ]]; then 25 | echo "DAEMON is not set, required. Ex: evmosd, gaiad etc" 26 | exit 0 27 | fi 28 | if [[ -z "${DENOM}" ]]; then 29 | echo "DENOM in not set, required. Ex: stake, aphoton etc" 30 | exit 0 31 | fi 32 | if [[ -z "${GO_VERSION}" ]]; then 33 | echo "GO_VERSION in not set, required. Ex: 1.15.2, 1.16.6 etc." 34 | exit 0 35 | fi 36 | if [[ -z "${CHAIN_ID}" ]]; then 37 | echo "CHAIN_ID in not set, required." 38 | exit 0 39 | fi 40 | if [[ -z "${PRELAUNCH_GENESIS_URL}" ]]; then 41 | echo "PRELAUNCH_GENESIS_URL (genesis file url) in not set, required." 42 | exit 0 43 | fi 44 | if [[ -z "${GENTXS_DIR}" ]]; then 45 | echo "GENTXS_DIR in not set, required." 46 | exit 0 47 | fi 48 | 49 | command_exists () { 50 | type "$1" &> /dev/null ; 51 | } 52 | 53 | if command_exists go ; then 54 | echo "Golang is already installed" 55 | else 56 | read -s -p "Installing go using apt. Do you want to proceed (y/n)?: " useApt 57 | 58 | if [ "$useApt" != "y" ]; then 59 | echo 60 | echo "Install go manually and execute this script" 61 | exit 0; 62 | fi 63 | 64 | sudo apt update 65 | sudo apt install build-essential -y 66 | 67 | wget https://dl.google.com/go/go$GO_VERSION.linux-amd64.tar.gz 68 | tar -xvf go$GO_VERSION.linux-amd64.tar.gz 69 | sudo mv go /usr/local 70 | 71 | echo "" >> ~/.profile 72 | echo 'export GOPATH=$HOME/go' >> ~/.profile 73 | echo 'export GOROOT=/usr/local/go' >> ~/.profile 74 | echo 'export GOBIN=$GOPATH/bin' >> ~/.profile 75 | echo 'export PATH=$PATH:/usr/local/go/bin:$GOBIN' >> ~/.profile 76 | 77 | . ~/.profile 78 | 79 | go version 80 | fi 81 | 82 | if [ "$(ls -A $GENTXS_DIR)" ]; then 83 | echo "Install $DAEMON" 84 | git clone $GH_URL $DAEMON 85 | cd $DAEMON 86 | git fetch && git checkout $BINARY_VERSION 87 | make install 88 | $DAEMON version 89 | 90 | for GENTX_FILE in $GENTXS_DIR/*.json; do 91 | if [ -f "$GENTX_FILE" ]; then 92 | set -e 93 | 94 | echo "GentxFile::::" 95 | echo $GENTX_FILE 96 | 97 | echo "...........Init a testnet.............." 98 | $DAEMON init --chain-id $CHAIN_ID validator --home $DAEMON_HOME 99 | 100 | $DAEMON keys add $RANDOM_KEY --keyring-backend test --home $DAEMON_HOME 101 | 102 | echo "..........Fetching genesis......." 103 | curl -s $PRELAUNCH_GENESIS_URL > $DAEMON_HOME/config/genesis.json 104 | 105 | # this genesis time is different from original genesis time, just for validating gentx. 106 | sed -i '/genesis_time/c\ \"genesis_time\" : \"2021-01-01T00:00:00Z\",' $DAEMON_HOME/config/genesis.json 107 | 108 | GENACC=$(cat $GENTX_FILE | sed -n 's|.*"delegator_address":"\([^"]*\)".*|\1|p') 109 | denomquery=$(jq -r '.body.messages[0].value.denom' $GENTX_FILE) 110 | amountquery=$(jq -r '.body.messages[0].value.amount' $GENTX_FILE) 111 | 112 | # only allow $DENOM tokens to be bonded 113 | if [ $denomquery != $DENOM ]; then 114 | echo "invalid denomination" 115 | exit 1 116 | fi 117 | 118 | $DAEMON add-genesis-account $RANDOM_KEY 1000000000000000$DENOM --home $DAEMON_HOME \ 119 | --keyring-backend test 120 | 121 | $DAEMON gentx $RANDOM_KEY 900000000000000$DENOM --home $DAEMON_HOME \ 122 | --keyring-backend test --chain-id $CHAIN_ID 123 | 124 | cp $GENTX_FILE $DAEMON_HOME/config/gentx/ 125 | 126 | echo "..........Collecting gentxs......." 127 | $DAEMON collect-gentxs --home $DAEMON_HOME 128 | $DAEMON validate-genesis --home $DAEMON_HOME 129 | 130 | echo "..........Starting node......." 131 | $DAEMON start --home $DAEMON_HOME & 132 | 133 | sleep 10s 134 | 135 | echo "...checking network status.." 136 | echo "if this fails, most probably the gentx with address $GENACC is invalid" 137 | $DAEMON status --node http://localhost:26657 138 | 139 | echo "...Cleaning the stuff..." 140 | killall $DAEMON >/dev/null 2>&1 141 | sleep 2s 142 | rm -rf $DAEMON_HOME 143 | fi 144 | done 145 | else 146 | echo "$GENTXS_DIR is empty, nothing to validate" 147 | fi --------------------------------------------------------------------------------