base58

Module for base58 decoding/encoding.

class Base58Alphabets(value)

Bases: Enum

Enumerative for Base58 alphabet.

BITCOIN = 1
RIPPLE = 2
class Base58Const

Bases: object

Class container for Base58 constants.

RADIX: int = 58
CHECKSUM_BYTE_LEN: int = 4
ALPHABETS: Dict[Base58Alphabets, str] = {<Base58Alphabets.BITCOIN: 1>: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz', <Base58Alphabets.RIPPLE: 2>: 'rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz'}
class Base58Utils

Bases: object

Class container for Base58 utility functions.

static ComputeChecksum(data_bytes: bytes) bytes

Compute Base58 checksum.

Parameters:

data_bytes (bytes) – Data bytes

Returns:

Computed checksum

Return type:

bytes

class Base58Encoder

Bases: object

Base58 encoder class. It provides methods for encoding and checksum encoding to Base58 format.

static Encode(data_bytes: bytes, alph_idx: Base58Alphabets = Base58Alphabets.BITCOIN) str

Encode bytes into a Base58 string.

Parameters:
  • data_bytes (bytes) – Data bytes

  • alph_idx (Base58Alphabets, optional) – Alphabet index, Bitcoin by default

Returns:

Encoded string

Return type:

str

Raises:

TypeError – If alphabet index is not a Base58Alphabets enumerative

static CheckEncode(data_bytes: bytes, alph_idx: Base58Alphabets = Base58Alphabets.BITCOIN) str

Encode bytes into Base58 string with checksum.

Parameters:
  • data_bytes (bytes) – Data bytes

  • alph_idx (Base58Alphabets, optional) – Alphabet index, Bitcoin by default

Returns:

Encoded string with checksum

Return type:

str

Raises:

TypeError – If alphabet index is not a Base58Alphabets enumerative

class Base58Decoder

Bases: object

Base58 decoder class. It provides methods for decoding and checksum decoding Base58 format.

static Decode(data_str: str, alph_idx: Base58Alphabets = Base58Alphabets.BITCOIN) bytes

Decode bytes from a Base58 string.

Parameters:
  • data_str (str) – Data string

  • alph_idx (Base58Alphabets, optional) – Alphabet index, Bitcoin by default

Returns:

Decoded bytes

Return type:

bytes

Raises:

TypeError – If alphabet index is not a Base58Alphabets enumerative

static CheckDecode(data_str: str, alph_idx: Base58Alphabets = Base58Alphabets.BITCOIN) bytes

Decode bytes from a Base58 string with checksum.

Parameters:
  • data_str (str) – Data string

  • alph_idx (Base58Alphabets, optional) – Alphabet index, Bitcoin by default

Returns:

Decoded bytes (checksum removed)

Return type:

bytes

Raises:
  • ValueError – If the string is not a valid Base58 format

  • TypeError – If alphabet index is not a Base58Alphabets enumerative

  • Base58ChecksumError – If checksum is not valid