BCHD is an alternative BCH implementation written in Go. It is 100% compatible with the Bitcoin Cash protocol, and comes packed with developer-friendly features.
Latest Release v0.16.5
If you need to access the Bitcoin Cash blockchain, BCHD gets you there fast
In the past, developers had to install extra software like Electrum X or BitPay's Insight along with their full node. Not anymore! BCHD is single application that both validates blocks and serves index data.
Developers running most full node implementations, such as Bitcoin Core, Bitcoin ABC, or Bitcoin Unlimited, have to install extra software that connects to their node, computes the required indexes, and serves the data via a public API. These servers often leave much to be desired.
They tend to be difficult to install, run, and keep running in a production environment. Further, the APIs exposed by these servers are not that great. Insight uses a REST API for some types of data but then requires the use of WebSockets and socket.io for others. Libbitcoin uses ZMQ which requires developers to import a large C dependency. Electrum servers use a clunky and cumbersome stratum API. And so on.
We want developers to start building as fast as possible. Now you simply download the BCHD binary and run it. That’s it!
gRPC is a new framework created by Google that blows away legacy systems like JSON-RPC, REST and WebSockets. No matter what programming language you prefer, accessing your node's data with gRPC will feel effortless.
Here's a short video made to introduce developers to our API and gRPC in general.
Prefer to read? Here are just a few benefits of gRPC:
Ready to give it a spin? We currently have a public BCHD server running at
bchd.greyh.at:8335. Feel free to try it out!
Want to get started in a hurry? BCHD now has the option to download a pruned copy of the blockchain. The entire sync takes just over an hour.
BCHD provides an index of every address and transaction on the Bitcoin Cash chain. For developers, BCHD is an out-of-the-box solution that just works.
If your project requires Bitcoin Cash wallet functionality, the backend code is already written for you. Take a look at bchwallet on GitHub.
Neutrino's client-side filtering is the future of SPV wallets
Client-side filtering means users no longer have to disclose their Bitcoin addresses to a third party to find out if they have received a transaction. BCHD is the only implementation that supports this revolutionary technology.
Most SPV wallets send user info to third-party servers to filter their transactions. This is a massive leak of personal data, as well as an added strain on those nodes.
Neutrino pulls data directly from the Bitcoin Cash network and filters transactions right on the client device. This preserves users' privacy and results in a more robust wallet network.
Want to know even more? Check out the first Bitcoin Cash Neutrino wallet where we go into more detail.
Latest Release v0.16.5
Learn even more about the power of BCHD
QWhy would I run BCHD rather than Bitcoin ABC or Bitcoin Unlimited?
AWe'd like to see ABC / BU continue on as primary mining nodes, while BCHD services the app developers that need better APIs.
QCan I mine with BCHD?
AYou can, but you might not want to just yet. So far it hasn't been stable enough to mine with, and this instability could have been disruptive to the network. As our stability increases, we may consider promoting BCHD more for mining.
QAre alternative Bitcoin implementations good for the network?
AThis question has been disputed in the Bitcoin space for years. We tend to agree with Bitcoin ABC lead developer Amaury Séchet when he says that multiple implementations help keep "everyone honest."
QWhat are some benefits to coding BCHD in Go?
ADave Collins, the original developer of BTCD, listed some advantages that Go has over C++ that make it excellent for Bitcoin.
QWhat is the roadmap for BCHD?
AShort answer: to remain in consensus while developing the most feature-rich node implementation Bitcoin Cash has to offer.
You can read our full current roadmap here
QHow is FastSync possible?
AFastSync mode operates like a quasi-pruned node in that it does not have a full copy of the blockchain going back to genesis. But unlike pruned mode it will not delete old historical blocks as it goes.
The way it works is this:
QDo you still support JSON-RPC?
AYes. Along with gRPC we also support traditional JSON-RPC.
QWhat can I make with bchwallet?
AWhy not build a next-gen SPV mobile wallet? You can easily compile bchwallet to run on iOS or Android, and then just control it with the gRPC API.
Want some inspiration? We built our own Neutrino wallet on bchwallet. Check out the source code on GitHub.
Latest Release v0.16.5
If you'd like to help fund our efforts you can send Bitcoin Cash to the address below.