3 unstable releases
0.3.0 | Dec 5, 2023 |
---|---|
0.2.1 |
|
0.2.0 |
|
0.1.1 | Nov 10, 2020 |
0.1.0 | Nov 10, 2020 |
#4 in #gem
Used in gemgen
66KB
1.5K
SLoC
gem-lib-rust
Library to work with Gem blockchain
Usage
use std::time::{SystemTime, UNIX_EPOCH};
use gemblockchain::account::{PrivateKeyAccount, TESTNET};
use gemblockchain::base58::*;
use gemblockchain::seed::*;
use gemblockchain::transaction::*;
fn main() {
let phrase = generate_phrase();
let account = PrivateKeyAccount::from_seed(&phrase);
println!("My TESTNET address: {}", account.public_key().to_address(TESTNET).to_string());
let ts = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs() * 1000;
let tx = Transaction::new_alias(&account.public_key(), "rhino", TESTNET, 100000, ts);
println!("ID is {}", tx.id().to_string());
let ptx = account.sign_transaction(tx);
println!("Proofs are {:?}", ptx.proofs.iter().map(|p| p.to_base58()).collect::<Vec<String>>());
}
lib.rs
:
gemblockchain
Library to work with Gem blockchain.
Supports offline transaction signing and creating addresses and keys.
Usage
use std::time::{SystemTime, UNIX_EPOCH};
use gemblockchain::account::{PrivateKeyAccount, TESTNET};
use gemblockchain::base58::*;
use gemblockchain::seed::*;
use gemblockchain::transaction::*;
fn main() {
let phrase = generate_phrase();
let account = PrivateKeyAccount::from_seed(&phrase);
println!(
"My TESTNET address: {}",
account.public_key().to_address(TESTNET).to_string()
);
let ts = SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap()
.as_secs()
* 1000;
let tx = Transaction::new_alias(&account.public_key(), "rhino", TESTNET, 100000, ts);
println!("ID is {}", tx.id().to_string());
let ptx = account.sign_transaction(tx);
println!(
"Proofs are {:?}",
ptx.proofs
.iter()
.map(|p| p.to_base58())
.collect::<Vec<String>>()
);
}
Dependencies
~13–27MB
~411K SLoC