Skip to main content
Leafage splits a monolithic EVM full node into a distributed pipeline: one write node handles P2P sync and block execution, execution data is distributed through Kafka + S3 to any number of lightweight query nodes, and structured block data (transactions, call traces, event logs) is delivered to external consumers at the same time. Query capacity therefore scales horizontally: adding a query node needs only ~90GB of disk and a snapshot restore that takes minutes, instead of 1.3TB+ of disk and hours of full-chain sync.

The five components

Where to start

Core concepts

What Leafage is, the role of each of the five components, and the terms used across this site.

Architecture overview

Component responsibilities, runtime topology, and the split between data plane and control plane.

Data flow

The full path of a block from execution to queryable, including reorg and catch-up.

Interface contracts

Exact definitions of Kafka topics, S3 keys, the etcd key space, and RPC conventions.

Sending RPC requests

Endpoints, request headers, and copy-and-paste examples for eth_call, batch calls, and blockCtx.

Contributing

Repository map, build and test commands, commit conventions, and where to start contributing.

Suggested reading order

1

Start with the core concepts

One page to learn what Leafage is and the terms used across this site: write node, query node, state diff, block context.
2

Then read the architecture overview

Learn why the full node is split and which segment each of the five components owns.
3

Next, read the data flow

Follow one block end to end; this is the shortest path to understanding how the components work together.
4

Read component docs as needed

Each component page covers the directory layout, key mechanisms, configuration, and code entry points, so you can go straight to the source files.
5

Read the interface contracts before making changes

When you change cross-component behavior, Kafka messages, S3 keys, and etcd keys are the parts that must stay compatible.
This site describes the current main branch implementation of each repository. The component repositories also contain more detailed design documents (such as leafage-evm’s docs/StateManage.md and pipeline’s docs/protocol.md); this site links to them in the relevant sections.