refactor: Merge multiplexer & miniprotocols into single crate (#244)
This commit is contained in:
parent
b63d2052cb
commit
d5f0c2fd80
80 changed files with 1694 additions and 3002 deletions
|
|
@ -1,38 +1,27 @@
|
|||
use pallas::network::{
|
||||
miniprotocols::{
|
||||
blockfetch,
|
||||
handshake::{self, n2n::VersionTable},
|
||||
Point, MAINNET_MAGIC, PROTOCOL_N2N_BLOCK_FETCH, PROTOCOL_N2N_HANDSHAKE,
|
||||
},
|
||||
multiplexer::{bearers::Bearer, StdPlexer},
|
||||
facades::PeerClient,
|
||||
miniprotocols::{Point, MAINNET_MAGIC},
|
||||
};
|
||||
|
||||
fn main() {
|
||||
env_logger::init();
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
tracing::subscriber::set_global_default(
|
||||
tracing_subscriber::FmtSubscriber::builder()
|
||||
.with_max_level(tracing::Level::TRACE)
|
||||
.finish(),
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
let bearer = Bearer::connect_tcp("relays-new.cardano-mainnet.iohk.io:3001").unwrap();
|
||||
|
||||
let mut plexer = StdPlexer::new(bearer);
|
||||
let handshake = plexer.use_client_channel(PROTOCOL_N2N_HANDSHAKE);
|
||||
let blockfetch = plexer.use_client_channel(PROTOCOL_N2N_BLOCK_FETCH);
|
||||
|
||||
plexer.muxer.spawn();
|
||||
plexer.demuxer.spawn();
|
||||
|
||||
let versions = VersionTable::v4_and_above(MAINNET_MAGIC);
|
||||
let mut hs_client = handshake::N2NClient::new(handshake);
|
||||
let handshake = hs_client.handshake(versions).unwrap();
|
||||
|
||||
assert!(matches!(handshake, handshake::Confirmation::Accepted(..)));
|
||||
let mut peer = PeerClient::connect("relays-new.cardano-mainnet.iohk.io:3001", MAINNET_MAGIC)
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
let point = Point::Specific(
|
||||
49159253,
|
||||
hex::decode("d034a2d0e4c3076f57368ed59319010c265718f0923057f8ff914a3b6bfd1314").unwrap(),
|
||||
);
|
||||
|
||||
let mut bf_client = blockfetch::Client::new(blockfetch);
|
||||
|
||||
let block = bf_client.fetch_single(point).unwrap();
|
||||
let block = peer.blockfetch().fetch_single(point).await.unwrap();
|
||||
|
||||
println!("downloaded block of size: {}", block.len());
|
||||
println!("{}", hex::encode(&block));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue