eCash general purpose address translation.
npm install xecaddrjs


Plug & Play JavaScript library for all eCash (XEC) address format translation needs. Easy-to-use, thoroughly tested, and feature complete.
Support for the eCash (XEC) address format, based on the original cashaddress format, which improves upon BIP 173, as well as the Bitpay and Legacy formats.
``bsh`
$ npm install xecaddrjs
$ yarn add xecaddrjs
You may also download the distribution file manually and place it within your third-party scripts directory: dist/xecaddrjs-0.0.1.min.js.
`javascript
// Common-JS
const xecaddr = require('xecaddrjs');
// ES6 modules
import xecaddr from 'xecaddrjs';
`
#### Script Tag
You may include a script tag in your HTML and the xecaddr module will be defined globally on subsequent scripts.
`html`
...
...
javascript
var Format = xecaddr.Format; // Legacy, Bitpay, Xecaddr (XEC), or Cashaddr (BCH).
var Network = xecaddr.Network; // Mainnet or Testnet.
var Type = xecaddr.Type; // P2PKH or P2SH.
`$3
`javascript
var isValidAddress = xecaddr.isValidAddress;isValidAddress(null) // false
isValidAddress('') // false
isValidAddress('some invalid address') // false
isValidAddress('bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq') // false
isValidAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR') // true
isValidAddress('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj') // true
isValidAddress('qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk') // true
isValidAddress('ecash:qph5kuz78czq00e3t85ugpgd7xmer5kr7cdywekmgp') // true
isValidAddress('bitcoincash:qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk') // true
`Note: You can use this function to check if any input is a valid eCash (XEC) address.
Other functions in this library will throw an
InvalidAddressError on invalid inputs.$3
`javascript
var isLegacyAddress = xecaddr.isLegacyAddress;
var isBitpayAddress = xecaddr.isBitpayAddress;
var isXecAddress = xecaddr.isXecAddress;
var isCashAddress = xecaddr.isCashAddress;isLegacyAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR') // true
isLegacyAddress('qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk') // false
isBitpayAddress('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj') // true
isBitpayAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR') // false
isXecAddress('qph5kuz78czq00e3t85ugpgd7xmer5kr7cdywekmgp') // true
isXecAddress('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj') // false
isCashAddress('qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk') // true
isCashAddress('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj') // false
`$3
`javascript
var isMainnetAddress = xecaddr.isMainnetAddress;
var isTestnetAddress = xecaddr.isTestnetAddress;isMainnetAddress('1P238gziZdeS5Wj9nqLhQHSBK2Lz6zPSke') // true
isMainnetAddress('mnbGP2FeRsbgdQCzDT35zPWDcYSKm4wrcg') // false
isTestnetAddress('qqdcsl6c879esyxyacmz7g6vtzwjjwtznsggspc457') // true
isTestnetAddress('CeUvhjLnSgcxyedaUafcyo4Cw9ZPwGq9JJ') // false
`$3
`javascript
var isP2PKHAddress = xecaddr.isP2PKHAddress;
var isP2SHAddress = xecaddr.isP2SHAddress;isP2PKHAddress('1Mdob5JY1yuwoj6y76Vf3AQpoqUH5Aft8z') // true
isP2PKHAddress('2NFGG7yRBizUANU48b4dASrnNftqsNwzSM1') // false
isP2SHAddress('H92i9XpREZiBscxGu6Vx3M8jNGBKqscBBB') // true
isP2SHAddress('CeUvhjLnSgcxyedaUafcyo4Cw9ZPwGq9JJ') // false
`$3
`javascript
var detectAddressFormat = xecaddr.detectAddressFormat;detectAddressFormat('ecash:qph5kuz78czq00e3t85ugpgd7xmer5kr7cdywekmgp') // Format.Xecaddr
detectAddressFormat('qqdcsl6c879esyxyacmz7g6vtzwjjwtznsggspc457') // Format.Cashaddr
detectAddressFormat('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj') // Format.Bitpay
`$3
`javascript
var detectAddressNetwork = xecaddr.detectAddressNetwork;detectAddressNetwork('1P238gziZdeS5Wj9nqLhQHSBK2Lz6zPSke') // Network.Mainnet
detectAddressNetwork('qqdcsl6c879esyxyacmz7g6vtzwjjwtznsggspc457') // Network.Testnet
`$3
`javascript
var detectAddressType = xecaddr.detectAddressType;detectAddressType('1P238gziZdeS5Wj9nqLhQHSBK2Lz6zPSke') // Type.P2PKH
detectAddressType('3NKpWcnyZtEKttoQECAFTnmkxMkzgbT4WX') // Type.P2SH
`$3
`javascript
var toXecAddress = xecaddr.toXecAddress;
var toLegacyAddress = xecaddr.toLegacyAddress;
var toBitpayAddress = xecaddr.toBitpayAddress;
var toCashAddress = xecaddr.toCashAddress;toLegacyAddress('ecash:qph5kuz78czq00e3t85ugpgd7xmer5kr7cdywekmgp') // 1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR
toBitpayAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR') // CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj
toXecAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR') // ecash:qph5kuz78czq00e3t85ugpgd7xmer5kr7cdywekmgp
`Documentation
$3
`bsh
$ yarn run docs
``