Introducing, the mint

Use the mint to pair a new private key with new tokens.
This commit is contained in:
Greg Fitzgerald
2018-03-07 16:58:01 -07:00
parent 491ba9da84
commit b6d8f737ca
6 changed files with 38 additions and 23 deletions

View File

@@ -7,6 +7,7 @@ use silk::transaction::Transaction;
use silk::log::create_entries;
use silk::signature::{KeyPair, KeyPairUtil, PublicKey};
use silk::hash::Hash;
use std::io::stdin;
fn transfer(from: &KeyPair, (to, tokens): (PublicKey, i64), last_id: Hash) -> Event {
Event::Transaction(Transaction::new(&from, to, tokens, last_id))
@@ -16,15 +17,14 @@ fn main() {
let alice = (KeyPair::new().pubkey(), 200);
let bob = (KeyPair::new().pubkey(), 100);
let gen = Genesis::new(500);
let gen: Genesis = serde_json::from_reader(stdin()).unwrap();
let from = gen.keypair();
let seed = gen.seed();
let mut events = gen.create_events();
events.push(transfer(&from, alice, seed));
events.push(transfer(&from, bob, seed));
let entries = create_entries(&seed, events);
for entry in entries {
for entry in create_entries(&seed, events) {
println!("{}", serde_json::to_string(&entry).unwrap());
}
}

View File

@@ -1,18 +1,14 @@
//! A command-line executable for generating the chain's genesis block.
extern crate ring;
extern crate serde_json;
extern crate silk;
use silk::genesis::Genesis;
use silk::log::verify_slice;
use std::io::stdin;
fn main() {
let gen: Genesis = serde_json::from_reader(stdin()).unwrap();
let entries = gen.create_entries();
verify_slice(&entries, &entries[0].id);
for x in entries {
for x in gen.create_entries() {
println!("{}", serde_json::to_string(&x).unwrap());
}
}

15
src/bin/mint.rs Normal file
View File

@@ -0,0 +1,15 @@
extern crate serde_json;
extern crate silk;
use silk::genesis::Genesis;
use std::io;
fn main() {
let mut input_text = String::new();
io::stdin().read_line(&mut input_text).unwrap();
let trimmed = input_text.trim();
let tokens = trimmed.parse::<i64>().unwrap();
let gen = Genesis::new(tokens);
println!("{}", serde_json::to_string(&gen).unwrap());
}