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 ofSHA256(SHA256(msg))
as the checksum.
>>> 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
$ python3 -m pip install cb58ref
- Free software: MIT license
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.