⌘K

Icon LinkBits256

在 Fuel 中,称为 b256 的类型表示哈希并保存一个 256 位值。Rust SDK 将 b256 表示为 Bits256(value),其中 value[u8; 32]。如果您的合约方法接受 b256 作为输入,则在从 SDK 调用时必须传递 Bits256([u8; 32])

下面是一个示例:

let b256 = Bits256([1; 32]);
 
let call_handler = contract_instance.methods().b256_as_input(b256);

如果您有一个十六进制值作为字符串,并希望将其转换为 Bits256,可以使用 from_hex_str 来实现:

let hex_str = "0101010101010101010101010101010101010101010101010101010101010101";
 
let bits256 = Bits256::from_hex_str(hex_str)?;
 
assert_eq!(bits256.0, [1u8; 32]);
 
// With the `0x0` prefix
let hex_str = "0x0101010101010101010101010101010101010101010101010101010101010101";
 
let bits256 = Bits256::from_hex_str(hex_str)?;
 
assert_eq!(bits256.0, [1u8; 32]);