Forest is an implementation of Filecoin Protocol Specification, specifically the virtual machine, blockchain, and node system, and (ii) integrating functional components for storage mining and storage & retrieval markets to compose a fully functional Filecoin node implementation.
||Chain structures and syncing functionality|
||Verification and signature definitions|
||Forest encoding and decoding|
||IPLD data model for content-addressable data|
||Networking synchronization and storage|
||State transition and actors, message and address definitions|
rustc >= 1.40.0
# Clone repository git clone --recursive https://github.com/chainsafe/forest cd forest # Install binary to $HOME/.cargo/bin and run node make install forest
hwlocand a compatible assembly linker (ex.
clang) are also required to build Filecoin proofs.
Run the node with custom config and bootnodes
forest --config /path/to/your_config.toml
Example of config options available:
data_dir = "<directory for all chain and networking data>" genesis_file = "<relative file path of genesis car file>" [network] listening_multiaddr = "<multiaddress>" bootstrap_peers = ["<multiaddress>"]
The Forest logger uses with the
RUST_LOG environment variable.
Will show all debug logs by default, but the
forest_libp2p::service logs will be limited to
# To run base tests cargo test # use `make test-release` for longer compilation but faster execution # To pull serialization vectors submodule and run serialization and conformance tests make test-vectors # To run all tests and all features enabled make test-all
ChainSafe Security Policy
Reporting a Security Bug
We take all security issues seriously, if you believe you have found a security issue within a ChainSafe project please notify us immediately. If an issue is confirmed, we will take all necessary precautions to ensure a statement and patch release is made in a timely manner.
Please email us a description of the flaw and any related information (e.g. reproduction steps, version) to security at chainsafe dot io.
Forest is dual licensed under Apache 2.0.