Skip to content
Alternative implementation of rest.bitcoin.com
JavaScript Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docker
docs
src
test
.editorconfig
.eslintrc.json
.gitignore
.npmrc
.travis.yml
LICENSE.md
README.md
package-lock.json
package.json Merge pull request #55 from christroutner/greenkeeper/slpjs-0.21.4 Oct 30, 2019
start-dev-example.sh

README.md

bch-api

Greenkeeper badge

Build Status

This is a fork and alternative implementation of the rest.bitcoin.com repository. The purpose of this code is to create a REST API server that provides a common interface for working with a Bitcoin Cash full node and various indexers.

This repository is intended to be paired with my alternative implementation of BITBOX SDK: bch-js, and is part of the product offering at bchjs.cash.

Have questions? Need help? Join our community support Telegram channel

Features

The following features set this repository apart from rest.bitcoin.com:

  • Address balance and UTXO queries for Blockbook and Bitcore added.
  • Rate limits are set to 10 RPM by default, and 60 RPM if Basic Authentiction header is used.
  • Typescript removed and ES8 JavaScript used instead.
  • npm audit run on all dependencies.
  • Greenkeeper implemented for automatic dependency management and security updates.

Live Demo

You can test a live demo of the REST API by running the bch-js examples. Rate limits are 10 requests per minute. This is fast enough to try out the examples but these servers are not intended as a freemium service. You can run your own REST server by purchasing the hard drive at bchjs.cash.

Installation

There are two installation paths, depending if you want a development or production environment. You'll also need to set up the underlying infrastructure described this page.

This code targets the Ubuntu 18.04 LTS Linux OS.

Development

This is a standard node.js project. The installation is as follows:

  • Clone this repository:

git clone https://github.com/christroutner/bch-api && cd bch-api

  • Install dependencies:

npm install

  • Customize the start-dev-example.sh shell script to point to the required infrastructure. Start the bch-api REST API by running this script:

./start-dev-example.sh

Production

For a production environment, a Docker container is provided in the docker directory. One for mainnet and one for testnet. Again, these containers target the Ubuntu 18.04 LTS Linux OS.

  • Install Docker and Docker Compose by following the commands on this Dev Ops page.

  • Customize the bash script for your installation.

  • Build the Docker container with:

docker-compose build --no-cache

  • Run the Docker container with:

docker-compose up

Support

Have questions? Need help? Join our community support Telegram channel

License

MIT

You can’t perform that action at this time.