object

# `base58`

Base58 encoder and decoder (Bitcoin alphabet variant).

Availability:
`logtalk_load(base58(loader))`
Author: Paulo Moura
Version: 1:1:1
Date: 2026-06-14
Compilation flags:
`static, context_switching_calls`
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

## Public predicates

### `parse/2`

Parses Base58 data from the given source (`atom(Atom)`, `chars(List)`, or `codes(List)`) into a list of bytes.

Compilation flags:
`static`
Template:
`parse(Source,Bytes)`
Mode and number of proofs:
`parse(++compound,--list(byte))` - `one_or_error`
Exceptions:
`Source` is a variable:
`instantiation_error`
`Source` is neither a variable nor a valid Base58 source term:
`domain_error(base58_source,Source)`
`Source` contains Base58 data with characters outside the Base58 alphabet:
`representation_error(base58)`

### `generate/2`

Generates Base58 in the representation specified in the first argument (`atom(Atom)`, `chars(List)`, or `codes(List)`) for the list of bytes in the second argument.

Compilation flags:
`static`
Template:
`generate(Sink,Bytes)`
Mode and number of proofs:
`generate(+compound,+list(byte))` - `one_or_error`
Exceptions:
`Sink` is a variable:
`instantiation_error`
`Sink` is neither a variable nor a valid Base58 sink term:
`domain_error(base58_sink,Sink)`

## Protected predicates

(none)

## Private predicates

(none)

## Operators

(none)