[][src]Module damn_vuln_blockchain::block

the smallest unit/data-structure that can go into the blockchain

Create a block

use damn_vuln_blockchain::{ asset::AssetLedger, block::{BlockBuilder, Block}, chain::Chain};


fn main() {
       let chain = Chain::new("My chain"); // create blockchain
       let peer_id = "Me";
       let mut assets = AssetLedger::generate(peer_id); // generate some assets
       let asset = assets.assets.pop().unwrap();

       // get the last block of a chain
       let prev = chain.get_last_block();

       let block = BlockBuilder::default()
           .set_tx("Me")
           .set_rx("You")
           .set_prev(&prev)
           .set_asset_id(&asset.get_hash())
           .set_validator("Me")
           .build();

       assert!(!block.is_genesis());
       assert_eq!(block.get_tx().unwrap(), "Me");
       assert_eq!(block.get_rx().unwrap(), "You");
}

Structs

Block

Smallest data-sctructure that can go into Chain.

BlockBuilder

Builder struct for Block