Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including @chris.troutner/bch-js with all npm packages installed. Try it out:

var bchJs = require("@chris.troutner/bch-js")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@chris.troutner/bch-js v2.3.1

Bitcoin Cash JavaScript Library based on BITBOX

bch-js

Greenkeeper badge

Build Status

bch-js is a JavaScript npm library for creating web and mobile apps for interacting with the Bitcoin Cash (BCH) blockchain.

const BCHJS = require("@chris.troutner/bch-js")
let bchjs = new BCHJS(`https://api.bchjs.cash/v3/`)

// testnet
bchjs = new BCHJS(`https://tapi.bchjs.cash/v3/`)

This is a fork of the BITBOX SDK (which is maintained by Bitcoin.com). This library is intended to be paired with the bch-api REST API.

If you need a backward-compatible instantiation of this library, you can use a 'shim'. Do it like this:

const BCHJS = require("@chris.troutner/bch-js")
const bitbox = BCHJS.BitboxShim(`https://api.bchjs.cash/v3/`)

API Key

The REST API hosted by bchjs.cash uses JWT tokens for access, to pay for increased rate limits when interacting with a REST API. See the videos on this website, this video, and this article for more information.

  • You can change the REST API used by the app by setting your RESTURL environment variable. The default value is https://api.bchjs.cash/v3/.
  • You can get a JWT token from account.bchjs.cash. Pass in the JWT token by setting the environment variable BCHJSTOKEN to the JWT token.

Or you can pass in either value when instantiating bch-js:

const BCHJS = require("@chris.troutner/bch-js")
let bchjs = new BCHJS({
  restURL: `https://api.bchjs.cash/v3/`,
  apiToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkYmY4MjA1YTYwODliMjliYTlhZjc1OSIsImlhdCI6MTU3NTQ5MTA2OSwiZXhwIjoxNTc4MDgzMDY5fQ.JKjGw6pZb3y8B5rzWATFd6sLjmG8brkQf4UwApxdiwU'
})

Quick links

Features

This library sets itself apart from BITBOX with the following features:

  • ECMAScript 2017 standard JavaScript used instead of TypeScript. Works natively with node.js v10 or higher.

  • slp-sdk features are integrated into this library too, though not fully working. If you need SLP token functionality, you should use slp-sdk or slp-cli-wallet.

  • Semantic Release for continuous delivery using semantic versioning.

  • Greenkeeper automatic dependency management for automatically maintaining the latest, most secure dependencies.

  • IPFS uploads of all files and dependencies, to backup dependencies in case they are ever inaccessible from GitHub or npm.

Documentation:

Full documentation for this library can be found here:

Original documentation on BITBOX is available at:

bch-js uses APIDOC so that documentation and working code live in the same repository. To generate the documentation:

  • npm run docs
  • Open the generated docs/index.html file in a web browser.

Support

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

IPFS Releases

I will periodically publish IPFS releases of this repository, including all dependencies in the node_modules folder. This ensures working copies of this repository can be retrieved in case there is any drift in dependency files, or if dependencies are pulled from npm or GitHub.

  • Initial fork on 5/9/2019:

    • without node_modules folder: QmQFHfbBQdEHfhtiRLbXtX1NcgnfL45hZb7TbQimTXAuzG (4 MB)
    • with node_modules folder: QmXq9Ds6Qdkg9xbRhcF8pay9KabA6QN2y7bx3wvSqiXifk (107 MB)
  • v1.0.0 - refactored to pure JavaScript:

    • without node_modules folder: QmNjFsiTZRMAUa9rZpXqZqivv9JLaNicwLSPHjyLB7PVDk (1 MB)
    • with node_modules folder: Qma9ScApwBtuL7dpdSk7jpBFTxbqRdiR921WjyP75SU7bT (100 MB)

License

MIT

a minor change

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free