Meet npm Pro: unlimited public & private packages + package-based permissions.Learn more »

bitcoin-address-validation

1.0.1 • Public • Published

bitcoin-address-validation

Build Status npm version David npm Twitter Follow

Validate Bitcoin addresses - Bech32, P2PKH and P2SH! Available for ES6 and Node.js.

validate('bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4');
 
{
  bech32: true,
  network: 'mainnet',
  address: 'bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4',
  type: 'p2wpkh'
}

Installation

Add bitcoin-address-validation to your Javascript project dependencies using Yarn:

yarn add bitcoin-address-validation

Or NPM:

npm install bitcoin-address-validation --save

Usage

Importing

Import using ES6:

import validate from 'bitcoin-address-validation';

Or AMD:

var validate = require('bitcoin-address-validation');

Validating addresses

Validation is done using the validate(address) function.

validate('17VZNX1SN5NtKa8UQFxwQbFeFc3iqRYhem')
 
{
  address: '17VZNX1SN5NtKa8UQFxwQbFeFc3iqRYhem',
  type: 'p2pkh',
  network: 'mainnet',
  bech32: false
}

Bech32 Example

validate('bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4');
 
{
  bech32: true,
  network: 'mainnet',
  address: 'bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4',
  type: 'p2wpkh'
}

Invalid addresses

validate(address) will return false for any invalid address, regardless of the address type:

validate('bc1qw508d6qejxtdg4y5r3zrrvary0c5xw7kv8f3t4')
 
false

Networks

This library supports 3 different types of networks: mainnet, testnet and regtest.

Note: When dealing with traditional (non-bech32) addresses, all regtest addresses will be recognized as testnet addresses.

Author

Rui Gomes
https://ruigomes.me

License

The MIT License (MIT). Please see LICENSE file for more information.

Install

npm i bitcoin-address-validation

DownloadsWeekly Downloads

1,403

Version

1.0.1

License

MIT

Unpacked Size

100 kB

Total Files

8

Last publish

Collaborators

  • avatar