我正在使用rust-web3 crate连接以太坊节点,并通过块号(或块高度)获取关于块的信息。
use web3;
use web3::types::{BlockId, BlockNumber, U64};
# [tokio::main]
async fn main() -> web3::Result<()> {
let transport = web3::transports::Http::new(WEB3_URL)?;
let web3 = web3::Web3::new(transport);
web3.eth().block(BlockId::Number(BlockNumber::Number(U64([42]))));
Ok(())
}
有没有更简单的方法将42传递给web3.eth().block()
?
现在我使用两个枚举和U64
结构来生成一个编译器可以接受的变量。我是rust的新手,我想我遗漏了一个可以简化它的语言的重要概念。
1条答案
按热度按时间yqlxgs2m1#
这里有一个
impl From<U64> for BlockId
(源代码),因此可以稍微缩短调用: