Skip to main content

Forest vs Lotus

Forest and Lotus are both full-node implementations of the Filecoin protocol. Forest is written in Rust and maintained by ChainSafe Systems; it focuses on chain validation, a high-performance RPC API, and snapshot generation, exporting a chain snapshot substantially faster than Lotus while using a fraction of the memory. Lotus is written in Go; it provides the complete Filecoin feature set, including the storage-provider stack.

  • Choose Forest to validate the chain, serve the Filecoin or Ethereum RPC API, generate snapshots, or run a bootstrap node, particularly where lower resource usage matters.
  • Choose Lotus when you need storage-provider functionality (sealing, proving, block production) or the completeness of the reference implementation, where new protocol features typically land first.

Feature comparison

CapabilityForestLotus
Chain synchronization and validationYesYes
Filecoin JSON-RPC APIYesYes
Ethereum-compatible RPC (eth_*)YesYes
Snapshot exportYesYes
Built-in walletYesYes
Bootstrap nodeYesYes
F3 (Fast Finality) participationYesYes
Storage provider / sealing (lotus-miner, lotus-worker)NoYes
Block production / miningNoYes

Performance

For a comparable RPC workload, Forest served requests at lower latency while using less CPU and memory than Lotus, and it exported a snapshot in a fraction of the time and memory. See the RPC Performance Comparison and Snapshot Generation Comparison for the full figures and methodology.