Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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 fwdctl CLI 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.