Skip to content

ev-reth Chainspec Reference ​

Complete reference for ev-reth chainspec (genesis.json) configuration.

Structure ​

json
{
  "config": { },
  "alloc": { },
  "coinbase": "0x...",
  "difficulty": "0x0",
  "gasLimit": "0x...",
  "nonce": "0x0",
  "timestamp": "0x0"
}

config ​

Chain configuration parameters.

Standard Ethereum Fields ​

FieldTypeDescription
chainIdnumberUnique chain identifier
homesteadBlocknumberHomestead fork block (use 0)
eip150BlocknumberEIP-150 fork block (use 0)
eip155BlocknumberEIP-155 fork block (use 0)
eip158BlocknumberEIP-158 fork block (use 0)
byzantiumBlocknumberByzantium fork block (use 0)
constantinopleBlocknumberConstantinople fork block (use 0)
petersburgBlocknumberPetersburg fork block (use 0)
istanbulBlocknumberIstanbul fork block (use 0)
berlinBlocknumberBerlin fork block (use 0)
londonBlocknumberLondon fork block (use 0)
shanghaiTimenumberShanghai fork timestamp (use 0)
cancunTimenumberCancun fork timestamp (use 0)

config.evolve ​

Evolve-specific extensions.

FieldTypeDescription
baseFeeSinkaddressRedirect base fees to this address
baseFeeRedirectActivationHeightnumberBlock height to activate redirect
deployAllowlistobjectContract deployment restrictions
contractSizeLimitnumberMax contract bytecode size (bytes)
mintPrecompileobjectNative token minting precompile

deployAllowlist ​

json
{
  "admin": "0x...",
  "enabled": ["0x...", "0x..."]
}
FieldTypeDescription
adminaddressCan modify the allowlist
enabledaddress[]Addresses allowed to deploy

mintPrecompile ​

json
{
  "admin": "0x...",
  "address": "0x0000000000000000000000000000000000000100"
}
FieldTypeDescription
adminaddressCan call mint()
addressaddressPrecompile address

alloc ​

Pre-funded accounts and contract deployments.

json
{
  "alloc": {
    "0xAddress1": {
      "balance": "0x..."
    },
    "0xAddress2": {
      "balance": "0x...",
      "code": "0x...",
      "storage": {
        "0x0": "0x..."
      }
    }
  }
}
FieldTypeDescription
balancehex stringWei balance
codehex stringContract bytecode (optional)
storageobjectStorage slots (optional)
noncehex stringAccount nonce (optional)

Top-Level Fields ​

FieldTypeDescription
coinbaseaddressDefault fee recipient
difficultyhex stringInitial difficulty (use "0x0")
gasLimithex stringBlock gas limit
noncehex stringGenesis nonce (use "0x0")
timestamphex stringGenesis timestamp
extraDatahex stringExtra data (optional)
mixHashhex stringMix hash (optional)

Example ​

json
{
  "config": {
    "chainId": 1337,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "berlinBlock": 0,
    "londonBlock": 0,
    "shanghaiTime": 0,
    "cancunTime": 0,
    "evolve": {
      "baseFeeSink": "0x1234567890123456789012345678901234567890",
      "baseFeeRedirectActivationHeight": 0,
      "contractSizeLimit": 49152,
      "mintPrecompile": {
        "admin": "0xBridgeContract",
        "address": "0x0000000000000000000000000000000000000100"
      }
    }
  },
  "alloc": {
    "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266": {
      "balance": "0x200000000000000000000000000000000000000000000000000000000000000"
    }
  },
  "coinbase": "0x0000000000000000000000000000000000000000",
  "difficulty": "0x0",
  "gasLimit": "0x1c9c380",
  "nonce": "0x0",
  "timestamp": "0x0"
}

Released under the APACHE-2.0 License