如何在Rust中正确导入web3::api::eth::Eth pub fn transaction_count?

yptwkmov  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(132)

我是Rust的新手。我尝试导入web3::api::eth::Eth pub fn transaction_count函数,但无法导入。我在Carg.toml文件中安装了web3 crate:

web3 = "0.18.0"

自悬停在transaction_count上方函数显示:

pub fn transaction_count(&self, address: Address, block: Option<BlockNumber>) -> CallFuture<U256, T::Out>

因此,我尝试这样导入它:

use web3::api::eth::Eth::{self, transaction_count};

但是我不能在eth上做Cmd + click,但是我可以在api上做。
如何正确导入?

1zmg4dgp

1zmg4dgp1#

下面是一个完整的示例(基于this

use web3::{Web3, transports};

#[tokio::main]
async fn main() -> web3::Result<()> {
    // bsc node
    let transport = transports::Http::new("https://bsc-dataseed.binance.org/")?;
    let web3 = Web3::new(transport);

    println!("Calling accounts.");
    let mut accounts = web3.eth().accounts().await?;
    println!("Accounts: {:?}", accounts);
    // Cake token
    accounts.push("0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82".parse().unwrap());

    println!("Calling transaction count");
    let count = web3.eth().transaction_count(accounts[0], None).await?;
    println!("Transaction count: {:?}", count);
    Ok(())
}

蛋糕令牌的交易计数为1,这不是很有趣,但如果你愿意,你可以使用其他地址

相关问题