@@ -99,31 +99,35 @@ echo "$USER3_MNEMONIC" | docker run --rm -i -v "$DATA_DIR:/data" --user root --e
9999echo " $USER4_MNEMONIC " | docker run --rm -i -v " $DATA_DIR :/data" --user root --entrypoint=" " cosmos/evmd \
100100 evmd keys add " $USER4_KEY " --recover --keyring-backend " $KEYRING " --algo " $KEYALGO " --home /data
101101
102- # Configure genesis file using jq directly on host (simpler approach)
102+ # Configure genesis file using Docker to avoid permission issues
103103echo -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"
111104
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+ "
127131
128132# Add genesis accounts and generate validator transaction
129133echo -e " ${GREEN} Setting up genesis accounts and validator...${NC} "
0 commit comments