JSPM

  • Created
  • Published
  • Downloads 30
  • Score
    100M100P100Q99340F
  • License MIT

Bitcoin Cash JavaScript Library based on BITBOX

Package Exports

  • @chris.troutner/bch-js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@chris.troutner/bch-js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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