Crate pchain_network

Source
Expand description

Implementation of ParallelChain protocol peer-to-peer (P2P) networking.

§Starting a peer

use crate::configuration::Config; 
use crate::messages::MessageGateChain;
use crate::engine;
use crate::network::{SendCommand, NetworkTopic};
 
// 1. Build a configuration.
let config = Config::new();
 
// 2. Create message gate chain. 
let gates = MessageGateChain::new()
// .chain(message_gate1) 
// .chain(message_gate2)
// ...
 
// 3. Start P2P network.
let network = engine::start(config, vec![], gates).await.unwrap();
 
// 4. Send out messages.
let sender = network.sender();
let _ = sender.send(SendCommand::Broadcast(NetworkTopic::new("topic".to_string()), Vec::new())).await;

Modules§

configuration
Configuration parameters provided by the library user.
engine
start a ParallelChain Network peer. This is the entrypoint to to this library.
messages
Messages that can be sent using Gossipsub, as well as chainable “gates” to process them on receipt.
network
Network, the handle type you use to send messages.
peer_info
Information which identifies a peer (PeerInfo).