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
Docker: Install Docker and ensure it’s running on your machine.
System Requirements:
RAM: 8-16 GB
CPU: 2-4 cores
Storage: Varies depending on SeqCore chain traffic over time.
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
Parent Chain RPC: Replace
<Parent RPC URL>
with the RPC endpoint of the parent chain.--parent-chain.connection.url=<Parent RPC URL>
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.Chain Name: Set the name of the chain using
--chain.name
. Example:--chain.name="conduit-orbit-deployer"
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) and8548
(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!
Last updated