Crate gemblockchain

source ·
Expand description

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>>()
     );
 }

Re-exports

Modules