pallas/pallas-blockfetch/examples/client.rs
2021-12-09 07:03:13 -03:00

46 lines
1.4 KiB
Rust

use net2::TcpStreamExt;
use pallas_machines::primitives::Point;
use std::net::TcpStream;
use pallas_blockfetch::{BatchClient, NoopObserver};
use pallas_handshake::{
n2n::{Client, VersionTable},
MAINNET_MAGIC,
};
use pallas_machines::run_agent;
use pallas_multiplexer::Multiplexer;
fn main() {
env_logger::init();
//let bearer = TcpStream::connect("localhost:6000").unwrap();
let bearer = TcpStream::connect("relays-new.cardano-mainnet.iohk.io:3001").unwrap();
bearer.set_nodelay(true).unwrap();
bearer.set_keepalive_ms(Some(30_000u32)).unwrap();
let mut muxer = Multiplexer::setup(bearer, &vec![0, 3]).unwrap();
let mut hs_channel = muxer.use_channel(0);
let versions = VersionTable::v4_and_above(MAINNET_MAGIC);
let last = run_agent(Client::initial(versions), &mut hs_channel).unwrap();
println!("{:?}", last);
let range = (
Point(
43847831u64,
hex::decode("15b9eeee849dd6386d3770b0745e0450190f7560e5159b1b3ab13b14b2684a45")
.unwrap(),
),
Point(
43847831u64,
hex::decode("15b9eeee849dd6386d3770b0745e0450190f7560e5159b1b3ab13b14b2684a45")
.unwrap(),
),
);
let mut bf_channel = muxer.use_channel(3);
let bf = BatchClient::initial(range, NoopObserver {});
let bf_last = run_agent(bf, &mut bf_channel);
println!("{:?}", bf_last);
}