/monero-rs

The Rust Monero library published on crates.io

Primary LanguageRustMIT LicenseMIT

Build Status Codecov branch unsafe forbidden Crates.io Documentation License: MIT MSRV

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

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

The serde 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.

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.

Releases and Changelog

See CHANGELOG.md and RELEASING.md.

About

This started as a research project sponsored by TrueLevel SA, it is now developed and maintained by the Monero Rust Contributors and NOT by the Monero Core Team.

Licensing

The code in this project is licensed under the MIT License