inkonchain /node

How to run an Ink Node

★ 36,385⑂ 650👁 95⑃ 69● 30▤ 6◈ 0
ShellMITCreated 2024-05-13docs.inkonchain.com
36,385
stars
+0
650
forks
95
watchers
69
prs
30
issues
6
releases
0
discussions

README

Ink Node

 Forked and customized from https://github.com/smartcontracts/simple-optimism-node

A Docker Compose setup for running an Ink node, plus the supporting
healthcheck and monitoring services.

 Versions

| Component | Version |
|---|---|
| Execution client | op-reth v2.6.0 |
| op-node | v1.19.8 |

op-geth reached end of support on May 31, 2026, and the Karst
hardfork activated on Ink Mainnet on July 8, 2026 without op-geth support.
This stack runs op-reth as its execution client. Post-Karst op-reth needs
op-node v1.19.1 or later because of the new getPayloadV5 engine API
method, and op-reth v2.3.3 or later (v2.3.2 shipped a known
eth_estimateGas bug after Karst activation).

See the
op-geth deprecation notice
and the
op-reth configuration guide.

 Migrating from the op-geth stack

- op-geth data cannot be reused. op-reth starts from an op-reth snapshot
  (see Snapshot sources), so run docker compose down -v
  once, or remove the old op_geth volume, to reclaim the disk
- Port variables were renamed from PORT__OP_GETH_ to PORT__OP_RETH_, and
  envs//op-geth.env is now envs//op-reth.env. Update any
  existing .env
- InfluxDB and its opgeth database are gone. The dashboard reads op-reth
  metrics from Prometheus instead
- op-node flags --rollup.halt and --rollup.load-protocol-versions were
  removed upstream and are no longer passed

 Recommended Hardware

 Mainnet

- 16GB+ RAM
- 2 TB SSD (NVME recommended)
- 100 Mbps+ download

 Testnet

- 16GB+ RAM
- 500 GB SSD (NVME recommended)
- 100 Mbps+ download

 Prerequisites

- Docker Engine and Docker Compose v2 on Linux, or Docker Desktop on macOS and
  Windows
- Working L1 execution RPC and L1 beacon API endpoints for the Ethereum network
  that matches your target Ink network. After the snapshot restore, op-node
  derives the chain from L1 starting at the snapshot date, so the L1 RPC must
  serve receipts for blocks up to about a week old and have high rate limits.
  Free public endpoints are not enough (see
  op-node cannot connect to L1)
- Enough free disk for your chosen node type

On Apple Silicon, the healthcheck sidecar runs as linux/amd64. Docker
Desktop handles this automatically, but the first startup can take longer.

 Ubuntu install

 If you are not logged in as root, log out and back in after adding yourself to
 the docker group.

sh
sudo apt-get update
sudo apt-get upgrade -y

sudo apt-get install -y curl gnupg ca-certificates lsb-release

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list  /dev/null

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo usermod -aG docker $(whoami)


Verify Docker after logging back in:

sh
docker ps


 Quick 

Top issues

Latest release

v2.0.0 v2.0.0 2025-05-15
Please see Optimism repositories for upgrade notes

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON