Skip to main content

Reference implementation of CB58 encoding used by AVA

Project description

cb58ref

https://img.shields.io/pypi/v/cb58ref.svg https://img.shields.io/travis/moreati/cb58ref.svg Documentation Status Updates

cb58ref is a reference implementation of the CB58 encoding used by AVA. CB58 is similar to the Base58Check encoding used in Bitcoin

  • both can encode arbitrary an arbitrary byte sequence

  • both use the same alphabet

  • both append a 4 byte checksum

they differ in the following respects

  • CB58 uses the final 4 bytes of SHA256(msg) as the checksum. Base58Check uses the first 4 bytes of SHA256(SHA256(msg)) as the checksum.

Usage

>>> import cb58ref
>>> cb58ref.cb58encode(b"Hello world"):
'32UWxgjUJd9s6Kyvxjj1u'
>>> cb58ref.cb58decode('32UWxgjUJd9s6Kyvxjj1u')
b"Hello world"
$ printf "Hello world" | python3 -m cb58ref
32UWxgjUJd9s6Kyvxjj1u

$ printf "32UWxgjUJd9s6Kyvxjj1u" | python3 -m cb58ref -d
Hello world

Installation

$ python3 -m pip install cb58ref

License

  • Free software: MIT license

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template. The b58decode(), and b58encode() functions are from base58.py, part of Bitcoin Core.

History

0.2.0 (2020-06-17)

  • Command line interface

  • Type hints

  • Unit tests

0.1.0 (2020-06-15)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cb58ref-0.2.0.tar.gz (12.2 kB view hashes)

Uploaded Source

Built Distribution

cb58ref-0.2.0-py3-none-any.whl (6.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page