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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions