Introduction
Firewood is an embedded key-value store optimized for storing recent Merkleized blockchain state with minimal overhead. It is built for the Avalanche C-Chain and EVM-compatible blockchains that keep state in Merkle tries.
Unlike most state-management approaches, Firewood uses the trie structure directly as its on-disk index rather than emulating a trie on top of a generic key-value store such as LevelDB or RocksDB. It is compaction-less: trie nodes are written directly to a single database file, addressed by their offset within that file.
Firewood’s documentation is organized into the following sections. Greyed-out sidebar entries are not yet written.
- Getting Started walks through setting up a development environment.
- Concepts & Architecture explains the trie storage model and revisions.
- Design Documents records the designs behind Firewood’s subsystems and how new designs are proposed and promoted.
- Integration covers the Go FFI and how AvalancheGo consumes Firewood.
- Operations & Benchmarking covers the
fwdctlCLI and performance dashboards. - Reference links to the generated Rust and Go API documentation and the benchmark dashboards.
- Meta documents the repository’s processes and how these docs are built.
Warning
Firewood is beta-level software. Its API is still evolving and stability is not yet guaranteed.