SeqCore
  • 👋Overview
  • Introduction
    • Bittensor Nodes
    • Introducing SeqCore
    • SeqCore's Solution
    • Mission & Vision
    • Integration
  • Tutorial
    • Validator Node Guide
    • Mainnet Chain Info
    • Core.json
    • Connect To SeqCore Mainnet
  • Fundamentals
    • 🛠️Features
      • Subnets for Enhanced Node Efficiency and Specialization
      • Dynamic Incentive Mechanism
      • Robust Security Measures
      • Decentralized Autonomous Organization (DAO) Governance
      • Cutting-edge Research and Collaboration
      • $SEQ Token Integration:
      • Cross-platform Compatibility and Developer Tools
      • Industry-specific Solutions
  • Roadmap
    • Phases
      • Phase 1: Foundation and Development
      • Phase 2: Pilot and Integration
      • Phase 3: Scaling and Optimization
      • Phase 4: Global Adoption and Impact
  • FAQ
    • Frequently Asked Questions
  • Policies & Guidelines
    • SeqCore Community Guidelines
    • Terms of Service
    • Privacy Policy
Powered by GitBook
On this page
  1. Tutorial

Validator Node Guide

How to Run a Full Node for SeqCore L3 Chain

This guide provides step-by-step instructions for running a SeqCore node on your local machine.


Prerequisites

  1. Docker: Install Docker and ensure it’s running on your machine.

  2. System Requirements:

    • RAM: 8-16 GB

    • CPU: 2-4 cores

    • Storage: Varies depending on SeqCore chain traffic over time.

  3. SeqCore Configuration Details: Obtain the following:

    • Parent chain RPC URL.

    • Chain information JSON.

    • Sequencer node URL (if applicable).


Step 1: Get the Docker Image

Download the latest SeqCore node Docker image:

docker pull seqcore/nitro-node:latest

Step 2: Create a Data Directory

Create a directory for persistent data:

mkdir -p /path/to/seqcore-data
chmod -R 777 /path/to/seqcore-data

Step 3: Gather Required Parameters

  1. Parent Chain RPC: Replace <Parent RPC URL> with the RPC endpoint of the parent chain.

    --parent-chain.connection.url=<Parent RPC URL>
  2. Child Chain Info JSON: Example JSON:

    [{
       "chain-id":10263,
       "parent-chain-id":421614,
       "chain-name":"conduit-orbit-deployer",
       "chain-config":{
          "chainId":10263,
          "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":32,
             "InitialChainOwner":"0x39f15185A5db359BAEd62D7efA40C99f88f5Ed3d",
             "GenesisBlockNum":0
          }
       },
       "rollup":{
          "bridge":"0xA5A1E43f6a1D7F6aFc92516DA5B07A25C6f4D8E7",
          "inbox":"0x5eC840B65FA9b35539FC91938cBfDfEe78b3dCd0",
          "sequencer-inbox":"0xC030b2607B8b195b3F4A343123E8ad342dF8294c",
          "rollup":"0x2D4A586430dd38A05FE185715672b76A04e562b7",
          "validator-utils":"0x7a135bFC73FE67c1C32FA5C8048e2aF368708dBc",
          "validator-wallet-creator":"0xf16584F5f4Fbb692818c5a4C2e09CFf39C6F10F8",
          "deployed-at":110999521
       }
    }]

    Use this JSON with the --chain.info-json flag.

  3. Chain Name: Set the name of the chain using --chain.name. Example:

    --chain.name="conduit-orbit-deployer"
  4. Sequencer Endpoint: If running as a non-sequencer node, add:

    --execution.forwarding-target=<Sequencer RPC URL>

Step 4: Run the Node

Run the following Docker command:

docker run --rm -it \
-v /path/to/seqcore-data:/home/user/.seqcore \
-p 8547:8547 \
-p 8548:8548 \
seqcore/nitro-node:latest \
--parent-chain.connection.url=<Parent RPC URL> \
--chain.info-json='[{"chain-id":10263,"parent-chain-id":421614,"chain-name":"conduit-orbit-deployer","chain-config":{"chainId":10263,"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":32,"InitialChainOwner":"0x39f15185A5db359BAEd62D7efA40C99f88f5Ed3d","GenesisBlockNum":0}},"rollup":{"bridge":"0xA5A1E43f6a1D7F6aFc92516DA5B07A25C6f4D8E7","inbox":"0x5eC840B65FA9b35539FC91938cBfDfEe78b3dCd0","sequencer-inbox":"0xC030b2607B8b195b3F4A343123E8ad342dF8294c","rollup":"0x2D4A586430dd38A05FE185715672b76A04e562b7","validator-utils":"0x7a135bFC73FE67c1C32FA5C8048e2aF368708dBc","validator-wallet-creator":"0xf16584F5f4Fbb692818c5a4C2e09CFf39C6F10F8","deployed-at":110999521}}]' \
--chain.name="conduit-orbit-deployer" \
--http.api=net,web3,eth \
--http.addr=0.0.0.0 \
--ws.port=8548 \
--ws.addr=0.0.0.0

Step 5: Verify Node Status

Check the logs to ensure the node is syncing:

docker logs -f <container_id>

Tips

  • Persistent Data: Ensure /path/to/seqcore-data exists for storing node data across restarts.

  • Firewall Settings: Open ports 8547 (HTTP) and 8548 (WebSocket).

  • Graceful Shutdown: Stop the node safely to save its state:

    docker stop --time=300 $(docker ps -q)

You are now running a full SeqCore node!

PreviousIntegrationNextMainnet Chain Info

Last updated 5 months ago