⌘K

EVM Address

Icon LinkEvmAddress

在 Rust SDK 中,以太坊虚拟机(EVM)地址可以用 EvmAddress 类型表示。其定义与 Sway 标准库中具有相同名称的类型匹配,并在与合约交互时相应地进行转换:

pub struct EvmAddress {
    // An evm address is only 20 bytes, the first 12 bytes should be set to 0
    value: Bits256,
}

以下是一个示例:

let b256 = Bits256::from_hex_str(
    "0x1616060606060606060606060606060606060606060606060606060606060606",
)?;
let evm_address = EvmAddress::from(b256);
 
let call_handler = contract_instance
    .methods()
    .evm_address_as_input(evm_address);
Icon InfoCircle

注意: 当从 Bits256 创建 EvmAddress 时,前 12 字节将被清除,因为 EVM 地址只有 20 字节长。