@@ -99,31 +99,35 @@ echo "$USER3_MNEMONIC" | docker run --rm -i -v "$DATA_DIR:/data" --user root --e
99
99
echo " $USER4_MNEMONIC " | docker run --rm -i -v " $DATA_DIR :/data" --user root --entrypoint=" " cosmos/evmd \
100
100
evmd keys add " $USER4_KEY " --recover --keyring-backend " $KEYRING " --algo " $KEYALGO " --home /data
101
101
102
- # Configure genesis file using jq directly on host (simpler approach)
102
+ # Configure genesis file using Docker to avoid permission issues
103
103
echo -e " ${GREEN} Configuring genesis file...${NC} "
104
- # Change parameter token denominations to desired value
105
- jq ' .app_state["staking"]["params"]["bond_denom"]="atest"' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
106
- jq ' .app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]="atest"' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
107
- jq ' .app_state["gov"]["params"]["min_deposit"][0]["denom"]="atest"' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
108
- jq ' .app_state["gov"]["params"]["expedited_min_deposit"][0]["denom"]="atest"' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
109
- jq ' .app_state["evm"]["params"]["evm_denom"]="atest"' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
110
- jq ' .app_state["mint"]["params"]["mint_denom"]="atest"' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
111
104
112
- # Add default token metadata to genesis
113
- jq ' .app_state["bank"]["denom_metadata"]=[{"description":"The native staking token for evmd.","denom_units":[{"denom":"atest","exponent":0,"aliases":["attotest"]},{"denom":"test","exponent":18,"aliases":[]}],"base":"atest","display":"test","name":"Test Token","symbol":"TEST","uri":"","uri_hash":""}]' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
114
-
115
- # Enable precompiles in EVM params
116
- jq ' .app_state["evm"]["params"]["active_static_precompiles"]=["0x0000000000000000000000000000000000000100","0x0000000000000000000000000000000000000400","0x0000000000000000000000000000000000000800","0x0000000000000000000000000000000000000801","0x0000000000000000000000000000000000000802","0x0000000000000000000000000000000000000803","0x0000000000000000000000000000000000000804","0x0000000000000000000000000000000000000805", "0x0000000000000000000000000000000000000806", "0x0000000000000000000000000000000000000807"]' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
117
-
118
- # Set EVM config
119
- jq ' .app_state["evm"]["params"]["evm_denom"]="atest"' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
120
-
121
- # Enable native denomination as a token pair for STRv2
122
- jq ' .app_state.erc20.params.native_precompiles=["0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"]' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
123
- jq ' .app_state.erc20.token_pairs=[{contract_owner:1,erc20_address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",denom:"atest",enabled:true}]' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
124
-
125
- # Set gas limit in genesis
126
- jq ' .consensus.params.block.max_gas="10000000"' " $DATA_DIR /config/genesis.json" > " $DATA_DIR /config/tmp_genesis.json" && mv " $DATA_DIR /config/tmp_genesis.json" " $DATA_DIR /config/genesis.json"
105
+ # Use Docker with jq to modify genesis file (avoiding host permission issues)
106
+ docker run --rm -v " $DATA_DIR :/data" --user root --entrypoint=" " --workdir=" /data/config" alpine/jq bash -c "
107
+ # Change parameter token denominations to desired value
108
+ jq '.app_state[\" staking\" ][\" params\" ][\" bond_denom\" ]=\" atest\" ' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
109
+ jq '.app_state[\" gov\" ][\" deposit_params\" ][\" min_deposit\" ][0][\" denom\" ]=\" atest\" ' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
110
+ jq '.app_state[\" gov\" ][\" params\" ][\" min_deposit\" ][0][\" denom\" ]=\" atest\" ' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
111
+ jq '.app_state[\" gov\" ][\" params\" ][\" expedited_min_deposit\" ][0][\" denom\" ]=\" atest\" ' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
112
+ jq '.app_state[\" evm\" ][\" params\" ][\" evm_denom\" ]=\" atest\" ' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
113
+ jq '.app_state[\" mint\" ][\" params\" ][\" mint_denom\" ]=\" atest\" ' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
114
+
115
+ # Add default token metadata to genesis
116
+ jq '.app_state[\" bank\" ][\" denom_metadata\" ]=[{\" description\" :\" The native staking token for evmd.\" ,\" denom_units\" :[{\" denom\" :\" atest\" ,\" exponent\" :0,\" aliases\" :[\" attotest\" ]},{\" denom\" :\" test\" ,\" exponent\" :18,\" aliases\" :[]}],\" base\" :\" atest\" ,\" display\" :\" test\" ,\" name\" :\" Test Token\" ,\" symbol\" :\" TEST\" ,\" uri\" :\"\" ,\" uri_hash\" :\"\" }]' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
117
+
118
+ # Enable precompiles in EVM params
119
+ jq '.app_state[\" evm\" ][\" params\" ][\" active_static_precompiles\" ]=[\" 0x0000000000000000000000000000000000000100\" ,\" 0x0000000000000000000000000000000000000400\" ,\" 0x0000000000000000000000000000000000000800\" ,\" 0x0000000000000000000000000000000000000801\" ,\" 0x0000000000000000000000000000000000000802\" ,\" 0x0000000000000000000000000000000000000803\" ,\" 0x0000000000000000000000000000000000000804\" ,\" 0x0000000000000000000000000000000000000805\" , \" 0x0000000000000000000000000000000000000806\" , \" 0x0000000000000000000000000000000000000807\" ]' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
120
+
121
+ # Set EVM config (duplicate but keeping for consistency)
122
+ jq '.app_state[\" evm\" ][\" params\" ][\" evm_denom\" ]=\" atest\" ' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
123
+
124
+ # Enable native denomination as a token pair for STRv2
125
+ jq '.app_state.erc20.params.native_precompiles=[\" 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\" ]' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
126
+ jq '.app_state.erc20.token_pairs=[{contract_owner:1,erc20_address:\" 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\" ,denom:\" atest\" ,enabled:true}]' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
127
+
128
+ # Set gas limit in genesis
129
+ jq '.consensus.params.block.max_gas=\" 10000000\" ' genesis.json > tmp_genesis.json && mv tmp_genesis.json genesis.json
130
+ "
127
131
128
132
# Add genesis accounts and generate validator transaction
129
133
echo -e " ${GREEN} Setting up genesis accounts and validator...${NC} "
0 commit comments