Crates.io | barreleye-client |
lib.rs | barreleye-client |
version | 0.0.1 |
source | src |
created_at | 2023-01-17 17:38:18.989166 |
updated_at | 2023-01-17 17:38:18.989166 |
description | Barreleye driver for Rust. |
homepage | https://barreleye.com |
repository | https://github.com/barreleye/barreleye.rs |
max_upload_size | |
id | 761132 |
size | 67,546 |
The official Rust driver for Barreleye.
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.