Blocks
Fetch Ethereum block data for blocks 17000000
to 17000010
.
Code
Rust
use futures::StreamExt;
use std::{collections::HashSet, sync::Arc};
use pangea_client::{
core::types::ChainId, query::Bound,
ClientBuilder, Format, WsProvider,
provider::ChainProvider, requests::blocks::GetBlocksRequest,
};
#[tokio::main]
async fn main() {
dotenvy::dotenv_override().ok();
let client = match ClientBuilder::default()
.endpoint("app.pangea.foundation")
.build::<WsProvider>()
.await
{
Ok(client) => Arc::new(client),
Err(e) => {
eprintln!("Client failed to initialize:\n{e}");
return;
}
};
{
let request = GetBlocksRequest {
chains: HashSet::from([ChainId::ETH]),
from_block: Bound::Exact(17000000),
to_block: Bound::Exact(17000010),
..Default::default()
};
let stream = match client
.get_blocks_by_format(request, Format::JsonStream, false)
.await
{
Ok(stream) => stream,
Err(e) => {
eprintln!("Request failed\n{e}");
return;
}
};
futures::pin_mut!(stream);
while let Some(chunk) = stream.next().await {
let chunk = String::from_utf8(chunk.unwrap()).unwrap();
println!("{chunk}");
}
}
}
Response
[
...
{
"chain": 1,
"block_number": "0x103664a",
"hash": "0x5bad63a542b4deebf2d8ba93bf83b98a96ac4693640dfc3c2ccec38c3adc2bf2",
"parent_hash": "0xe284afd9d7793371fefa661de0cfe9e7eafd47c9634834d384dac97dfefc3cbf",
"uncles_hash": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"miner": "0x6d2e03b7effeae98bd302a9f836d0d6ab0002766",
"state_root": "0x61e2f2ee1df07942e84f94fafb826fddff381e1a82a8652d01999cdfd1894be9",
"transactions_root": "0xcdfc28cae2dc1b46abca4a4da51c31e98af2e570ee42b2ad5926074162157ec3",
"receipts_root": "0xb9efc1da0504fce1cb5149a678088563fcd16cf82b29df0e5568f39820d53460",
"gas_used": "0xe27ff1",
"gas_limit": "0x1c9c380",
"base_fee_per_gas": "0x56767072e",
"extra_data": "0x6279206275696c64657230783639",
"logs_bloom": "0x09259370d316ab0c5c8406758195932900a878131598e3646645ada6b6e01bb656a5137a926a980feddb3b036a860b9e163b34adabd0ea97675173c995fe2081d712c0004fb028beabb3f74f4832b57ed30747b1906d3a61d01064cdc8f90c41b7bb0ec9be5aa23a0e8dd9c01b84a86b9137b54e0678f6a01e1a5b7213af81ce734a5453e665785015d369088586913bb70785b7f9ac25a8437983d80313bccb8aed91c33785795e0607ceffdb5aee541e006a9560a6a973c3400b1ac121c95f7618f08ad96082d1a0c0e8ab762b9cd2d74ce376848a7e11026478a288bcec8132fcabbf8d10c084768c909d8d92688147128009392a4dfa00def95b80979c90",
"timestamp": 1680912011,
"difficulty": "0x0",
"total_difficulty": "0xc70d815d562d3cfa955",
"size": "0x195ea",
"mix_hash": "0xe59ae8bea3febedcfb6c7cadcefe9b21d562951988b114a87f710702c3a004fc",
"nonce": "0x0000000000000000"
}
]
Query Parameters
chains
: Filters the data by specific blockchain networks.from_block
: Filters the data by a startingblock_number
.to_block
: Filters the data by an endingblock_number
.