Unlike most blockchain projects that only have one implementation, Filecoin has four major implementations, namely Lotus, Forest, Fuhon, and Venus (go-filecoin). Although these four protocols are independent of each other, they can all protect and help the Filecoin network when it is started, upgraded, or not stable enough.As far as the current situation is concerned, Lotus is the most mature Filecoin implementation. The version upgrades officially announced on the slack channel are generally Lotus version upgrades. This shows that Lotus is the most "popular" implementation among the four major implementations. As for why it is so popular, in addition to its powerful functions, it may also be related to the fact that Lotus has always been developed and maintained by Protocol Labs themselves. Before the Filecoin mainnet goes live, Lotus ’ focus is on preparing for specification participant upgrades and testing to create a flexible state upgrade framework and develop Lotus-lite (gateway-based node), which provides a Lotus wallet that can interact directly with miners without maintaining heavyweight components. After the Filecoin mainnet was launched , as we have seen, Lotus is committed to making the network smoother, solving problems encountered by miners in the mining process, improving the code, submitting relevant FIP proposals, etc. Venus is the first Filecoin implementation initiated and developed by Protocol Labs ( go-filecoin was renamed Venus around June of this year ). It plays an important role in the Filecoin network. In filecoin-project/venus, we can see that there are many plans and implementations for fixing gas prices. Venus is characterized by being able to build and run on most Linux and MacOS systems, but Windows is not yet supported. The Venus validator node can run on most systems with at least 8GB of RAM. As the "eldest son" of Protocol Labs, Venus' progress so far includes:
Update the data structure to reflect the latest changes
Update election logic (introduce WinCount) Update project dependencies (e.g. DRAND, for randomness) Test code fixes Display and repair chain synchronization status
Fix gas price table
Fuhon is a C++ Filecoin implementation developed by Soramitsu. All C++ dependencies are managed using Hunter . The feature of Fuhon is that it uses cmake to download the required libraries, and there is no need to manually download and install packages. Fuhon miners and nodes are compatible with the latest Lotus versions, and both implementation and operation have been tested for consistency to ensure interoperability. In addition, in a recent TLS patch, connections between Lotus and Forest nodes were enabled, which means that Fuhon, Lotus and Forest can all connect to each other. Forest is an implementation of Filecoin written in Rust that takes a modular approach to building a complete Filecoin node in two parts : Build Filecoin’s security-critical systems in Rust, especially the virtual machine, blockchain, and node system, according to the Filecoin protocol specification; Integrate components for storage mining, storage, and retrieval markets to form a fully functional Filecoin node implementation. Although Forest was created not long ago, it is able to integrate storage and retrieval markets, help test the compatibility and correctness between different implementations of Filecoin and the Filecoin specification, and with the help of a diverse corpus of messages, prompt sets, and chain-level vectors, the team can quickly take an important step towards full interoperability. Let's take a look at the important progress of Forest: Since version 0.9.3, the changes of miner participants have been integrated Release full storage miner implementation Merge message pool changes, including republishing, restore, and selection logic for messages Updated conformance testing to identify and resolve incompatibilities Complete a pass through the state manager and chain storage to identify changes that have occurred since implementation Setting up local devnet Testing and refactoring the AMT implementation In general, although these four implementations are independent of each other, they all run on the Filecoin network. They promote each other and can work together when necessary to guard and build a better Filecoin network. |