1 unstable release
0.0.1 | Jan 17, 2023 |
---|
#273 in #env
20KB
470 lines
barreleye.rs
The official Rust driver for Barreleye.
Usage
Add to Cargo.toml
:
cargo add barreleye-client
Programmatically add a network so Barreleye can start indexing:
use barreleye_client::{Barreleye, Blockchain, Env, Network};
#[tokio::main]
async fn main() {
// Define the client
let url = "http://localhost:22775";
let api_key = Some("7f9e9182-122d-45e1-b4be-d73fc99e9bc9");
let client = Barreleye::new(url, api_key);
// Create a new network
let rpc_endpoint = "http://127.0.0.1:8545";
let network = Network::create(
&client,
"Ethereum", // name
"Ethereum", // tag
Env::Mainnet, // env
Blockchain::Evm, // blockchain
1, // chain id
12_000, // block time in milliseconds
vec![rpc_endpoint], // rpc endpoints
100, // rate limiter (requests per second)
)
.await;
println!("{:?}", network);
}
Get info about an address:
use barreleye_client::{Barreleye, Error, Info};
#[tokio::main]
async fn main() {
// Define the client
let url = "http://localhost:22775";
let api_key = None;
let client = Barreleye::new(url, api_key);
// Get info about the address
match Info::get(&client, "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa").await {
Ok(info) => println!("{:?}", info),
Err(Error::Unavailable) => println!("Is Barreleye server running?"),
Err(e) => println!("Error: {e}"),
}
}
Check out more examples.
License
Dependencies
~8–20MB
~277K SLoC