bch-addr-slp

    0.2.0 • Public • Published

    BchAddr.js: Bitcoin Cash general purpose address translation for Node.js and web browsers.

    NPM

    JavaScript Style Guide

    Plug & Play JavaScript library for all Bitcoin Cash address format translation needs. Easy-to-use, thoroughly tested, and feature complete.

    Support for the new Bitcoin Cash address format which improves upon BIP 173, as well as the Bitpay and Legacy formats.

    Test out a demo address translator powered by BchAddr.js here.

    Installation

    Using NPM

    $ npm install --save bchaddrjs-slp

    Using Bower

    $ bower install --save bchaddrjs-slp

    Usage

    In Node.js

    var bchaddr = require('bchaddrjs-slp');

    Browser

    Script Tag

    You may include a script tag in your HTML and the bchaddr module will be defined globally on subsequent scripts.

    <html>
      <head>
        ...
        <script src="https://unpkg.com/bchaddrjs-slp@0.2.9/dist/bchaddrjs-slp-0.2.9.min.js"  integrity="sha384-hZrNJXgibEWJ1QD6fzDANAA1wyWItWPBdCLXcnnPHOorct3yz6tU1vJqO+L3lo+I" crossorigin="anonymous"></script> 
      </head>
      ...
    </html>

    Code Examples

    Supported formats, networks and address types.

    var Format = bchaddr.Format; // Legacy, Bitpay or Cashaddr.
    var Network = bchaddr.Network; // Mainnet or Testnet.
    var Type = bchaddr.Type; // P2PKH or P2SH.

    Test for address format.

    var isLegacyAddress = bchaddr.isLegacyAddress;
    var isBitpayAddress = bchaddr.isBitpayAddress;
    var isCashAddress = bchaddr.isCashAddress;
     
    isLegacyAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR') // true
    isLegacyAddress('qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk') // false
    isBitpayAddress('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj') // true
    isBitpayAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR') // false
    isCashAddress('qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk') // true
    isCashAddress('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj') // false

    Test for address network.

    var isMainnetAddress = bchaddr.isMainnetAddress;
    var isTestnetAddress = bchaddr.isTestnetAddress;
     
    isMainnetAddress('1P238gziZdeS5Wj9nqLhQHSBK2Lz6zPSke') // true
    isMainnetAddress('mnbGP2FeRsbgdQCzDT35zPWDcYSKm4wrcg') // false
    isTestnetAddress('qqdcsl6c879esyxyacmz7g6vtzwjjwtznsggspc457') // true
    isTestnetAddress('CeUvhjLnSgcxyedaUafcyo4Cw9ZPwGq9JJ') // false

    Test for address type.

    var isP2PKHAddress = bchaddr.isP2PKHAddress;
    var isP2SHAddress = bchaddr.isP2SHAddress;
     
    isP2PKHAddress('1Mdob5JY1yuwoj6y76Vf3AQpoqUH5Aft8z') // true
    isP2PKHAddress('2NFGG7yRBizUANU48b4dASrnNftqsNwzSM1') // false
    isP2SHAddress('H92i9XpREZiBscxGu6Vx3M8jNGBKqscBBB') // true
    isP2SHAddress('CeUvhjLnSgcxyedaUafcyo4Cw9ZPwGq9JJ') // false

    Detect address format.

    var detectAddressFormat = bchaddr.detectAddressFormat;
     
    detectAddressFormat('qqdcsl6c879esyxyacmz7g6vtzwjjwtznsggspc457') // Format.Cashaddr
    detectAddressFormat('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj') // Format.Bitpay

    Detect address network.

    var detectAddressNetwork = bchaddr.detectAddressNetwork;
     
    detectAddressNetwork('1P238gziZdeS5Wj9nqLhQHSBK2Lz6zPSke') // Network.Mainnet
    detectAddressNetwork('qqdcsl6c879esyxyacmz7g6vtzwjjwtznsggspc457') // Network.Testnet

    Detect address type.

    var detectAddressType = bchaddr.detectAddressType;
     
    detectAddressType('1P238gziZdeS5Wj9nqLhQHSBK2Lz6zPSke') // Type.P2PKH
    detectAddressType('3NKpWcnyZtEKttoQECAFTnmkxMkzgbT4WX') // Type.P2SH

    Translate address from any address format into a specific format.

    var toLegacyAddress = bchaddr.toLegacyAddress;
    var toBitpayAddress = bchaddr.toBitpayAddress;
    var toCashAddress = bchaddr.toCashAddress;
     
    toLegacyAddress('qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk') // 1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR
    toBitpayAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR') // CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj
    toCashAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR') // bitcoincash:qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk

    Documentation

    Generate and Browse Locally

    $ npm run docs

    Online

    Browse automatically generated jsdocs online.

    Install

    npm i bch-addr-slp

    DownloadsWeekly Downloads

    6

    Version

    0.2.0

    License

    MIT

    Unpacked Size

    32.6 kB

    Total Files

    6

    Last publish

    Collaborators

    • palentine