Bits256
在 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]);