This library is a set of common utilities used in various part of AMON projects.
- update the package version
- npm publish
Install via npm or yarn
npm i -S amon-lib
yarn add amon-lib
Import in your project
const AmonLib = require('amon-lib');
import AmonLib from 'amon-lib';
First you need to get an instance of AmonLib. This instance is useful to use the lib on different networks.
const amonLib = new AmonLib({ network: 'mainnet' });
network
can be either mainnet
or testnet
Supported coins: BTC
, ETH
, AMN
, AMY
, DASH
, ZEC
- Validate address
const validAddress = amonLib.coins('BTC').validAddress('1FJ2PMM75HRh63TmoYLe6Wd9apxNK3aem9');
// validAddress = true
- Transaction block explorer url
const txExplorerUrl = amonLib
.coins('BTC')
.txExplorerUrl('ad44d7ff0a7a1e433d00fbe9db1a8cf4cd509c3bb928c3963f2e4575fc4c5861');
// txExplorerUrl = 'https://live.blockcypher.com/btc/tx/ad44d7ff0a7a1e433d00fbe9db1a8cf4cd509c3bb928c3963f2e4575fc4c5861'
- Address block explorer url
const addressExplorerUrl = amonLib.coins('BTC').addressExplorerUrl('1FJ2PMM75HRh63TmoYLe6Wd9apxNK3aem9');
// addressExplorerUrl = 'https://live.blockcypher.com/btc/address/1FJ2PMM75HRh63TmoYLe6Wd9apxNK3aem9'
const data = amonLib.URI.parse('bitcoin:mkzgubTA5Ahi6BPSkE6MN9pEafRutznkMe?amount=0.12');
const { address, coinCode, amount } = data;
// address = mkzgubTA5Ahi6BPSkE6MN9pEafRutznkMe
// coinCode = BTC
// amount = 0.12
const data = {
coinCode: 'BTC',
address: 'mkzgubTA5Ahi6BPSkE6MN9pEafRutznkMe',
amount: '0.12',
};
const str = amonLib.URI.stringify(data);
// str = bitcoin:mkzgubTA5Ahi6BPSkE6MN9pEafRutznkMe?amount=0.12
const password = 'secretsanta';
const hash = AmonLib.crypto.sha.hash(password); // => 0a4f185e2483d5ea4e370c6b4ee31c51840f212a7c25de997509a8953d5fcb86
const password = 'secretsanta';
const hash = AmonLib.crypto.bcrypt.hash(password); // => 0a4f185e2483d5ea4e370c6b4ee31c51840f212a7c25de997509a8953d5fcb86
const valid = AmonLib.crypto.bcrypt.verifyHash(password, hash); // => true