Swellchain LogoSwellchain

Node Operation Overview

Learn how to run a node on Swellchain

Swell Network operates as an Optimistic Rollup chain based on the OP Stack. This guide explains the process of setting up and running a Swell Network node using Docker.

Prerequisites

The following components must be available on your system:

  • Docker Engine 24.0.0+
  • Docker Compose v2.20.0+
  • 16GB RAM minimum (32GB recommended)
  • 4 CPU cores minimum
  • 1TB SSD storage (NVME recommended)
  • Linux operating system
  • Access to Ethereum L1 RPC and Beacon endpoints

Node Setup Process

1. Environment Configuration

  1. Create a new directory for your node and clone the repository:
git clone https://github.com/alt-research/opstack-fullnode-sync.git
cd opstack-fullnode-sync
  1. Generate JWT file:
openssl rand -hex 32 > jwt.txt
  1. Create .env file from the example and update the required values:
cp .env.example .env

Update the following values in your .env file:

  • L1_RPC: Your Ethereum L1 RPC endpoint
  • L1_BEACON: Your Ethereum L1 Beacon endpoint

The other values are pre-configured for Swell Network:

  • Chain ID: 1923
  • Bootnodes and P2P configuration
  • Genesis and rollup configuration URLs
  • Docker images and versions

Here is an example of the .env file:

mainnet.env
# geth image
GETH_IMAGE=us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101411.0
# l1 rpc url
# node image
NODE_IMAGE=us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.9.4
L1_RPC=<L1_RPC>
# l1 rpc kind(standard/basic/quicknode/alchemy/erigon)
# https://docs.optimism.io/builders/node-operators/tutorials/node-from-docker
L1_RPC_KIND=standard
# node libp2p bootnodes
P2P_STATIC="/dns/swell-mux.altlayer.network/tcp/30659/p2p/16Uiu2HAmVYZ79ta2QFs2P2Y1n83gaRVRrGg7o7qps2nQPBW2DKRp,/dns/swell-mux.altlayer.network/tcp/30259/p2p/16Uiu2HAmPxWph3g2j6drH5G4LEgSquJkp613sr2orveVVSp1pTE9,/dns/swell-mux.altlayer.network/tcp/30605/p2p/16Uiu2HAm39XBcL8NXy7nm4YpqewLuHT6ZiSwMySYWczpezSCpksu"
# rollup config file url link
ROLLUP_CONFIG_URL="https://operator-public.s3.us-west-2.amazonaws.com/swell/mainnet/rollup.json"
# tx forward endpoint
SEQUENCER_HTTP=http://swell-mainnet.alt.technology/
# op-l2 geth bootnodes
BOOTNODES="enode://71cc695fd5317998d25b6311a06901e37ea06f2cc3e31b0ce90b27b7ed2c88957739892a07fcf9042266bb52678a1c705555d8c012f74cd0f6f1228ae4cc9130@swell-mux.altlayer.network:30239,enode://a7ede29f0c2aee9c2894b878dbfd58a026e2d7d1fb17d3486c8f8ef3a7231a9a9426d655a4d44543948a9e8f436cb9aa120000ea907e992a42d5aa3b7e1c6867@swell-mux.altlayer.network:32105,enode://72ba41a98a8b158f61ac22ab282fade95d16c1559c3c48fc543d9a86cc723ffcbd7c8028ce4f5caae34df81bc8e06d0b43737752f549ca6175c27539291f58c4@swell-mux.altlayer.network:30533"
# genesis file url link
GENESIS_URL="https://operator-public.s3.us-west-2.amazonaws.com/swell/mainnet/genesis.json"
# sync mode(full or snap)
SYNC_MODE=full
# gc mode(archive or full)
GC_MODE=archive
# plasma enabled(true or false)
PLASMA_ENABLED=false
# plasma da server url
PLASMA_DA_SERVER=
# beacon url
L1_BEACON="<L1_BEACON>"

Operating the Node

Starting the Node

Start the node using Docker Compose:

docker compose --env-file .env up -d

This will start both the execution client (op-geth) and consensus client (op-node).

Monitoring Logs

View op-node logs:

docker compose logs -f node

View op-geth logs:

docker compose logs -f geth

Verifying Sync Status

Check the sync status:

curl --location 'localhost:8545' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "eth_syncing",
"params": [],
"id": 2
}'

If the node is syncing, you'll see a response with sync progress details. When syncing is complete, it will return {"jsonrpc":"2.0","id":2,"result":false}.

Check the current block number after syncing:

curl --location 'localhost:8545' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "eth_blockNumber",
"id": 2
}'

Stopping the Node

To stop the node:

docker compose down

Configuration Options

The node can be configured through the .env file with the following key options:

  • SYNC_MODE: Choose between full or snap sync
  • GC_MODE: Choose between archive or full for garbage collection
  • PLASMA_ENABLED: Enable/disable plasma features

Network Information

ParameterValue
Chain NameSwellchain
Chain ID1923
RPC URLhttps://swell-mainnet.alt.technology
Block Explorerhttps://explorer.swellnetwork.io

For more detailed information about the network configuration, refer to the rollup configuration and genesis file.

On this page