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
bch-js is a JavaScript npm library for creating web and mobile apps for interacting with the Bitcoin Cash (BCH) blockchain.
-
- v2.x.x: JWT token access implemented for api.bchjs.cash with paid access at account.bchjs.cash to increase rate limits.
Install library:
npm install @chris.troutner/bch-jsInstantiate in your code:
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
RESTURLenvironment variable. The default value ishttps://api.bchjs.cash/v3/. - You can get a JWT token from account.bchjs.cash. Pass in the JWT token by setting the environment variable
BCHJSTOKENto 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
- Documentation
- Examples
- api.bchjs.cash - REST API this library talks to by default.
- account.bchjs.cash - Get your API key to unlock increased rate limits.
- bchjs.cash - a turn-key full-stack solution for application developers.
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.htmlfile 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
a minor change