-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmulti-node.sh
68 lines (53 loc) · 17.2 KB
/
multi-node.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/bash
rm -rf data/testnet/zkevm-sequencer-0
rm -rf data/testnet/zkevm-sequencer-1
rm -rf data/testnet/zkevm-sequencer-2
sequencerd init node0 --chain-id testnet_9000-1 --home data/testnet/zkevm-sequencer-0
sequencerd init node1 --chain-id testnet_9000-1 --home data/testnet/zkevm-sequencer-1
sequencerd init node2 --chain-id testnet_9000-1 --home data/testnet/zkevm-sequencer-2
yes | sequencerd keys add testnet0 --home data/testnet/zkevm-sequencer-0 --keyring-backend os
yes | sequencerd keys add testnet1 --home data/testnet/zkevm-sequencer-0 --keyring-backend os
yes | sequencerd keys add testnet2 --home data/testnet/zkevm-sequencer-0 --keyring-backend os
yes | sequencerd keys add testnet1 --home data/testnet/zkevm-sequencer-1 --keyring-backend os
yes | sequencerd keys add testnet2 --home data/testnet/zkevm-sequencer-2 --keyring-backend os
echo "==========================get private==========================="
yes | sequencerd keys unsafe-export-eth-key testnet0 --home data/testnet/zkevm-sequencer-0 --keyring-backend os
#yes | sequencerd keys unsafe-export-eth-key testnet1 --home data/testnet/zkevm-sequencer-0 --keyring-backend os
#yes | sequencerd keys unsafe-export-eth-key testnet2 --home data/testnet/zkevm-sequencer-0 --keyring-backend os
jq '.app_state["staking"]["params"]["bond_denom"]="eth"' data/testnet/zkevm-sequencer-0/config/genesis.json >data/testnet/zkevm-sequencer-0/config/tmp_genesis.json && mv data/testnet/zkevm-sequencer-0/config/tmp_genesis.json data/testnet/zkevm-sequencer-0/config/genesis.json
jq '.app_state["crisis"]["constant_fee"]["denom"]="eth"' data/testnet/zkevm-sequencer-0/config/genesis.json >data/testnet/zkevm-sequencer-0/config/tmp_genesis.json && mv data/testnet/zkevm-sequencer-0/config/tmp_genesis.json data/testnet/zkevm-sequencer-0/config/genesis.json
jq '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]="eth"' data/testnet/zkevm-sequencer-0/config/genesis.json >data/testnet/zkevm-sequencer-0/config/tmp_genesis.json && mv data/testnet/zkevm-sequencer-0/config/tmp_genesis.json data/testnet/zkevm-sequencer-0/config/genesis.json
jq '.app_state["evm"]["params"]["evm_denom"]="eth"' data/testnet/zkevm-sequencer-0/config/genesis.json >data/testnet/zkevm-sequencer-0/config/tmp_genesis.json && mv data/testnet/zkevm-sequencer-0/config/tmp_genesis.json data/testnet/zkevm-sequencer-0/config/genesis.json
jq '.app_state["evm"]["accounts"]=[{"address":"0x0000000000000000000000000000000000010000","code":"6080604052600436106100745760003560e01c80636e94aac51161004e5780636e94aac514610147578063738301ce146101675780638dfbfead1461017d578063fcd5e7b31461019d57600080fd5b8063312faf74146100bf5780633b1623fe146100ff57806349a435e21461012757600080fd5b366100ba573362020000146100b85760405162461bcd60e51b81526020600482015260056024820152644d5345445360d81b60448201526064015b60405180910390fd5b005b600080fd5b3480156100cb57600080fd5b506100ec6100da366004610d8a565b60009081526002602052604090205490565b6040519081526020015b60405180910390f35b34801561010b57600080fd5b506000546040516001600160a01b0390911681526020016100f6565b34801561013357600080fd5b506100b8610142366004610da3565b6101bd565b34801561015357600080fd5b506100b8610162366004610e07565b6101cb565b34801561017357600080fd5b506100ec60015481565b34801561018957600080fd5b506100b8610198366004610e8f565b6102d2565b3480156101a957600080fd5b506100b86101b8366004610d8a565b610455565b6101c561049c565b60015550565b60008060006101da87876104d3565b925092509250600154831461021a5760405162461bcd60e51b81526004016100af9060208082526004908201526309082a6960e31b604082015260600190565b60008061023c736957467fcd019980bcfc70e6d3eedf0e4b4970a68888610737565b915091508382146102785760405162461bcd60e51b815260206004820152600660248201526511135493d3d560d21b60448201526064016100af565b6000818152600260205260409081902084905551849086907f9d70f54d5d379e4b92c497936411380303c56bfb08caed66b62c94380ad153db906102bf9087815260200190565b60405180910390a3505050505050505050565b6201ffff196001600160a01b038a16016103175760405162461bcd60e51b81526004016100af906020808252600490820152631513915160e21b604082015260600190565b60008a8a8a8a8a8a8a8a604051602001610338989796959493929190610f4a565b604051602081830303815290604052805190602001209050600080610378610371846331df76a460009081526020919091526040902090565b8686610a77565b6000828152600260205260408120549294509092508190036103c55760405162461bcd60e51b815260206004820152600660248201526514d51493d3d560d21b60448201526064016100af565b8981106103fd5760405162461bcd60e51b81526004016100af90602080825260049082015263444d545360e01b604082015260600190565b600182146104355760405162461bcd60e51b8152602060048201526005602482015264111355905360da1b60448201526064016100af565b6104458e8e8e8e8e8e8e8e610be5565b5050505050505050505050505050565b33620200001461048f5760405162461bcd60e51b81526020600482015260056024820152644d5345445360d81b60448201526064016100af565b6104993382610cda565b50565b3233146104d15760405162461bcd60e51b8152602060048201526003602482015262454f4160e81b60448201526064016100af565b565b60008060006106ec565b6308c379a060e01b60005260206004528060445260005b81156105095760089190911b906001016104f4565b8060245260646000fd5b505050565b50505050565b92915050565b600080823560001a60f88110156105465760be19019360019390930192915050565b60f78103600481111561055557fe5b60018581013560088302610100031c8201810196919095019094019392505050565b6000806000833560001a608081101561059b57600193508492506001915050610612565b60b88110156105b757607f190192505050600182810190610612565b60c08110156105f05760b7810360048111156105cf57fe5b60018681013560088302610100031c95509086018101935091506106129050565b60f88110156106055760018501925050610612565b60f6190192506001840191505b9193909250565b604051819060008061062a84610524565b8186863781852090959092500184845b8287101561066f5761064b87610577565b93508082019850831561066857608082901b811783526020909201915b505061063a565b82871461067857fe5b60208682030494505050509193509193565b610100919091031b1792915050565b60008260200282015162ffffff81168160801c9150601f8211156106c45701601f190135905061051e565b356020919091036008021c905092915050565b3560208390036008021c9250505b9250929050565b6106f585610619565b87890184146107105761071065424f554e445360d01b6104dd565b955061071f9050600382610699565b935061072c600b82610699565b925050509250925092565b600080610a42565b806080811061051e576020831161051e5760ff60071960088502011b191692915050565b604051819060008061077484610524565b8186863781852090959092500184845b8287101561066f5761079587610577565b9350808201985083156107b257608082901b811783526020909201915b5050610784565b6000196004830290811c8216906020600185161561068a57506003610100919091031b1792915050565b6000808360200283015162ffffff81168160801c9250601f8311156106d7578201601f19013592506106e59050565b6001820160008080808635811a81805b828110156108f45760008060006108388b610763565b9350935093509a5083600081146108615761085c640a89082a6960db1b8b84610a31565b610865565b819a505b5050806002811461088d57601181146108c657610888634e4f444560e01b6104dd565b6108e9565b60008061089b6001866107e3565b509a5050506000198601841480156108b5578397506108c0565b835160801c95909501945b506108e9565b6004850260fc038c901c600f166108dd81856107e3565b50995050600194909401935b505050600101610822565b506108ff81896107b9565b935050509295509295909350565b8060008080808080806109258a6000526014600c2090565b61092f8982610812565b955097509450985098505061094d6520a1a622a0a360d11b82610a22565b610958600082610699565b945061096e651050d493d3d560d21b8686610a31565b602081015162ffffff1694506000935061098785610763565b95509550915094506109a66620a1a622a0a32760c91b60048614610a22565b6109b1600282610699565b955050505050509250925092565b95509750955098509850508060008114610a15576109de600083610699565b95506109eb6001836107e3565b9350965085851493508360008114610a0e57610a07848961073f565b9750610a13565b600097505b505b5050505050509250925092565b808061051357610513836104dd565b8082148061051857610518846104dd565b83610a4d868261090d565b9350935090508385018114610a6e57610a6e65424f554e445360d01b6104dd565b50935093915050565b600080610bda565b6040518190600080610a9084610524565b8186863781852090959092500184845b8287101561066f57610ab187610577565b935080820198508315610ace57608082901b811783526020909201915b5050610aa0565b6001820160008080808635811a81805b828110156108f4576000806000610afb8b610a7f565b9350935093509a508360008114610b2457610b1f640a89082a6960db1b8b84610a31565b610b28565b819a505b50508060028114610b505760118114610b8957610b4b634e4f444560e01b6104dd565b610bac565b600080610b5e6001866107e3565b509a505050600019860184148015610b7857839750610b83565b835160801c95909501945b50610bac565b6004850260fc038c901c600f16610ba081856107e3565b50995050600194909401935b505050600101610ae5565b806000808080808080610bd08a60009081526020902090565b6109bf8982610ad5565b83610a4d8682610bb7565b834210610c1a5760405162461bcd60e51b815260206004820152600360248201526211135160ea1b60448201526064016100af565b60008888888888888888604051602001610c3b989796959493929190610f4a565b60405160208183030381529060405280519060200120905085600014610c6557610c653287610cda565b600080546001600160a01b0319166001600160a01b038b16179055610c8c88888585610d66565b600080546001600160a01b03191690556040518181527ffa39010b12e169f2d7e9a76e381216416dbf5eb59db117ae979592ee9f3238859060200160405180910390a1505050505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610d27576040519150601f19603f3d011682016040523d82523d6000602084013e610d2c565b606091505b50509050806105135760405162461bcd60e51b81526004016100af906020808252600490820152630a88aa8960e31b604082015260600190565b608081838237600080838387895af1610d83573d6000803e3d6000fd5b5050505050565b600060208284031215610d9c57600080fd5b5035919050565b60008060408385031215610db657600080fd5b50508035926020909101359150565b60008083601f840112610dd757600080fd5b50813567ffffffffffffffff811115610def57600080fd5b6020830191508360208285010111156106e557600080fd5b60008060008060408587031215610e1d57600080fd5b843567ffffffffffffffff80821115610e3557600080fd5b610e4188838901610dc5565b90965094506020870135915080821115610e5a57600080fd5b50610e6787828801610dc5565b95989497509550505050565b80356001600160a01b0381168114610e8a57600080fd5b919050565b6000806000806000806000806000806101008b8d031215610eaf57600080fd5b610eb88b610e73565b9950610ec660208c01610e73565b985060408b0135975060608b0135965060808b0135955060a08b0135945060c08b013567ffffffffffffffff80821115610eff57600080fd5b610f0b8e838f01610dc5565b909650945060e08d0135915080821115610f2457600080fd5b50610f318d828e01610dc5565b915080935050809150509295989b9194979a5092959850565b600060018060a01b03808b168352808a166020840152508760408301528660608301528560808301528460a083015260e060c08301528260e08301526101008385828501376000838501820152601f909301601f19169091019091019897505050505050505056fea2646970667358221220f101cc5bcd7e2bebfcc0738510d5c0a549c146ae5cfe0bd7bb3ab7a00bc5dc3a64736f6c63430008120033","storage":[{"key":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","value":"00000000000000000000cbaf2257000313bb2574"}]},{"address":"0x0000000000000000000000000000000000020000","code":"608060405260043610601c5760003560e01c80630900f010146043575b363d3d373d3d3d3d828236833d19545af4925050503d82833e8015603e573d82f35b503d81fd5b348015604e57600080fd5b50605f605a3660046061565b3d1955565b005b600060208284031215607257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114609557600080fd5b939250505056","storage":[{"key":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","value":"00000000000000000000cbaf2257000313bb2574"}]}]' data/testnet/zkevm-sequencer-0/config/genesis.json >data/testnet/zkevm-sequencer-0/config/tmp_genesis.json && mv data/testnet/zkevm-sequencer-0/config/tmp_genesis.json data/testnet/zkevm-sequencer-0/config/genesis.json
jq '.app_state["inflation"]["params"]["mint_denom"]="eth"' data/testnet/zkevm-sequencer-0/config/genesis.json >data/testnet/zkevm-sequencer-0/config/tmp_genesis.json && mv data/testnet/zkevm-sequencer-0/config/tmp_genesis.json data/testnet/zkevm-sequencer-0/config/genesis.json
jq '.consensus_params["block"]["max_gas"]="10000000"' data/testnet/zkevm-sequencer-0/config/genesis.json >data/testnet/zkevm-sequencer-0/config/tmp_genesis.json && mv data/testnet/zkevm-sequencer-0/config/tmp_genesis.json data/testnet/zkevm-sequencer-0/config/genesis.json
yes | sequencerd add-genesis-account testnet0 100000000000000000000000000eth --keyring-backend os --home data/testnet/zkevm-sequencer-0
yes | sequencerd add-genesis-account testnet1 100000000000000000000000000eth --keyring-backend os --home data/testnet/zkevm-sequencer-0
yes | sequencerd add-genesis-account testnet2 100000000000000000000000000eth --keyring-backend os --home data/testnet/zkevm-sequencer-0
yes | sequencerd add-genesis-account testnet1 100000000000000000000000000eth --keyring-backend os --home data/testnet/zkevm-sequencer-1
yes | sequencerd add-genesis-account testnet2 100000000000000000000000000eth --keyring-backend os --home data/testnet/zkevm-sequencer-2
yes | sequencerd gentx testnet0 1000000000000000000000eth --home data/testnet/zkevm-sequencer-0 --keyring-backend os --chain-id testnet_9000-1
yes | sequencerd gentx testnet1 1000000000000000000000eth --home data/testnet/zkevm-sequencer-1 --keyring-backend os --chain-id testnet_9000-1
yes | sequencerd gentx testnet2 1000000000000000000000eth --home data/testnet/zkevm-sequencer-2 --keyring-backend os --chain-id testnet_9000-1
cp data/testnet/zkevm-sequencer-1/config/gentx/* data/testnet/zkevm-sequencer-0/config/gentx
cp data/testnet/zkevm-sequencer-2/config/gentx/* data/testnet/zkevm-sequencer-0/config/gentx
sequencerd collect-gentxs --home data/testnet/zkevm-sequencer-0
sequencerd collect-gentxs --home data/testnet/zkevm-sequencer-1
sequencerd collect-gentxs --home data/testnet/zkevm-sequencer-2
jq '.app_state["bank"]["supply"][0]["denom"]="eth"' data/testnet/zkevm-sequencer-0/config/genesis.json >data/testnet/zkevm-sequencer-0/config/tmp_genesis.json && mv data/testnet/zkevm-sequencer-0/config/tmp_genesis.json data/testnet/zkevm-sequencer-0/config/genesis.json
jq '.app_state["bank"]["supply"][0]["amount"]="500000000000000000000000000"' data/testnet/zkevm-sequencer-0/config/genesis.json >data/testnet/zkevm-sequencer-0/config/tmp_genesis.json && mv data/testnet/zkevm-sequencer-0/config/tmp_genesis.json data/testnet/zkevm-sequencer-0/config/genesis.json
jq '.app_state["bank"]["balances"] += [{"address":"cosmos1qqqqqqqqqqqqqqqqqqqqqqqqqqqqzqqqcm9z38","coins":[{"denom":"eth","amount":"100000000000000000000000000"}]},{"address":"cosmos1qqqqqqqqqqqqqqqqqqqqqqqqqqqqyqqq962vzq","coins":[{"denom":"eth","amount":"100000000000000000000000000"}]}]' data/testnet/zkevm-sequencer-0/config/genesis.json >data/testnet/zkevm-sequencer-0/config/tmp_genesis.json && mv data/testnet/zkevm-sequencer-0/config/tmp_genesis.json data/testnet/zkevm-sequencer-0/config/genesis.json
jq '.app_state["auth"]["accounts"] += [{"@type":"/ethermint.types.v1.EthAccount","base_account":{"address":"cosmos1qqqqqqqqqqqqqqqqqqqqqqqqqqqqzqqqcm9z38","pub_key":null,"account_number":"0","sequence":"0"},"code_hash":"0x3f5f731ab78a4c41fcbf0a9f2611196c3b1dc8850e46c66f57856b17bc40b6af"},{"@type":"/ethermint.types.v1.EthAccount","base_account":{"address":"cosmos1qqqqqqqqqqqqqqqqqqqqqqqqqqqqyqqq962vzq","pub_key":null,"account_number":"0","sequence":"0"},"code_hash":"0x27501cc38304f18a7feb9a6d868bfce79f59a255f543ef2528b8b8b500094045"}]' data/testnet/zkevm-sequencer-0/config/genesis.json >data/testnet/zkevm-sequencer-0/config/tmp_genesis.json && mv data/testnet/zkevm-sequencer-0/config/tmp_genesis.json data/testnet/zkevm-sequencer-0/config/genesis.json
cp data/testnet/zkevm-sequencer-0/config/genesis.json data/testnet/zkevm-sequencer-1/config
cp data/testnet/zkevm-sequencer-0/config/genesis.json data/testnet/zkevm-sequencer-2/config
sed -i.bak 's/seeds = "40f4fac63da8b1ce8f850b0fa0f79b2699d2ce72@seed.evmos.jerrychong.com:26656,e3e11fca4ecf4035a751f3fea90e3a821e274487@bd-evmos-mainnet-seed-node-01.bdnodes.net:26656,fc86e7e75c5d2e4699535e1b1bec98ae55b16826@bd-evmos-mainnet-seed-node-02.bdnodes.net:26656"/seeds = ""/g' data/testnet/zkevm-sequencer-0/config/config.toml
sed -i.bak 's/seeds = "40f4fac63da8b1ce8f850b0fa0f79b2699d2ce72@seed.evmos.jerrychong.com:26656,e3e11fca4ecf4035a751f3fea90e3a821e274487@bd-evmos-mainnet-seed-node-01.bdnodes.net:26656,fc86e7e75c5d2e4699535e1b1bec98ae55b16826@bd-evmos-mainnet-seed-node-02.bdnodes.net:26656"/seeds = ""/g' data/testnet/zkevm-sequencer-1/config/config.toml
sed -i.bak 's/seeds = "40f4fac63da8b1ce8f850b0fa0f79b2699d2ce72@seed.evmos.jerrychong.com:26656,e3e11fca4ecf4035a751f3fea90e3a821e274487@bd-evmos-mainnet-seed-node-01.bdnodes.net:26656,fc86e7e75c5d2e4699535e1b1bec98ae55b16826@bd-evmos-mainnet-seed-node-02.bdnodes.net:26656"/seeds = ""/g' data/testnet/zkevm-sequencer-2/config/config.toml
sed -i.bak 's/allow_duplicate_ip = false/allow_duplicate_ip = true/g' data/testnet/zkevm-sequencer-0/config/config.toml
sed -i.bak 's/allow_duplicate_ip = false/allow_duplicate_ip = true/g' data/testnet/zkevm-sequencer-1/config/config.toml
sed -i.bak 's/allow_duplicate_ip = false/allow_duplicate_ip = true/g' data/testnet/zkevm-sequencer-2/config/config.toml
TRACE=""
# Start the node (remove the --pruning=nothing flag if historical queries are not needed)
#sequencerd start --metrics "$TRACE" --log_level="info" --minimum-gas-prices=0.0001eth --json-rpc.api eth,txpool,personal,net,debug,web3 --api.enable --home data/testnet/zkevm-sequencer-0
#sequencerd start --metrics "$TRACE" --log_level="info" --minimum-gas-prices=0.0001eth --json-rpc.api eth,txpool,personal,net,debug,web3 --api.enable --home data/testnet/zkevm-sequencer-1
#sequencerd start --metrics "$TRACE" --log_level="info" --minimum-gas-prices=0.0001eth --json-rpc.api eth,txpool,personal,net,debug,web3 --api.enable --home data/testnet/zkevm-sequencer-2