1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! The `elrond_rust` library can generate new accounts/wallets and create and sign transactions on the Elrond network. 
//! Its dependencies are written in pure Rust to allow easy WASM generation in the future. 
//!
//! ### Example interaction:
//!
//! ```
//! use elrond_rust::{Client, Account, UnsignedTransaction, Network}  
//! // initialize new client
//! let client = Client::new();
//! // load account from private/secret key
//! let private_key = "a4b36a5d97176618b5a7fcc9228d2fd98ee2f14ddd3d6462ae03e40eb487d15b";
//! let account = Account::from_string(private_key).unwrap();
//! // look up the current account nonce to use for the tx
//! let nonce = client.get_address_nonce(&account.address).unwrap();
//! // create a new transaction to send 1 eGLD to some address
//! let tx = UnsignedTransaction::new(
//!     nonce, // current nonce
//!     "1", // amount of eGLD
//!     "erd16jats393r8rnut88yhvu5wvxxje57qzlj3tqk7n6jnf7f6cxs4uqfeh65k", // reciever
//!     &account.address.to_string(), // the account
//!     Network::MainNet
//! ).unwrap();
//! // sign the transaction
//! let signed_tx = tx.sign(&account).unwrap();
//! // submit the transaction to the network
//! client.post_signed_transaction(signed_tx)
//! ```
//!
//! See the source code and tests for more examples.

mod transaction;
mod account;
mod errors;
mod rest;

pub use transaction::{ElrondCurrencyAmount, Network, UnsignedTransaction, SignedTransaction};
pub use account::{Account, ElrondAddress};
pub use rest::Client;
pub use errors::{ElrondClientError, Result};