The creators of the counterparty.cash protocol and Openbazaar developer Chris Pacia have announced two separate Bitcoin Cash full node clients written in the programming language Go (golang) — Gocoin-cash and Bchd (gcash).
Gocoin-cash: A Full Bitcoin Cash Solution Written in Go Language
The Bitcoin Cash network has a lot of full node clients which include Bitcoin ABC, Unlimited, Bcash, Parity Cash, XT, SV, and the Bitprim implementation. Some of the clients are written in the original C++ programming language Satoshi used when the Bitcoin network first launched. Other clients also run the entire BCH network but are written in a different codebase.
For instance, Parity Cash is written in the programming language rust, and Bcash is a full node compiled with the language node.js. These other languages allow developers to use the BCH network in a more interoperable fashion, as common programming languages allow them to create friendlier applications. This week the creators of counterparty.cash (XCPC) have announced the launch of Gocoin-cash which is a Bitcoin (Cash) full node and wallet written in Go (golang).
Gocoin-cash is a port of the BTC software originally written by Piotr Narewski. The fork announced by XCPC and BCH developer, Julian Smith, currently has its own Github repository for developers to review or participate. The Gocoin-cash full node project also has a website that explains the client launch will be in 47 days on iOS and Android operating systems.
“Gocoin-cash is a full Bitcoin Cash solution written in Go language (golang) and is based on the original work of Gocoin by Piotr Narewski,” explains the Gocoin-cash repository. The repository notes add:
The software architecture is focused on maximum performance of the node and cold storage security of the wallet.
The Go Client Provides Fast Sync Time and Dragonfly Services
The client itself is independent of the wallet which claims to add the best block processing performance on the market. Moreover, with “decent machine and a fast connection (e.g. 4 v-CPUs from Google Cloud or Amazon AWS)” the developer writes that a node could sync the entire bitcoin blockchain “in less than 4 hours.” The Gocoin-cash wallet itself is deterministic and password seeded but designed to be used offline, explain the developers.
“As long as you remember the password, you do not need any backups ever,” the repository notes detail.
The Gocoin-cash website details that the protocol is also powered by Google Dragonfly. Essentially this means Gocoin-cash users can utilize Dragonfly services to query the BCH chain and have more powerful global payment connectivity. The project says people can subscribe with an email in order to be notified about the launch date.
Chris Pacia Unveils Bchd, Another Bitcoin Cash Client Written in Golang
In addition to the Gocoin-cash implementation, another full node client called ‘Bchd’ (gcash) is currently in the works that also uses the golang programming language. Openbazaar developer Chris Pacia has revealed he is working on a fork of the Btcd implementation that’s been around since 2013. Pacia ported the code to build a BCH full node written in Go and the developer believes it is “one of the best designed and well-written Bitcoin codebases.”
The Openbazaar programmer explains that a BCH full node written in golang has many benefits like client-side block filtering, the ability to utilize QUIC, a new transport developed by Google to replace TCP, and much like Gocoin-cash the Bchd deploys extremely fast blockchain sync times.
“So one of my primary goals with the Bchd project will be to provide a high powered indexing blockchain server that will act as a fast and reliable backend for Bitcoin Cash applications with a great API,” Pacia explains in his Yours.org announcement. The developer adds that the codebase simplicity allows for new features as well stating:
The design of the codebase coupled with the ease of use of Go makes it relatively easy for us to experiment with new features that would take a long time to get into the C++ implementations.
Just like the Gocoin-cash implementation, Pacia’s Bchd project is incomplete. The Bchd developer details he still needs to create a UTXO cache, implement a pruned mode, Port the btcwallet/neutrino codebase, and switch to libsecp256k1. Pacia says if other volunteers want to help him push the open source project forward they should drop by the repository.
“If you’re interested in working on it drop by the Github repo — The more the better,” Pacia concludes.
What do you think about the BCH full node written in Go? Let us know what you think about this project in the comment section below.
Images via Shutterstock, Pixabay, Bchd, Github, and Gocoin-cash.
Need to calculate your holdings? Check our tools section.