Giter VIP home page Giter VIP logo

libmonero's Introduction

 _ _ _
| (_) |__  _ __ ___   ___  _ __   ___ _ __ ___
| | | '_ \| '_ ` _ \ / _ \| '_ \ / _ \ '__/ _ \
| | | |_) | | | | | | (_) | | | |  __/ | | (_) |
|_|_|_.__/|_| |_| |_|\___/|_| |_|\___|_|  \___/

Crates.io Docs License Dependency Status

DISCLAIMER: This library is still in early development and doesn't have a stable version yet. It is not ready for production use and not cryptographically audited. We are working hard to make it as secure as possible. Please use it at your own risk.

libmonero is a powerful, batteries-included library for the Monero cryptocurrency written in Rust. It is designed to be fast, safe and easy to use.

Why another library?

Features

  • Original (25-word) and MyMonero (13-word) seed support
  • Many language support for seeds: en, eo, fr, it, ja, pt, ru, lj...
  • Hexadecimal seed, private spend and view keys, address derivation
  • RPC for getting data from the Monero network

And many more features... (Roadmap)

Usage

Add the library to your project and use the functions:
cargo add libmonero

For more details, please take a look at docs. If you have any questions, you can ask it at the discussions.

Licensing

This project is licensed under the MIT License. Please take a look at LICENSE.md for more information.

Roadmap

  • Mnemonic generation, key and address derivation
  • Support for MyMonero seeds
  • Calculating balance for wallet
  • Ability to make outgoing transactions and announcing it to network
  • Support Polyseed

Why another library?

Almost every Monero 'library' on the net is either a wrapper or a port of the official software and it's RPC. They just make interface for you to communicate with the 'real software', where all things happen. This is not the case with libmonero¹. You don't need any of the official code, which is written in C++ and is very hard to understand (some people even say wallet2 is 'hell' :D). This library is designed to be a fast, safe, and full-featured library, with support for all the features of the Monero blockchain and ecosystem.

This library is written from scratch in Rust and is designed to be easy to use and understand with no need for any other software (other than Monero Daemon for blockchain data etc.). We aim for this library to be usable even for embedded apps. That's why we are calling it 'batteries-included'.

Building this library from scratch is a huge task. We are working hard to make it as good as possible. If you want to help us, please consider contributing to this project. We are looking for people who can help us with the development, testing, and documentation.

TL;DR: No-bullshit, standalone, fast, safe and easy to use library for Monero did not exist, so we made one.

libmonero's People

Contributors

detherminal avatar nore-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

libmonero's Issues

Add transfering (sending) functionality [0.5 XMR]

Make a transaction and sign it with the given private key, then broadcast the signed transaction to the node. The first person to get merged a pr with a appropriate solution gets the bounty of 0.5 XMR.

Bounty:

  • 0.5 XMR: Adding transfer functionality

Implement fetching balance and previous transactions [0.5 XMR]

Implement fetching or calculating balance and previous transactions from nodes without extracting the private spend key from device. You should complete the functions described in wallet.go file. The first person to get merged a pr with a appropriate solution gets the bounty of 0.5 XMR.

Bounty:

  • 0.20 XMR: Getting balance
  • 0.30 XMR: Getting previous transactions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.