Skip to main content
Version: v1.8

Installing networks

The Obol Stack supports installing multiple blockchain networks on your local Kubernetes cluster. Each network installation creates a unique deployment with its own namespace, allowing you to run multiple instances simultaneously.

Available networks​

View all available networks:

obol network list

Currently supported networks:

NetworkDescription
ethereumFull Ethereum node (execution + consensus clients)
heliosEthereum light client for RPC access
aztecAztec Layer 2 sequencer node

Network installation workflow​

Installing a network follows a two-step process:

  1. Install - Generate configuration and save to disk
  2. Sync - Deploy the configuration to the cluster

This separation allows you to review and modify configuration before deployment.

Install command​

obol network install <network> [flags]

This creates a deployment directory at ~/.config/obol/networks/<network>/<id>/ containing:

  • values.yaml - Configuration values (editable)
  • helmfile.yaml.gotmpl - Deployment definition

Sync command​

obol network sync <network>/<id>

This deploys the configuration to your Kubernetes cluster using Helmfile.

Delete command​

obol network delete <network>/<id>

This removes both the Kubernetes resources and local configuration.

Ethereum network​

Deploy a full Ethereum node with configurable execution and consensus clients.

Configuration options​

FlagDescriptionOptionsDefault
--idDeployment identifierAny stringAuto-generated
--networkEthereum networkmainnet, sepolia, hoodimainnet
--execution-clientExecution layer clientreth, geth, nethermind, besu, erigon, ethereumjsreth
--consensus-clientConsensus layer clientlighthouse, prysm, teku, nimbus, lodestar, grandinelighthouse

Examples​

Deploy an Ethereum node on Hoodi testnet with default clients:

# Install configuration
obol network install ethereum --network=hoodi

# Deploy to cluster (replace with your deployment ID)
obol network sync ethereum/knowing-wahoo
warning

Full Ethereum nodes require significant resources. Mainnet execution clients need 1+ TB of storage and can take days to sync. Consider using testnets for development.

Check sync status​

Monitor your Ethereum node sync progress:

# View pod status
obol kubectl get pods -n ethereum-<id>

# Check execution client logs
obol kubectl logs -n ethereum-<id> -l app=execution -f

# Check consensus client logs
obol kubectl logs -n ethereum-<id> -l app=consensus -f

Helios light client​

Deploy a Helios Ethereum light client for fast RPC access without syncing a full node.

Configuration options​

FlagDescriptionOptionsDefault
--idDeployment identifierAny stringAuto-generated
--networkEthereum networkmainnetmainnet
--consensus-rpcConsensus RPC endpointURLPublic endpoint
--execution-rpcExecution RPC endpointURLPublic endpoint

Example​

# Install Helios
obol network install helios

# Deploy to cluster
obol network sync helios/<id>

Helios provides a local RPC endpoint that verifies data against the consensus layer, giving you trustless Ethereum access without running a full node.

Aztec network​

Deploy an Aztec Layer 2 sequencer node for the privacy-focused Ethereum rollup.

Configuration options​

FlagDescriptionOptionsDefault
--idDeployment identifierAny stringAuto-generated
--networkAztec networkmainnetmainnet
--attester-private-keyAttester private key (hex)RequiredNone
--l1-execution-urlL1 execution RPC URLURLERPC endpoint
--l1-consensus-urlL1 consensus RPC URLURLPublic endpoint

Example​

obol network install aztec \
--attester-private-key=<YOUR_PRIVATE_KEY> \
--l1-execution-url=https://geth-prysm-mainnet-1.gcp.obol.tech/ \
--l1-consensus-url=https://prysm-geth-mainnet-1.gcp.obol.tech/

What this does:

  • Deploys an Aztec sequencer node in your local Kubernetes cluster.
  • Connects to Ethereum mainnet using the specified RPC endpoints.
  • Configures your node as an attester using the provided private key.

Default L1 RPC endpoints:

  • Execution Layer: https://geth-prysm-mainnet-1.gcp.obol.tech/ (Geth)
  • Consensus Layer: https://prysm-geth-mainnet-1.gcp.obol.tech/ (Prysm)

These are production-grade, publicly accessible Ethereum nodes provided by Obol.

info

You can use your own Ethereum node endpoints by changing the --l1-execution-url and --l1-consensus-url flags.

Deploy to the cluster:

obol network sync aztec/<id>

Resource requirements​

The Aztec sequencer requires significant resources:

ResourceRequestLimit
CPU4 cores8 cores
Memory16 GB32 GB
Storage1 TB-
warning

Ensure your machine has sufficient resources before deploying an Aztec node. The node requires substantial CPU, memory, and disk space for operation.

Managing deployments​

List installed networks​

View configuration directories:

ls ~/.config/obol/networks/

View deployment status​

Check running deployments:

obol kubectl get namespaces | grep -E "ethereum|helios|aztec"

Modify configuration​

Edit the values file before syncing:

# Open values.yaml in your editor
$EDITOR ~/.config/obol/networks/<network>/<id>/values.yaml

# Re-sync to apply changes
obol network sync <network>/<id>

Delete a deployment​

Remove a network deployment:

obol network delete <network>/<id>

This deletes:

  • Kubernetes namespace and all resources
  • Local configuration directory
  • Persistent volume claims (data)
warning

Deletion is permanent. All blockchain data stored in the deployment will be lost.