Skip to content
This repository has been archived by the owner on Jan 17, 2023. It is now read-only.

Latest commit

 

History

History
45 lines (28 loc) · 1.65 KB

README.md

File metadata and controls

45 lines (28 loc) · 1.65 KB

🐣 Léger

Léger is a no-std library exposing a crypto-wallet for embedded targets.

It is written in Rust with a focus on Substrate chains. The goal will be to add other providers as well.

⚠ Under development

At the moment, the wallet is made to work with Kusama runtimes (or Substrate node template). It should not be used in production.

The library currently provides:

  • Websocket layer
  • JSON-RPC calls to:
    • get block genesis
    • get system version
    • get chain info
    • get runtime info
    • send money (through extrinsic)
  • Gives the developer the ability to add extrinsic calls by implementing the Call trait.

More features are coming, please check the Issues.

🙏 Pull Requests are welcome!

🏗 Implementation

TCP stack

In order to use leger-rs, you need to make sure to provide a TCP Client implementation that implements the TcpClient trait from the embedded_nal library.

Key management and signing

Key management must be done safely and signatures should be computed efficiently.

It is advised to isolate these jobs in a secure element or any secure context. It is left to the user to implement the signing-related functions using the LegerSigner trait.

Read the Unix example for more info (see below).

Unix example

See the Unix example for an implementation on a Unix-based OS using std::net::TcpStream.