Introduction

based58 is a fast Python library for Base58 encoding and decoding. It includes support for Base58Check and configurable alphabets.

It is significantly faster than the pure-Python base58 library, as it calls the Rust bs58 library under the hood.

The API mimics that of the base58 library, with the exception that string inputs are not supported, only bytes.

Installation

pip install based58

Note

requires Python >= 3.7.

Usage

>>> import based58
>>> data = [1, 2, 3]
>>> based58.b58encode(b'hello world')
b'StV1DL6CwTryKyV'
>>> based58.b58decode(b'StV1DL6CwTryKyV')
b'hello world'
>>> based58.b58encode_check(b'hello world')
b'3vQB7B6MrGQZaxCuFg4oh'
>>> based58.b58decode_check(b'3vQB7B6MrGQZaxCuFg4oh')
b'hello world'
>>> based58.b58encode(b'hello world', alphabet=based58.Alphabet.RIPPLE)
b'StVrDLaUATiyKyV'
>>> based58.b58decode(b'StVrDLaUATiyKyV', alphabet=based58.Alphabet.RIPPLE)
b'hello world'

Documentation credit

Most of this documentation is copied from the base58 docs and bs58 docs.