Module base58_monero::base58

source ·
Expand description

Base58 encoder and decoder functions and constants

§Stream Examples

Async streams can be used with the stream feature:

use futures_util::pin_mut;
use futures_util::stream::StreamExt;
use base58_monero::{encode_stream, Error};

async {
    let mut input: &[u8] = b"Hello World";
    let mut w: Vec<char> = vec![];

    let s = encode_stream(&mut input);
    pin_mut!(s);

    while let Some(value) = s.next().await {
        w.push(value?);
    }

    let s: String = w.into_iter().collect();
    assert_eq!("D7LMXYjUbXc1fS9Z", &s[..]);
}

Async decoding with decode_stream and decode_stream_check is available with the features check and stream enabled:

use futures_util::pin_mut;
use futures_util::stream::StreamExt;
use base58_monero::{decode_stream_check, Error};

async {
    let mut input: &[u8] = b"D7LMXYjUbXc5LVkq6vWDY";
    let mut w: Vec<u8> = vec![];

    let s = decode_stream_check(&mut input);
    pin_mut!(s);

    while let Some(value) = s.next().await {
        w.push(value?);
    }

    assert_eq!(b"Hello World", &w[..]);
}

Enums§

  • Possible errors when encoding/decoding base58 and base58-check strings

Constants§

Functions§

  • Decode base58-encoded string into a byte vector
  • Decode base58-encoded with 4 bytes checksum string into a byte vector
  • Encode a byte vector into a base58-encoded string
  • Encode a byte vector into a base58-check string, adds 4 bytes checksum

Type Aliases§

  • Utility type for handling results with base58 error type