Rust Monero Library
Library with support for de/serialization on block data structures and key/address generation and scanning related to Monero cryptocurrency.
Supports (or should support)
- De/serialization of Monero blocks and transactions (consensus encoding)
- Address and subaddress creation, de/serialization and validation
- Private keys and one-time keys creation, de/serialization and validation
- Transaction owned output detection and amount recovery with view keypair
- Serde support on most structures with feature
serde_support
- Strict encoding support on most structures with feature
strict_encoding_support
Documentation
Currently can be found on docs.rs/monero. Patches to add usage examples and to expand on existing docs would be extremely appreciated.
Features
serde_support
The serde_support
feature enables implementation of serde
on serializable types across the library.
experimental
The experimental
feature enable the method signature_hash
in Transaction
, the method computes the message to be signed by the CLSAG signature algorithm. This method is featured as experimental at the moment because it lacks reviews and tests.
strict_encoding_support
The strict_encoding_support
feature enables StrictEncode
and StrictDecode
trait implementation for a few types that implements consensus::Encodable
and consensus::Decodable
.
strict_encoding
is a wrapper that allows multiple consensus encoding to work under the same interface, i.e. StrictEncode
and StrictDecode
.
Contributing
Contributions are generally welcome. If you intend to make larger changes please discuss them in an issue before PRing them to avoid duplicate work and architectural mismatches.
Release Notes
See CHANGELOG.md.
About
This started as a research project sponsored by TrueLevel SA, it is now developed and maintained by h4sh3d and member's of the community and NOT by the Monero Core Team.
Licensing
The code in this project is licensed under the MIT License