Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
@psf/bch-js
Advanced tools
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.
Here are two YouTube walk-through videos to help you get started:
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/' })
The bch-api REST API hosted by FullStack.cash uses JWT tokens to pay for increased rate limits when interacting with the back end server. See this article if you want to understand the system-as-a-whole. The JWT token can be fed to bch-js implicitly or explicitly.
BCHJSTOKEN
environment variable.apiToken
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.
})
bch-js is included in this gatsby-ipfs-template for building uncensorable web apps that can interact with the blockchain. When building a Gatsby (or other front-end app that uses Webpack), you'll need to add these lines to your gatsby-node.js
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.
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.
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
docs/index.html
file in a web browser.Have questions? Need help? Join our community support Telegram channel
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:
v1.0.0 - refactored to pure JavaScript:
FAQs
A JavaScript library for working with Bitcoin Cash, eCash, and SLP Tokens
The npm package @psf/bch-js receives a total of 235 weekly downloads. As such, @psf/bch-js popularity was classified as not popular.
We found that @psf/bch-js demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.