rust-bitcoin-unsafe-fast/base58
Liam Aharon b9f7462958
Implement infallible for errors
Creates a new macro `impl_from_infallible`, and applies it to custom
error types in the codebase.

Closes #1222.
2024-03-08 16:48:34 +11:00
..
contrib Add a new base58 crate 2024-02-23 12:54:24 +11:00
src Implement infallible for errors 2024-03-08 16:48:34 +11:00
Cargo.toml Implement infallible for errors 2024-03-08 16:48:34 +11:00
README.md Add a new base58 crate 2024-02-23 12:54:24 +11:00

README.md

Bitcoin base58 encoding

This crate provides encoding and decoding of base58 strings as defined by the Bitcoin ecosystem including the checksum.

There are two other crates on crates.io that implement base58 encoding and decoding. This crate differs from them because:

  1. bitcoin-base58 is transpiled from the C++ code in Bitcoin Core as part of a large long-term transpilation project; this crate is a pure Rust implementation intended to be production-ready and to provide an Rust-idiomatic API.

  2. base58 is incomplete and appears unmaintained as of February 2024. It does not validate checksums and will therefore accept invalid Bitcoin addresses. It may be appropriate in cases where performance is more important than safety.

Minimum Supported Rust Version (MSRV)

This library should always compile with any combination of features on Rust 1.56.1.

Licensing

The code in this project is licensed under the Creative Commons CC0 1.0 Universal license. We use the SPDX license list and SPDX IDs.