@amontech/amon-lib

Common amon libraries

Stats

StarsIssuesVersionUpdatedCreatedSize
@amontech/amon-lib
202.13.43 days ago4 years agoMinified + gzip package size for @amontech/amon-lib in KB

Readme

AMON libraries

CircleCI

This library is a set of common utilities used in various part of AMON projects.

Documentation:

API Documentation

Publish on NPM

  • update the package version
  • npm publish

Install

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';

Examples

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

Coins

Supported coins: BTC, ETH, AMN, 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'

URI

Parse URI

const data = amonLib.URI.parse('bitcoin:mkzgubTA5Ahi6BPSkE6MN9pEafRutznkMe?amount=0.12');
const { address, coinCode, amount } = data;
// address = mkzgubTA5Ahi6BPSkE6MN9pEafRutznkMe
// coinCode = BTC
// amount = 0.12

Generate URI

const data = {
  coinCode: 'BTC',
  address: 'mkzgubTA5Ahi6BPSkE6MN9pEafRutznkMe',
  amount: '0.12',
};

const str = amonLib.URI.stringify(data);
// str = bitcoin:mkzgubTA5Ahi6BPSkE6MN9pEafRutznkMe?amount=0.12

Hash

SHA-256

const password = 'secretsanta';
const hash = AmonLib.crypto.sha.hash(password); // => 0a4f185e2483d5ea4e370c6b4ee31c51840f212a7c25de997509a8953d5fcb86

bcrypt

const password = 'secretsanta';
const hash = AmonLib.crypto.bcrypt.hash(password); // => 0a4f185e2483d5ea4e370c6b4ee31c51840f212a7c25de997509a8953d5fcb86
const valid = AmonLib.crypto.bcrypt.verifyHash(password, hash); // => true

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.