PandaCash — one-click BCH blockchain for (lazy) developers

What’s PandaSuite Cash?

The vision of Panda Cash is to make Bitcoin Cash easily accessible to every developer.

Hard life of Bitcoin developer

Current Bitcoin tooling — “it makes you wonder whether to laugh or to cry”.

There is no standardized development environment.

You need to figure out what components you need, download them and get them to work together. Each of these is a work in its own. You need a:

  1. Restful-API server talking to the bitcoin client
  2. Block explorer to see data in the blocks
  3. Bitcoin addresses and private keys with spendable coins

Not easy dev ops

You have managed to download all the components and integrate them together. Is it fast enough if you submit test transactions? Can you work while being offline? Can you get a clean state for testing for your application?

We can do better

Other blockchain ecosystems offer much-advanced tooling for developers. Look at Ethereum. The Ethereum developer community is roughly 30x larger than the Bitcoin developer community (source: ConsenSys) and growing much faster.

Truffle Suite is the leading example for developer tooling for Ethereum blockchain

PandaCash: One-click Bitcoin Cash blockchain

PandaCash — Ganache-like tool for Bitcoin Cash
PandaCash — Ganache-like tool for Bitcoin Cash

But why is it important?

Better utility tooling will attract more application developers
Application Developers + Bitcoin Cash = Adoption + More use-cases + Faster community growth

Usability — instant personal blockchain

The only thing you need to start working on Bitcoin Cash applications with PandaCash is a Docker container and NodeJS installed. The personal blockchain can be started from a command line tool simply with:

# if npm or docker are not installed:
sudo apt-get install npm docker
# in most cases you'll need sudo for global installation
sudo npm install -g pandacash-cli
pandacash-cli

Secret sauce under the hood

PandaCash consists of Docker container running bitcoin client (Bitcoin ABC). The node is executed in the regtest mode so it does not need to sync up the entire blockchain. It also integrates BitboxSDK which connects to the local client and exposes the access to the bitcoin client over a RESTful API. The package ships with block explorer so you can explore all blocks and transactions to gain insight about what’s happening under the hood.

Challenges and todo’s

  1. Bitcoin.com Cloud API currently does not work with a bitcoin clients running locally. It can only work with the the main- and test net. We forked the Bitcoin.com Official’s API implementation to our PandaSuite in order to make it work with local RPC calls.
  2. Bitbox JS SDK requires conversion to TypeScript so that the interfaces for Accounts, Transactions etc. can easily accessed and to facilitate more robust development.
  3. Separate Docker Image containing all pre-build dependencies for platform abstraction and quicker installation times.
  4. Support for many bitcoin clients. We support currently Bitcoin Unlimited and Bitcoin ABC. Wormhole protocol will be supported in the future.

Contribute

Hi, I’m Adrian. This is my private blog and you’ll find here from time to time updates about my travels, works and investments.