fix(default server): Changing default server to fullstack.cash
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-js -
Instantiate 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