AN EXECUTION CLIENT
FOR THE EVM ECOSYSTEM

LinuxmacOSWindowsDocker
Networks

Supported networks

The configured networks ship ready to run, each production network with its testnet. Everything that distinguishes one network from another is a value in a config file rather than a branch in the code, which is what lets the same binary be pointed at a consortium chain, a sidechain or a rollup without a different build.

docker run ghcr.io/fukuii-project/fukuii-cli
Scala 3PekkoJVMRocksDB
Networks

Networks Fukuii runs

The production networks ship configured, each with its testnet: Ethereum Classic, the only Proof-of-Work EVM network in production, and Ethereum, the largest Proof-of-Stake network.

They are grouped into families rather than listed flat, because the difference between them is structural rather than a matter of settings. A Proof-of-Work family dispatches its forks by block number and has no deposit contract; a Proof-of-Stake family dispatches by timestamp and does. Grouping them means the shared code never asks which network it is running, and adding a family does not mean adding a branch to everything that already works.

Proof-of-Work / ETChash

Ethereum Classic

PoW
MainnetFollows the fork schedule
chain 61
MordorETC testnet
chain 63
Proof-of-Stake / Engine API

Ethereum

PoS
MainnetFollows the fork schedule
chain 1
SepoliaETH testnet
chain 11155111
Configurable

PoA & consortium networks

Clique/Qbft/Bor-style consensus, custom genesis and fork schedule, no source changes

Configurable

Sidechains

Polygon/Bor-style, with injected bridge/oracle logic

Configurable

Development networks

Generate a genesis and stand up a private or test network from the same binary

Configurable

L2 rollups

OP-stack/Taiko-style, including rollup-specific transaction types and derivation

Configurable

ZK-EVM & alt-consensus

ZK-EVM and alt-BFT alongside PoW and PoS, including custom VMs and zk-gas schedules

Each family is selected per deployment. Archival storage and snapshot distribution are covered on the operations page.

Definition

What makes one network different

A network is a set of values, not a build. These are what a configuration supplies, and pointing Fukuii at a different chain means supplying a different set rather than compiling a different client.

The values that define a network, and what each one governs
WhatWhy it is separate
Chain IDSigns transactions, so it decides what a signature is valid on
Network IDGates peering, so it decides who a node will talk to
Genesis hashIdentifies the data directory, so it decides which chain a database holds
Fork scheduleBy block number or by timestamp, depending on the family
Gas scheduleFee mechanics and any divergence from mainnet pricing
Consensus driverWhat decides which block is canonical

The first three are independent on purpose. Chain ID signs transactions, network ID gates peering, and the genesis hash identifies a data directory, so a custom network can share one with another chain and differ on the rest. Treating them as a single identity is a common way to end up with a node that peers happily and then rejects every transaction it receives.

Concurrency

What running networks concurrently means

Fukuii supervises each network as a separate unit. The networks share a process but not their data, so one network's sync cannot affect another's.

PER NETWORK

state

Each network keeps its own storage. Nothing is shared, so one chain's sync cannot corrupt or bloat another's database.

PER NETWORK

metrics

Each network gets its own metrics registry, so a dashboard reads one chain rather than an aggregate of several.

PER NETWORK

config

Fork schedule, peers, RPC surface and consensus module are all set per network, in one process with one supply chain to audit.

The network list above is what ships configured. The consensus module it sits on is a seam, so a deployment can point it at a consortium chain, a sidechain, or an L2 without a different build.

Permissioned and private networks →