自分が持っているblockのサイズと別のノードが持っているブロックサイズを比較して、相手の方が大きければ自分のブロックチェーンを更新する
let path = "own_blocks.txt"; let own_blocks = count_lines(path); println!("{}", own_blocks); let json_data = json(); let deserialized = json!(**&json_data); let objs: Vec<Block> = serde_json::from_value(deserialized).unwrap(); if objs.len() > own_blocks { let mut file = File::create("data/blocks.txt").expect("file not found."); for obj in &objs { let t = serde_json::to_string(&obj).unwrap(); writeln!(file, "{}", t).expect("can not write."); } } println!("{}", objs.len());
OK、これを関数化して繋げる。