Skip to content

L2 configuration fields #7

@YaroShkvorets

Description

@YaroShkvorets

A field(s) to configure rollup stack for L2/L3 chains

Different for each stack: OP Stack, Arbitrum, zkSync Stack, Polygon SDK, etc

Perhaps put it on ipfs?

Arbitrum Nitro:

{
  "chain": {
    "info-json": [{
      "chain-id": 660279,
      "parent-chain-id": 42161,
      "parent-chain-is-arbitrum": true,
      "chain-name": "Xai",
      "chain-config": {
        "homesteadBlock": 0,
        "daoForkBlock": null,
        "daoForkSupport": true,
        "eip150Block": 0,
        "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "eip155Block": 0,
        "eip158Block": 0,
        "byzantiumBlock": 0,
        "constantinopleBlock": 0,
        "petersburgBlock": 0,
        "istanbulBlock": 0,
        "muirGlacierBlock": 0,
        "berlinBlock": 0,
        "londonBlock": 0,
        "clique": {
          "period": 0,
          "epoch": 0
        },
        "arbitrum": {
          "EnableArbOS": true,
          "AllowDebugPrecompiles": false,
          "DataAvailabilityCommittee": true,
          "InitialArbOSVersion": 11,
          "GenesisBlockNum": 0,
          "MaxCodeSize": 40960,
          "MaxInitCodeSize": 81920,
          "InitialChainOwner": "0xc7185e37A4aB4Af0E77bC08249CD2590AE3E1b51"
        },
        "chainId": 660279
      },
      "rollup": {
        "bridge": "0x7dd8A76bdAeBE3BBBaCD7Aa87f1D4FDa1E60f94f",
        "inbox": "0xaE21fDA3de92dE2FDAF606233b2863782Ba046F9",
        "sequencer-inbox": "0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1",
        "rollup": "0xC47DacFbAa80Bd9D8112F4e8069482c2A3221336",
        "validator-utils": "0x6c21303F5986180B1394d2C89f3e883890E2867b",
        "validator-wallet-creator": "0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
        "deployed-at": 166757506
      }
    }],
    "name": "Xai"
  },
  "parent-chain": {
    "connection": {
      "url": "http://arbone-nitro.service.march.consul.eosn.io:9657"
    }
  },
  "http": {
    "addr": "0.0.0.0",
    "port": 9657,
    "vhosts": "*",
    "corsdomain": "*",
    "api": [
      "eth",
      "net",
      "web3",
      "arb",
      "debug"
    ]
  },
  "execution": {
    "forwarding-target": "https://xai-chain.net/rpc",
    "caching": {
      "archive": true
    }
  },
  "node": {
    "data-availability": {
      "enable": true,
      "sequencer-inbox-address": "0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1",
      "parent-chain-node-url": "https://arb1.arbitrum.io/rpc",
      "rest-aggregator": {
        "enable": true,
        "online-url-list": "https://xai-chain.net/das-servers"
      }
    },
    "feed": {
      "input": {
        "url": "wss://xai-chain.net/feed"
      }
    }
  }
}

OP stack:

OP_GETH_SEQUENCER_HTTP=https://mainnet-sequencer.base.org
OP_SEQUENCER_HTTP=https://mainnet-sequencer.base.org

# [optional] used to enable geth stats:
# OP_GETH_ETH_STATS=nodename:secret@host:port
# OP_NETHERMIND_ETHSTATS_ENABLED=true
# OP_NETHERMIND_ETHSTATS_NODE_NAME=NethermindNode
# OP_NETHERMIND_ETHSTATS_ENDPOINT=ethstats_endpoint

# [required] replace with your preferred L1 (Ethereum, not Base) node RPC URL:
OP_NODE_L1_ETH_RPC=https://1rpc.io/eth

# [required] replace with your preferred L1 CL beacon endpoint:
OP_NODE_L1_BEACON=https://your.mainnet.beacon.node/endpoint-here

# auth secret used by op-geth engine API:
OP_NODE_L2_ENGINE_AUTH_RAW=<SKIPPED>

OP_NODE_L2_ENGINE_AUTH=/tmp/engine-auth-jwt
OP_NODE_L2_ENGINE_RPC=ws://execution:8551
OP_NODE_LOG_LEVEL=info
OP_NODE_METRICS_ADDR=0.0.0.0
OP_NODE_METRICS_ENABLED=true
OP_NODE_METRICS_PORT=7300
OP_NODE_NETWORK=base-mainnet
OP_NODE_P2P_AGENT=base
OP_NODE_P2P_BOOTNODES=enr:-<SKIPPED>
OP_NODE_P2P_LISTEN_IP=0.0.0.0
OP_NODE_P2P_LISTEN_TCP_PORT=9222
OP_NODE_P2P_LISTEN_UDP_PORT=9222
OP_NODE_RPC_ADDR=0.0.0.0
OP_NODE_RPC_PORT=8545
OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log
OP_NODE_VERIFIER_L1_CONFS=4
OP_NODE_ROLLUP_LOAD_PROTOCOL_VERSIONS=true

# OP_NODE_L1_TRUST_RPC allows for faster syncing, but should be used *only* if your L1 RPC node
# is fully trusted. It also allows op-node to work with clients such as Erigon that do not
# support storage proofs:
# OP_NODE_L1_TRUST_RPC=true

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions