diff --git a/src/bin/client-demo.rs b/src/bin/client-demo.rs index 3e5c1ec8f7..d514406287 100644 --- a/src/bin/client-demo.rs +++ b/src/bin/client-demo.rs @@ -187,7 +187,7 @@ fn main() { let leader: ReplicatedData; if let Some(l) = matches.value_of("leader") { - leader = read_leader(l.to_string()).network; + leader = read_leader(l.to_string()).node_info; } else { let server_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 8000); leader = ReplicatedData::new_leader(&server_addr); diff --git a/src/bin/drone.rs b/src/bin/drone.rs index bb96e43543..8b8bc815d0 100644 --- a/src/bin/drone.rs +++ b/src/bin/drone.rs @@ -62,7 +62,7 @@ fn main() { let leader: ReplicatedData; if let Some(l) = matches.value_of("leader") { - leader = read_leader(l.to_string()).network; + leader = read_leader(l.to_string()).node_info; } else { let server_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 8000); leader = ReplicatedData::new_leader(&server_addr); diff --git a/src/bin/fullnode.rs b/src/bin/fullnode.rs index 06f040756f..e85f003756 100644 --- a/src/bin/fullnode.rs +++ b/src/bin/fullnode.rs @@ -59,7 +59,7 @@ fn main() -> () { let parse: serde_json::Result = serde_json::from_reader(file); if let Ok(data) = parse { keypair = data.keypair(); - repl_data = data.network; + repl_data = data.node_info; } else { eprintln!("failed to parse {}", path); exit(1); diff --git a/src/bin/wallet.rs b/src/bin/wallet.rs index 4c255eac0c..818e3b5a8d 100644 --- a/src/bin/wallet.rs +++ b/src/bin/wallet.rs @@ -143,7 +143,7 @@ fn parse_args() -> Result> { let leader: ReplicatedData; if let Some(l) = matches.value_of("leader") { - leader = read_leader(l.to_string()).network; + leader = read_leader(l.to_string()).node_info; } else { let server_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 8000); leader = ReplicatedData::new_leader(&server_addr); diff --git a/src/fullnode.rs b/src/fullnode.rs index 553625d509..800bcf942d 100644 --- a/src/fullnode.rs +++ b/src/fullnode.rs @@ -44,7 +44,7 @@ pub enum OutFile { #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] /// Fullnode configuration to be stored in file pub struct Config { - pub network: ReplicatedData, + pub node_info: ReplicatedData, pkcs8: Vec, } @@ -58,11 +58,8 @@ impl Config { let keypair = KeyPair::from_pkcs8(Input::from(&pkcs8)).expect("from_pkcs8 in fullnode::Config new"); let pubkey = keypair.pubkey(); - let network = ReplicatedData::new_leader_with_pubkey(pubkey, bind_addr); - Config { - network: network, - pkcs8: pkcs8, - } + let node_info = ReplicatedData::new_leader_with_pubkey(pubkey, bind_addr); + Config { node_info, pkcs8 } } pub fn keypair(&self) -> KeyPair { KeyPair::from_pkcs8(Input::from(&self.pkcs8)) @@ -108,7 +105,7 @@ impl FullNode { let testnet_addr = network_entry_for_validator.expect("validator requires entry"); let network_entry_point = ReplicatedData::new_entry_point(testnet_addr); - let keypair = keypair_for_validator.expect("validastor requires keypair"); + let keypair = keypair_for_validator.expect("validator requires keypair"); let server = FullNode::new_validator( keypair, bank, @@ -319,7 +316,7 @@ impl FullNode { ).expect("Ncp::new"); let tvu = Tvu::new( - Arc::new(keypair), + keypair, bank.clone(), entry_height, crdt.clone(), diff --git a/src/replicate_stage.rs b/src/replicate_stage.rs index 5200187898..1db146a071 100644 --- a/src/replicate_stage.rs +++ b/src/replicate_stage.rs @@ -60,9 +60,8 @@ impl ReplicateStage { wcrdt.insert_votes(votes); //TODO: doesn't seem like there is a synchronous call to get height and id info!("replicate_stage {} {:?}", height, &last_id[..8]); - let (vote, addr) = wcrdt.new_vote(height, last_id)?; - (vote, addr) - }; + wcrdt.new_vote(height, last_id) + }?; { let mut blob = shared_blob.write().unwrap(); let tx = Transaction::new_vote(&keypair, vote, last_id, 0); @@ -81,7 +80,7 @@ impl ReplicateStage { Ok(()) } pub fn new( - keypair: Arc, + keypair: KeyPair, bank: Arc, crdt: Arc>, blob_recycler: BlobRecycler, @@ -90,6 +89,7 @@ impl ReplicateStage { let (vote_blob_sender, vote_blob_receiver) = channel(); let send = UdpSocket::bind("0.0.0.0:0").expect("bind"); let t_responder = responder(send, blob_recycler.clone(), vote_blob_receiver); + let skeypair = Arc::new(keypair); let t_replicate = Builder::new() .name("solana-replicate-stage".to_string()) @@ -97,7 +97,7 @@ impl ReplicateStage { let mut timestamp: u64 = 0; loop { if let Err(e) = Self::replicate_requests( - &keypair, + &skeypair, &bank, &crdt, &blob_recycler, diff --git a/src/tvu.rs b/src/tvu.rs index 4c71c2ee25..89e12ea4cd 100644 --- a/src/tvu.rs +++ b/src/tvu.rs @@ -2,14 +2,14 @@ //! 3-stage transaction validation pipeline in software. //! //! ```text -//! +<------------------------------------------<+ +//! .--------------------------------------------. //! | | //! | .--------------------------------+---------. //! | | TVU | | //! | | | | //! | | | | .------------. //! | | .------------+----------->| Validators | -//! | | .-------. | | | `------------` +//! v | .-------. | | | `------------` //! .----+---. | | | .----+---. .----+------. | //! | Leader |--------->| Blob | | Window | | Replicate | | //! `--------` | | Fetch |-->| Stage |-->| Stage | | @@ -69,7 +69,7 @@ impl Tvu { /// * `retransmit_socket` - my retransmit socket /// * `exit` - The exit signal. pub fn new( - keypair: Arc, + keypair: KeyPair, bank: Arc, entry_height: u64, crdt: Arc>, @@ -220,7 +220,7 @@ pub mod tests { let dr_1 = new_ncp(cref1.clone(), target1.sockets.gossip, exit.clone()).unwrap(); let tvu = Tvu::new( - Arc::new(target1_kp), + target1_kp, bank.clone(), 0, cref1,