aboutsummaryrefslogtreecommitdiff
path: root/p2p/examples
diff options
context:
space:
mode:
authorhozan23 <hozan23@proton.me>2023-11-28 22:41:33 +0300
committerhozan23 <hozan23@proton.me>2023-11-28 22:41:33 +0300
commit98a1de91a2dae06323558422c239e5a45fc86e7b (patch)
tree38c640248824fcb3b4ca5ba12df47c13ef26ccda /p2p/examples
parentca2a5f8bbb6983d9555abd10eaaf86950b794957 (diff)
implement TLS for inbound and outbound connections
Diffstat (limited to 'p2p/examples')
-rw-r--r--p2p/examples/chat.rs7
-rw-r--r--p2p/examples/monitor.rs14
-rwxr-xr-xp2p/examples/net_simulation.sh24
-rw-r--r--p2p/examples/peer.rs14
4 files changed, 24 insertions, 35 deletions
diff --git a/p2p/examples/chat.rs b/p2p/examples/chat.rs
index 907ba06..d94bca4 100644
--- a/p2p/examples/chat.rs
+++ b/p2p/examples/chat.rs
@@ -7,11 +7,12 @@ use async_trait::async_trait;
use clap::Parser;
use smol::{channel, Executor};
+use karyons_core::key_pair::{KeyPair, KeyPairType};
use karyons_net::{Endpoint, Port};
use karyons_p2p::{
protocol::{ArcProtocol, Protocol, ProtocolEvent, ProtocolID},
- ArcPeer, Backend, Config, P2pError, PeerID, Version,
+ ArcPeer, Backend, Config, P2pError, Version,
};
use shared::run_executor;
@@ -102,7 +103,7 @@ fn main() {
let cli = Cli::parse();
// Create a PeerID based on the username.
- let peer_id = PeerID::new(cli.username.as_bytes());
+ let key_pair = KeyPair::generate(&KeyPairType::Ed25519);
// Create the configuration for the backend.
let config = Config {
@@ -117,7 +118,7 @@ fn main() {
let ex = Arc::new(Executor::new());
// Create a new Backend
- let backend = Backend::new(peer_id, config, ex.clone());
+ let backend = Backend::new(&key_pair, config, ex.clone());
let (ctrlc_s, ctrlc_r) = channel::unbounded();
let handle = move || ctrlc_s.try_send(()).unwrap();
diff --git a/p2p/examples/monitor.rs b/p2p/examples/monitor.rs
index fc48c2f..530d2d5 100644
--- a/p2p/examples/monitor.rs
+++ b/p2p/examples/monitor.rs
@@ -5,9 +5,10 @@ use std::sync::Arc;
use clap::Parser;
use smol::{channel, Executor};
+use karyons_core::key_pair::{KeyPair, KeyPairType};
use karyons_net::{Endpoint, Port};
-use karyons_p2p::{Backend, Config, PeerID};
+use karyons_p2p::{Backend, Config};
use shared::run_executor;
@@ -29,20 +30,13 @@ struct Cli {
/// Optional TCP/UDP port for the discovery service.
#[arg(short)]
discovery_port: Option<Port>,
-
- /// Optional user id
- #[arg(long)]
- userid: Option<String>,
}
fn main() {
env_logger::init();
let cli = Cli::parse();
- let peer_id = match cli.userid {
- Some(userid) => PeerID::new(userid.as_bytes()),
- None => PeerID::random(),
- };
+ let key_pair = KeyPair::generate(&KeyPairType::Ed25519);
// Create the configuration for the backend.
let config = Config {
@@ -57,7 +51,7 @@ fn main() {
let ex = Arc::new(Executor::new());
// Create a new Backend
- let backend = Backend::new(peer_id, config, ex.clone());
+ let backend = Backend::new(&key_pair, config, ex.clone());
let (ctrlc_s, ctrlc_r) = channel::unbounded();
let handle = move || ctrlc_s.try_send(()).unwrap();
diff --git a/p2p/examples/net_simulation.sh b/p2p/examples/net_simulation.sh
index 1a05adf..dd489e5 100755
--- a/p2p/examples/net_simulation.sh
+++ b/p2p/examples/net_simulation.sh
@@ -5,27 +5,27 @@ cargo build --release --example peer
tmux new-session -d -s karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer1'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-l 'tcp://127.0.0.1:30000' -d '30010'" Enter
tmux split-window -h -t karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer2'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-l 'tcp://127.0.0.1:30001' -d '30011' -b 'tcp://127.0.0.1:30010 ' " Enter
tmux split-window -h -t karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer3'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-l 'tcp://127.0.0.1:30002' -d '30012' -b 'tcp://127.0.0.1:30010'" Enter
tmux split-window -h -t karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer4'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-l 'tcp://127.0.0.1:30003' -d '30013' -b 'tcp://127.0.0.1:30010'" Enter
tmux split-window -h -t karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer5'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-l 'tcp://127.0.0.1:30004' -d '30014' -b 'tcp://127.0.0.1:30010'" Enter
tmux split-window -h -t karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer6'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-l 'tcp://127.0.0.1:30005' -d '30015' -b 'tcp://127.0.0.1:30010'" Enter
tmux select-layout even-horizontal
@@ -35,37 +35,37 @@ sleep 3;
tmux select-pane -t karyons_p2p:0.0
tmux split-window -v -t karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer7'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-b 'tcp://127.0.0.1:30010' -b 'tcp://127.0.0.1:30011'" Enter
tmux select-pane -t karyons_p2p:0.2
tmux split-window -v -t karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer8'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-b 'tcp://127.0.0.1:30010' -b 'tcp://127.0.0.1:30012' -p 'tcp://127.0.0.1:30005'" Enter
tmux select-pane -t karyons_p2p:0.4
tmux split-window -v -t karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer9'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-b 'tcp://127.0.0.1:30010' -b 'tcp://127.0.0.1:30013'" Enter
tmux select-pane -t karyons_p2p:0.6
tmux split-window -v -t karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer10'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-b 'tcp://127.0.0.1:30010' -b 'tcp://127.0.0.1:30014'" Enter
tmux select-pane -t karyons_p2p:0.8
tmux split-window -v -t karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer11'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-b 'tcp://127.0.0.1:30010' -b 'tcp://127.0.0.1:30015'" Enter
tmux select-pane -t karyons_p2p:0.10
tmux split-window -v -t karyons_p2p
-tmux send-keys -t karyons_p2p "../../target/release/examples/peer --userid 'peer12'\
+tmux send-keys -t karyons_p2p "../../target/release/examples/peer\
-b 'tcp://127.0.0.1:30010' -b 'tcp://127.0.0.1:30015' -b 'tcp://127.0.0.1:30011'" Enter
# tmux set-window-option -t karyons_p2p synchronize-panes on
diff --git a/p2p/examples/peer.rs b/p2p/examples/peer.rs
index 5ff365d..b595b4a 100644
--- a/p2p/examples/peer.rs
+++ b/p2p/examples/peer.rs
@@ -5,9 +5,10 @@ use std::sync::Arc;
use clap::Parser;
use smol::{channel, Executor};
+use karyons_core::key_pair::{KeyPair, KeyPairType};
use karyons_net::{Endpoint, Port};
-use karyons_p2p::{Backend, Config, PeerID};
+use karyons_p2p::{Backend, Config};
use shared::run_executor;
@@ -29,20 +30,13 @@ struct Cli {
/// Optional TCP/UDP port for the discovery service.
#[arg(short)]
discovery_port: Option<Port>,
-
- /// Optional user id
- #[arg(long)]
- userid: Option<String>,
}
fn main() {
env_logger::init();
let cli = Cli::parse();
- let peer_id = match cli.userid {
- Some(userid) => PeerID::new(userid.as_bytes()),
- None => PeerID::random(),
- };
+ let key_pair = KeyPair::generate(&KeyPairType::Ed25519);
// Create the configuration for the backend.
let config = Config {
@@ -57,7 +51,7 @@ fn main() {
let ex = Arc::new(Executor::new());
// Create a new Backend
- let backend = Backend::new(peer_id, config, ex.clone());
+ let backend = Backend::new(&key_pair, config, ex.clone());
let (ctrlc_s, ctrlc_r) = channel::unbounded();
let handle = move || ctrlc_s.try_send(()).unwrap();