A crypto-currency address inspection/validation library.
Project description
Maintainer
Joe Black | me@joeblack.nyc | github
Introduction
A cryptocurrency address inspection/validation library for python.
Supported currencies
bitcoin
bitcoin-cash
litecoin
ethereum
ethereum-classic
ether-zero
dogecoin
dashcoin
neocoin
ripple
Installation
pip3 install coinaddr
Usage
>>> import coinaddr
>>> coinaddr.validate('btc', b'1BoatSLRHtKNngkdXEeobR76b53LETtpyT')
ValidationResult(name='bitcoin', ticker='btc', address=b'1BoatSLRHtKNngkdXEeobR76b53LETtpyT', valid=True, network='main')
Extending
Currencies
To add a new currency, simply instantiate a new coinaddr.currency.Currency class. It will be automatically registered.
from coinaddr import Currency
Currency('testcoin', ticker='ttc', validator='Base58Check',
networks=dict(
main=(0x00, 0x05), test=(0x6f, 0xc4)))
To override a default currency, simply instantiate a new currency with that name.
Validators
To add a new validator, simply create a subclass of coinaddr.validation.ValidatorBase with your own implementation that implements the coinaddr.interfaces.IValidator interface. It will be automatically registered.
from zope.interface import implementer
from coinaddr.interfaces import IValidator
from coinaddr import ValidatorBase
@implementer(IValidator)
class NewValidator(ValidatorBase):
name = 'New'
@property
def networks(self):
return 'testing'
def validate(self):
return True
To override a default validator, simply create a new validator with that name.
Changes
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for coinaddr-1.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55ff1961d5ea34dc8d3bacae676c1e0f8bdb5c23cac07b47bdfa6560f47390bc |
|
MD5 | c2661faf002e1d57145ee530813fd3ca |
|
BLAKE2b-256 | 6160a20ee228229bd955db492a1fe8979123ff11c522790b5f3470f02cac5cef |