Filecoin Node Comparison
There are three 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, all with low hardware requirements.
- Lotus is the reference implementation, written in Go. It provides the complete Filecoin feature set, including the storage-provider stack, and is typically where new protocol features land first.
- Venus is a modular Go implementation. Rather than a single daemon, it is a set of independently deployable components (
venus,damocles,sophon-miner,venus-wallet,sophon-messager,sophon-auth,sophon-gateway) that together pioneered Filecoin's distributed storage pool model, with a largely Lotus-compatible API. It aims to help small and medium-sized storage providers join the Filecoin network with a lower barrier to entry.
Feature comparison
| Capability | Forest | Lotus |
|---|---|---|
| Chain synchronization and validation | Yes | Yes |
| Filecoin JSON-RPC API | Yes | Yes |
Ethereum-compatible RPC (eth_*) | Yes | Yes |
| Snapshot export | Yes | Yes |
Built-in and standalone wallet (forest-wallet / lotus-wallet) | Yes | Yes |
| Bootstrap node | Yes | Yes |
| F3 (Fast Finality) participation | Yes | Yes |
| Built-in health-check endpoints | Yes | Yes |
Storage provider / sealing (lotus-miner, lotus-worker) | No | Yes |
| Block production / mining | No (untested) | Yes |
Single binary for all networks (--chain) | Yes | No |
| Auto-download snapshot on startup | Yes | No |
| Lite / diff / archival snapshot generation | Yes | No |
Offline RPC server from snapshot (forest-tool api serve) | Yes | No |
Stateless node mode (--stateless) | Yes | No |
Ethereum trace_call and debug_traceTransaction | Yes | No |
| Written in Rust 🦀 | Yes | No |
Forest and Lotus both expose a compatible Filecoin JSON-RPC API (requests and responses use the same JSON format). Forest serves three API versions: /rpc/v0 (deprecated, legacy Lotus-compatible methods), /rpc/v1 (stable and recommended for production), and /rpc/v2 (experimental, still being rolled out). See the JSON-RPC overview, methods reference, and API conformance report for supported methods and Lotus API parity.
Performance
For a comparable RPC workload, Forest serves requests at lower latency while using less CPU and memory than Lotus, and it exports snapshots significantly faster and with lower hardware requirements. See the RPC Performance Comparison and Snapshot Generation Comparison for the full figures and methodology.