@amontech/amon-lib

Common amon libraries

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
20May 14, 2021Dec 18, 2017Minified + 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.