kona-node binary, head
over to the binary guide.
:::
Kona provides a kona-node docker recipe
with detailed instructions for running a complete node setup.
Quick Start
The easiest way to runkona-node with Docker is using the provided recipe:
-
Navigate to the recipe directory:
-
Configure environment variables:
Edit
cfg.envto set your L1 RPC endpoints: -
Start the services:
kona-node- The OP Stack node implementationop-reth- Execution layer clientprometheus- Metrics collectiongrafana- Monitoring dashboards (accessible at http://localhost:3000)
Docker Compose
In the provided docker compose, there are a few services aside from thekona-node and op-reth. These are prometheus
and grafana which automatically come provisioned with dashboards
for monitoring and insight into the kona-node and op-reth services.
For more detail into how Prometheus and Grafana work, head over to the
Monitoring docs.
The docker-compose.yaml uses published images from GitHub Container Registry:
op-reth: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-reth:developkona-node: us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node:develop
Service Configuration
kona-node Service
Thekona-node service is configured with the following key settings:
- Ports:
5060- RPC endpoint9223- P2P discovery (TCP/UDP)9002- Metrics
- Environment: L1 RPC and Beacon API endpoints are required
- Volumes: Persistent data storage and JWT token for engine API authentication
op-reth Service
Theop-reth service provides the execution layer:
- Ports:
8545- HTTP RPC8551- Engine API (authenticated)30303- P2P discovery9001- Metrics
- Configuration: Pre-configured for OP Sepolia testnet
Configuration
Network Selection
By default, the recipe is configured for OP Sepolia. To sync a different OP Stack chain:- Set appropriate L1 endpoints for your target network in
cfg.env - Modify the docker-compose.yaml:
- Update
op-reth --chainparameter - Update
op-reth --rollup.sequencer-httpendpoint - Update
kona-node --chainparameter
- Update
RPC Trust Configuration
By default,kona-node trusts RPC providers (both L1 and L2). When using public or untrusted RPC endpoints, you should disable trust to enable block hash verification:
Port Configuration
All host ports can be customized via environment variables incfg.env:
Logging
Adjust log levels by setting theRUST_LOG environment variable:
Management Commands
The recipe includes convenient Just commands:Using Local Images
To use locally built images instead of published ones:-
Build the kona-node image:
-
Update docker-compose.yaml to use
kona-node:localinstead of the published image.