Crate foundry_block_explorers

Source
Expand description

§foundry-block-explorers

Bindings for Etherscan.io and other block explorer APIs.

Originally part of ethers-rs as ethers-etherscan.

Build Status Telegram chat

§Examples

use alloy_chains::Chain;
use foundry_block_explorers::Client;

async fn foo() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new(Chain::mainnet(), "<your_api_key>")?;
    // Or using environment variables
    let client = Client::new_from_env(Chain::mainnet())?;

    let address = "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413".parse()?;
    let metadata = client.contract_source_code(address).await?;
    assert_eq!(metadata.items[0].contract_name, "DAO");
    Ok(())
}

§Supported Rust Versions

Foundry will keep a rolling MSRV (minimum supported rust version) policy of at least 6 months. When increasing the MSRV, the new Rust version must have been released at least six months ago. The current MSRV is 1.65.0.

Note that the MSRV is not increased automatically, and only as part of a minor release.

§License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in these crates by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Modules§

account
block_number
blocks
contract
errors
gas
serde_helpers
source_tree
units
utils
verify

Structs§

Client
The Etherscan.io API client.
ClientBuilder
Response
The API response type

Enums§

EtherscanApiVersion
The Etherscan.io API version 1 - classic verifier, one API per chain, 2 - new multichain verifier
ResponseData

Constants§

ETHERSCAN_V2_API_BASE_URL
The URL for the etherscan V2 API without the chainid param set.