Skip to content

Regarding EIP-7702 transaction type (Petra) #1859

@deepak-zeeve

Description

@deepak-zeeve

Hi @XinyuCRO,
I know you are busy on working on this.
Please see this
Thanks

Metamask not working
I used private key of validators node to metamask, it's not even showing the balances and transaction is not working properly.

Setup
Four validators and one RPC

Questions

  1. Is There any genesis changes to support EIP-7702

** init.sh **

#!/bin/bash

set -e
set -x

# ===== Config Variables =====
KEY="val-key"
CHAINID="cronos_777-1"
MONIKER_PREFIX="cronos-node"
KEYRING="file"
KEYALGO="eth_secp256k1"
NUM_NODES=4
SCRIPT_DIR=$(pwd)
GENTX_AMOUNT="200000000000000000000000stake"
INITIAL_BALANCE="5625000000000000000000000000stake"

# ===== Dependency Check =====
command -v jq > /dev/null 2>&1 || { echo >&2 "jq is not installed. Please install jq."; exit 1; }

# ===== Clean up old node directories =====
for (( i=1; i<=NUM_NODES; i++ )); do
done

# ===== Init First Node =====
FIRST_NODE_HOME="$SCRIPT_DIR/${MONIKER_PREFIX}1"
cronosd init "${MONIKER_PREFIX}1" --chain-id "$CHAINID" --home "$FIRST_NODE_HOME" --overwrite

# ===== Modify genesis.json =====
GENESIS_FILE="$FIRST_NODE_HOME/config/genesis.json"
TMP_GENESIS="$FIRST_NODE_HOME/config/tmp_genesis.json"

jq '
  .consensus.params.block.max_gas = "30000000" |
  .consensus.params.block.time_iota_ms = "6000"
' "$GENESIS_FILE" > "$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS_FILE"

# ===== Add validator keys and genesis accounts =====
for (( i=1; i<=NUM_NODES; i++ )); do
  NODE_HOME="$SCRIPT_DIR/${MONIKER_PREFIX}${i}"
  VAL_KEY_NAME="${KEY}${i}"

  mkdir -p "$NODE_HOME"
  cronosd keys add "$VAL_KEY_NAME" --keyring-backend "$KEYRING" --algo "$KEYALGO" --home "$NODE_HOME" --output json
  VAL_ADDRESS=$(cronosd keys show "$VAL_KEY_NAME" -a --keyring-backend "$KEYRING" --home "$NODE_HOME")

  cronosd genesis add-genesis-account "$VAL_ADDRESS" "$INITIAL_BALANCE" --home "$FIRST_NODE_HOME"
done

# ===== Distribute genesis to all nodes =====
for (( i=2; i<=NUM_NODES; i++ )); do
  cp "$FIRST_NODE_HOME/config/genesis.json" "$SCRIPT_DIR/${MONIKER_PREFIX}${i}/config/genesis.json"
done

# ===== Generate gentxs =====
for (( i=1; i<=NUM_NODES; i++ )); do
  NODE_HOME="$SCRIPT_DIR/${MONIKER_PREFIX}${i}"
  VAL_KEY_NAME="${KEY}${i}"
  cronosd genesis gentx "$VAL_KEY_NAME" "$GENTX_AMOUNT" --keyring-backend "$KEYRING" --home "$NODE_HOME" --chain-id "$CHAINID" -y
done

# ===== Collect gentxs to node1 =====
mkdir -p "$FIRST_NODE_HOME/config/gentx"
for (( i=2; i<=NUM_NODES; i++ )); do
  cp "$SCRIPT_DIR/${MONIKER_PREFIX}${i}/config/gentx/"*.json "$FIRST_NODE_HOME/config/gentx/"
done

cronosd genesis collect-gentxs --home "$FIRST_NODE_HOME"
cronosd genesis validate --home "$FIRST_NODE_HOME"

# ===== Copy final genesis to all nodes =====
for (( i=2; i<=NUM_NODES; i++ )); do
  cp "$FIRST_NODE_HOME/config/genesis.json" "$SCRIPT_DIR/${MONIKER_PREFIX}${i}/config/genesis.json"
done

# ===== Configure config.toml & app.toml =====
for (( i=1; i<=NUM_NODES; i++ )); do
  NODE_HOME="$SCRIPT_DIR/${MONIKER_PREFIX}${i}"
  CONFIG_FILE="$NODE_HOME/config/config.toml"
  APP_FILE="$NODE_HOME/config/app.toml"

  PORT_OFFSET=0
  P2P_PORT=$((26656 + PORT_OFFSET))
  RPC_PORT=$((26657 + PORT_OFFSET))

  sed -i.bak "s/^external_address *=.*/external_address = \"127.0.0.1:$P2P_PORT\"/" "$CONFIG_FILE"

  # Build persistent_peers
  PEERS=""
  for (( j=1; j<=NUM_NODES; j++ )); do
    if [ $j -ne $i ]; then
      PEER_ID=$(cronosd tendermint show-node-id --home "$SCRIPT_DIR/${MONIKER_PREFIX}${j}")
      PEER_PORT=26656
      PEERS+="$PEER_ID@cronosnode$j:$PEER_PORT,"
    fi
  done
  PEERS=${PEERS::-1}
  sed -i.bak "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" "$CONFIG_FILE"

  sed -i.bak "s/^laddr *= \"tcp:\/\/127\.0\.0\.1:26657\"/laddr = \"tcp:\/\/0.0.0.0:$RPC_PORT\"/" "$CONFIG_FILE"
  sed -i.bak "s/^laddr *= \"tcp:\/\/127\.0\.0\.1:26656\"/laddr = \"tcp:\/\/0.0.0.0:$P2P_PORT\"/" "$CONFIG_FILE"

  # rm "$CONFIG_FILE.bak" "$APP_FILE.bak"
done

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions