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