Bitcoin Cash JavaScript Library based on BITBOX
npm install @chris.troutner/bch-js



Deprecation Warning: This repository has been moved to the Permissionless Software Foundation bch-js repository. This repository is deprecated. @chris.troutner/bch-js v3.4.1 is the last version published from this repository. @psf/bch-js v3.5.2+ is the continuation of the library.
bch-js is a JavaScript npm library for creating web and mobile apps for interacting with the Bitcoin Cash (BCH) blockchain. It can be used for free, but requires an account on FullStack.cash for increased rate limits. Find out more from this article.
- Install library: npm install @chris.troutner/bch-js
- Instantiate the library in your code:
``
const BCHJS = require("@chris.troutner/bch-js")
let bchjs = new BCHJS()
// testnet
bchjs = new BCHJS({ restURL: 'https://tapi.fullstack.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 instance of this library, you can use a
'shim'. Do it like this:
``
const BCHJS = require("@chris.troutner/bch-js")
const bitbox = BCHJS.BitboxShim({ restURL: 'https://api.fullstack.cash/v3/' })
- Implicitly: bch-js will detect your JWT token by setting the BCHJSTOKEN environment variable.apiToken
- Explicitly: You can directly feed in the JWT token with the property when instantiating the library. Here is an example:
``
const BCHJS = require("@chris.troutner/bch-js")
let bchjs = new BCHJS({
restURL: 'https://api.fullstack.cash/v3/',
apiToken: 'eyJhbGciO...' // Your JWT token here.
})
file, as per this issue:
`
exports.onCreateWebpackConfig = ({ actions }) => {
actions.setWebpackConfig({
node: {
fs: 'empty'
}
})
}
`This is because the new IPFS class in bch-js uses the fs library for uploading files, which is not supported by Gatsby.
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.
- Full SLP tokens support: bch-js has full support for all SLP token functionality, including send, mint, and genesis transactions. It also fully support all aspects of non-fugible tokans (NFTs).
- 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:
- Documentation
Original documentation on BITBOX is available at:
- General docs
- BITBOX Introduction
- BITBOX API Reference
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 channelIPFS Releases
I will periodically publish IPFS releases of this repository, including all
dependencies in the
node_modules` folder. This ensures working copies of this- 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)