Recently, the BCH community has launched two full-node clients using the GO language, Gocoin-cash and BCHD, in addition to the full-node client of the Copernicus project written in GO.
Gocoin-cash is a developer of counterparty.cash (XCPC), a full-node client and wallet written in GO, and is an original work by Gocoin based on Piotr Narewski. The software architecture focuses on the maximum performance of the node and the cold storage security of the wallet. The client itself is wall-independent and claims to add the best block processing performance to the market. In addition, the entire bitcoin currency network can be synchronized in less than 4 hours with good machines and fast connections (such as 4 v-CPUs from Google Cloud or Amazon AWS). The Gocoin-cash wallet itself is a password seed that can be used offline. The Gocoin-cash website details that the agreement is also supported by Google Dragonfly. Essentially, this means that Gocoin-cash users can use the Dragonfly service to query the BCH chain and have a more powerful global payment connection.
BCHD is a BCH full-node client written in Open GO by the Openbazaar developer Chris Pacia, which ported Btcd to BCH. One of the main goals of the BCHD project is to provide a high-performance index blockchain server with an excellent API that will be a fast and reliable backend for Bitcoin cash applications. Developers believe that the design of the code base coupled with the ease of use of Go makes it possible for BCH to try out new features relatively easily, and that these functions take a long time to implement in C++.
What do more and more full-node clients add to BCH?
First, more and more full-node clients have joined, proving the BCH value. Developers are willing to come to the BCH network to develop and realize their own ideas. Currently BCH has many full-node clients, such as Bitcoin ABC, Bitcoin Unlimited, Bcash, Parity Cash, Bitcoin XT, Bitcoin SV, Bitprim. Although they are all-node clients, they all have their own focus. The multiple client implementations also make the BCH itself very powerful, and the node operators can choose the full-node client that suits their needs according to their needs.
Second, the language of writing these clients is different, and will also show their different advantages. The Parity Cash client is written in the rust language. The Rust language has the advantages of rich features, good design, and wide application range. Bcash is a full node compiled with the node.js language. The Copernicus project, Gocoin-cash and BCHD are all-node clients written in GO language. The BCH full-node written in GO language also has many advantages, such as low entry threshold for developers, block filtering for clients, and ability to use. QUIC (a new transport tool developed by Google to replace TCP), block synchronization time and so on. In terms of functional development, different language versions will be able to add multiple possibilities.
Finally, the greater the number of full-node clients, the higher the decentralization of the BCH and the greater the security. As a decentralized P2P network, more and more distributed nodes can ensure that the system can resist sudden technical shocks and even political shocks. Moreover, these clients are independent of each other. Once a problem occurs in a certain client, it will not cause all the defects of the BCH network, and multiple replacement clients can ensure that the BCH can operate normally.
More and more BCH full-node clients are a good thing for BCH, which can make BCH development more decentralized, not controlled by a certain team. Take the example of the Copernicus project. All the previous BCH development rights are in the hands of foreign development teams. The launch of the Copernicus project allows China to have a say in the development of BCH. As long as these full-node clients are compatible with each other, more full-node clients will promote its development for BCH price. We should welcome more and more full-node clients to join the BCH network.