barreleye.rs

The official Rust driver for Barreleye.

Status beta Docs Github Actions Dependency Status Crates.io License

Usage

Add to Cargo.toml:

bash cargo add barreleye-client

Programmatically add a network so Barreleye can start indexing:

```rust use barreleye_client::{Barreleye, Blockchain, Env, Network};

[tokio::main]

async fn main() { // Define the client let url = "http://localhost:22775"; let apikey = Some("7f9e9182-122d-45e1-b4be-d73fc99e9bc9"); let client = Barreleye::new(url, apikey);

// 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:

```rust use barreleye_client::{Barreleye, Error, Info};

[tokio::main]

async fn main() { // Define the client let url = "http://localhost:22775"; let apikey = None; let client = Barreleye::new(url, apikey);

// 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

Apache-2.0