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



我是Rust新手。我试图导入功能web3::api::eth::Eth pub fn transaction_count,但无法这样做。我有web3板条箱安装在我的车。toml文件:

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上这样做。

如何正确导入?

下面是一个完整的例子(基于此)

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(())
}

Cake令牌的交易计数为1,这不是非常有趣,但如果您愿意,您可以使用其他地址

最新更新