rust-bitcoin-unsafe-fast/base58
Tobin C. Harding aa8ba118ae
Add a new base58 crate
Add a new `base58` crate to the workspace and move the `bitcoin::base58`
module to it.

Done as part of crate smashing, specifically so that we can make `bip32`
into a separate crate.
2024-02-23 12:54:24 +11:00
..
contrib Add a new base58 crate 2024-02-23 12:54:24 +11:00
src Add a new base58 crate 2024-02-23 12:54:24 +11:00
Cargo.toml Add a new base58 crate 2024-02-23 12:54:24 +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.