slp-mutable-data

2.3.16 • Public • Published

slp-mutable-data

This is a JavaScript library that is packaged with Browserify, to make it accessible to both browser-based and node.js-based JavaScript apps. It allows Bitcoin Cash (BCH) wallets to create, read, and update tokens that have both mutable (changeable) and immutable (unchangeable) data. Data is stored off-chain, and available via IPFS.

This library implements this PS002 specification for token mutable data. It follows a series of pointers on the Bitcoin Cash blockchain to retrieve a JSON file from the IPFS network. This is a way to track changing data associated with a token. It's a way for video game characters, supply chain items, and other unique changing assets to be represented by a token. This library is an extension of the Cash Stack.

Installation

Here are different ways to consume this library in your app, depending on the environment you are using.

Browser

<script src="https://unpkg.com/slp-mutable-data"></script>

Node.js

npm install --save slp-mutable-data

// ESM import
import { SlpMutableData } from 'slp-mutable-data'

// CommonJS require
const { SlpMutableData } = require('slp-mutable-data')

Examples

Examples are provided in the examples directory:

  1. Create Immutable Data
  2. Create Mutable Data
  3. Create a Token with both mutable and immutable data.
  4. Update Mutable Data.
  5. Get Token Data.

Overriding Defaults

This library has default IPFS gateways and servers that can be overridden, so that devs are not forced to depend on any one specific infrastructure. Here is an example of overridding all the servers this library depends on:

this.slpMutableData = new SlpMutableData({
  wallet,
  ipfsGatewayUrl: 'p2wdb-gateway-678.fullstack.cash', // IPFS Gateway
  serverURL: 'https://p2wdb.fullstack.cash', // P2WDB server (see p2wdb.com)
  pinServer: 'https://p2wdb-pin.fullstack.cash' // P2WDB Pinner Cluser
})

Sponsor

Development and maintenance of this library is sponsored by Launchpad IP. If you need protection for your intellectual property, contact Launchpad.

Maintenance and development is managed by the Permissionless Software Foundation. If this library provides value to you, please consider making a donation to support the PSF developers:

bitcoincash:qqsrke9lh257tqen99dkyy2emh4uty0vky9y0z0lsr

Licence

GPL v2

Dependencies (2)

Dev Dependencies (15)

Package Sidebar

Install

npm i slp-mutable-data

Weekly Downloads

4

Version

2.3.16

License

GPL-2.0

Unpacked Size

245 kB

Total Files

34

Last publish

Collaborators

  • chris.troutner