Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kixunil/bip21
Rust-idiomatic, compliant, flexible and performant BIP21 crate
https://github.com/kixunil/bip21
Last synced: 3 days ago
JSON representation
Rust-idiomatic, compliant, flexible and performant BIP21 crate
- Host: GitHub
- URL: https://github.com/kixunil/bip21
- Owner: Kixunil
- Created: 2021-11-22T15:13:39.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-08-02T16:49:07.000Z (6 months ago)
- Last Synced: 2025-01-16T10:23:48.188Z (10 days ago)
- Language: Rust
- Size: 36.1 KB
- Stars: 10
- Watchers: 5
- Forks: 11
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Rust implementation of BIP21
Rust-idiomatic, compliant, flexible and performant BIP21 crate.
## About
**Important:** while lot of work went into polishing the crate it's still considered
early-development!* Rust-idiomatic: uses strong types, standard traits and other things
* Compliant: implements all requirements of BIP21, including protections to not forget about
`req-`. (But see features.)
* Flexible: enables parsing/serializing additional arguments not defined by BIP21.
* Performant: uses zero-copy deserialization and lazy evaluation wherever possible.Serialization and deserialization is inspired by `serde` with these important differences:
* Deserialization signals if the field is known so that `req-` fields can be rejected.
* Much simpler API - we don't need all the features.
* Use of [`Param<'a>`] to enable lazy evaluation.The crate is `no_std` but does require `alloc`.
## Features
* `std` enables integration with `std` - mainly `std::error::Error`.
* `non-compliant-bytes` - enables use of non-compliant API that can parse non-UTF-8 URI values.## MSRV
1.56.1
## License
MITNFA