Useful NodeJS & JS Library for validation of Bitcoin, Litecoin, Denarius, and other cryptocoin addresses
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 3 commits ahead, 74 commits behind ognus:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dist
src
test
.gitignore
.travis.yml
Gruntfile.js
LICENSE
README.md
bower.json
package.json

README.md

wallet-address-validator

Simple wallet address validator for validating Bitcoin and other altcoins addresses in Node.js and browser.

Updated 6/19/2017 - Added Denarius/DNR Validation

Forked from ryanralph/altcoin-address.

I forked it to remove all Node.js dependencies (crypro, Buffer etc.) to make it usable in the browser as well. I didn't use browserify to achieve smaller footprint, file size is 4.0 kB (minifed and gzipped).

Installation

Node

npm install wallet-address-validator

Browser

<script src="wallet-address-validator.min.js"></script>

Using bower

bower install wallet-address-validator

API

validate (address [, currency = 'bitcoin'[, networkType = 'prod']])
Parameters
  • address - Wallet address to validate.
  • currency - Optional. Currency name or symbol, e.g. 'bitcoin' (default), 'litecoin' or 'LTC'
  • networkType - Optional. Use 'prod' (default) to enforce standard address, 'testnet' to enforce testnet address and 'both' to enforce nothing.

Returns true if the address (string) is a valid wallet address for the crypto currency specified, see below for supported currencies.

getAddressType (address)
Parameters
  • address - Wallet address.

Returns address type (as 2 character hex string) if valid base58 address, otherwise null.

Supported crypto currencies

  • Bitcoin/BTC, 'bitcoin' or 'BTC'
  • Litecoin/LTC, 'litecoin' or 'LTC'
  • Denarius/DNR, 'denarius' or 'DNR'
  • Peercoin/PPCoin/PPC, 'peercoin' or 'PPC'
  • Dogecoin/DOGE, 'dogecoin' or 'DOGE'
  • BeaverCoin/BVC, 'beavercoin' or 'BVC'
  • Freicoin/FRC, 'freicoin' or 'FRC'
  • Protoshares/PTS, 'protoshares' or 'PTS'
  • Megacoin/MEC, 'megacoin' or 'MEC'
  • Primecoin/XPM, 'primecoin' or 'XPM'
  • Auroracoin/AUR, 'auroracoin' or 'AUR'
  • Namecoin/NMC, 'namecoin' or 'NMC'

Usage example

Node

var WAValidator = require('wallet-address-validator');

var valid = WAValidator.validate('1KFzzGtDdnq5hrwxXGjwVnKzRbvf8WVxck', 'BTC');
if(valid)
	console.log('This is a valid address');
else
	console.log('Address INVALID');

// This will log 'This is a valid address' to the console.
var WAValidator = require('wallet-address-validator');

var valid = WAValidator.validate('1KFzzGtDdnq5hrwxXGjwVnKzRbvf8WVxck', 'litecoin', 'testnet');
if(valid)
      console.log('This is a valid address');
else
      console.log('Address INVALID');

// As this is a invalid litecoin address 'Address INVALID' will be logged to console.

Browser

<script src="wallet-address-validator.min.js"></script>
// WAValidator is exposed as a global (window.WAValidator)
var valid = WAValidator.validate('1KFzzGtDdnq5hrwxXGjwVnKzRbvf8WVxck', 'bitcoin');
if(valid)
    alert('This is a valid address');
else
    alert('Address INVALID');

// This should show a pop up with text 'This is a valid address'.