JavaScript implementation for the Nexa cryptocurrency address format.
Compliant with the Nexa address specification.
$ npm install --save nexaaddrjs
$ bower install --save nexaaddrjs
You may also download the distribution file manually and place it within your third-party scripts directory: dist/nexaaddrjs-1.1.1.min.js.
const nexaaddr = require('nexaaddrjs');
const address = 'nexatest:qzmzm493h5j67z2zk2lsag4qeye02x5pxyrlswqv76';
const { prefix, type, hash } = nexaaddr.decode(address);
console.log(prefix); // 'nexatest'
console.log(type); // 'P2PKH'
console.log(hash); // Uint8Array [... ]
console.log(nexaaddr.encode(prefix, type, hash)); // 'nexatest:qzmzm493h5j67z2zk2lsag4qeye02x5pxyrlswqv76'
This example decodes a Nexa cashaddr P2PKH address and loads it into a bitcore-lib Address. Even though bitcore-lib is for Bitcoin, Nexa P2PKH is equivalent to Bitcoin/Bitcoin Cash P2PKH so some bitcore-lib operations apply.
var bitcore = require("bitcore-lib");
var nexaaddr = require("nexaaddrjs");
const fixAddressFormat = address => {
let addrBytes = nexaaddr.decode(address);
let buf = addrBytes.hash.buffer.slice(1,21); // ignore the type byte
let buf2 = Buffer.from(buf);
console.log(buf);
console.log(buf2);
return bitcore.Address.fromPublicKeyHash(buf2, "livenet")
}
You may include a script tag in your HTML and the cashaddr
module will be defined globally on subsequent scripts.
<html>
<head>
...
<script src="https://unpkg.com/nexaaddrjs@1.1.1/dist/nexaaddrjs-1.1.1.min.js"></script>
</head>
...
</html>
$ npm run docs
Browse automatically generated jsdocs online.