npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@psf/bch-js

v6.8.0

Published

A JavaScript library for working with Bitcoin Cash, eCash, and SLP Tokens

Downloads

1,923

Readme

bch-js

Version Downloads/week License js-standard-style Join the chat at https://gitter.im/Permissionless-Software-Foundation/bch-js

bch-js is a JavaScript npm library for creating web and mobile apps that can interact with the Bitcoin Cash (BCH) and eCash (XEC) blockchains. bch-js contains a toolbox of handy tools, and an easy API for talking with bch-api REST API. FullStack.cash offers paid cloud access to bch-api. You can run your own infrastructure by following documentation on CashStack.info.

Quick Start Videos:

Here are two YouTube walk-through videos to help you get started:

Quick Links

Quick Notes

  • Install library: npm install @psf/bch-js

  • Instantiate the library in your code:

const BCHJS = require("@psf/bch-js")
let bchjs = new BCHJS() // Defaults to BCHN network.

This library is intended to be paired with the bch-api REST API, and the infrastructure provided by FullStack.cash. The restURL property can be changed to work with different Bitcoin Cash networks:

  • BCHN Mainnet REST API server: https://bchn.fullstack.cash/v5/
  • ABC Mainnet REST API server: https://abc.fullstack.cash/v5/
  • Check server status: https://metrics.fullstack.cash

API Key (JWT Token)

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.

  • Implicitly: bch-js will detect your JWT token if you set the BCHJSTOKEN environment variable.
  • Explicitly: You can directly feed in the JWT token with the apiToken property when instantiating the library. Here is an example:
const BCHJS = require("@psf/bch-js")
let bchjs = new BCHJS({
  restURL: 'https://bchn.fullstack.cash/v5/',
  apiToken: 'eyJhbGciO...' // Your JWT token here.
})

Gatsby & Web Apps

minimal-slp-wallet is a minimal wallet 'engine' that incorporates bch-js. It's compiled with Browserify for front end apps.

gatsby-theme-bch-wallet is a Gatsby Theme and bch-wallet-starter is a Gatsby Starter for building web wallets using minimal-slp-wallet.

This gist shows how to include minimal-slp-wallet into a basic web page without using a framework.

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 supports all aspects of non-fugible tokans (NFTs).

  • Semantic Release for continuous delivery using semantic versioning.

  • IPFS and Radicle 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:

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

Donate

This open source software is developed and maintained by the Permissionless Software Foundation. If this library provides value to you, please consider making a donation to support the PSF developers:

IPFS & Radicle Releases

Copies of this repository are also published on IPFS.

  • v6.2.10: bafybeifsioj3ba77u2763nsyuzq53gtbdxsnqpoipvdl4immj6ytznjaoy
  • (with dependencies, node v14.18.2 and npm v8.8.0): bafybeihfendd4oj6uxvvecm7sluobwwhpb5wdcxhvhmx56e667nxdncd4a

They are also posted to the Radicle:

  • v6.2.10: rad:git:hnrkkroqnbfwj6uxpfjuhspoxnfm4i8e6oqwy

License

MIT