Bytes32
In Sway and the FuelVM, bytes32
is used to represent hashes. It holds a 256-bit (32-bytes) value.
Generating Random bytes32 Values
To generate a random bytes32
value, you can use the randomBytes
function from the fuels module:
ts
See code in contextimport { randomBytes } from 'fuels';
const bytes32: Bytes = randomBytes(32);
Converting Between Byte Arrays and Strings
You can use the hexlify
function to convert a byte array to a hex string, and the arrayify
function to convert a hex string back to a byte array:
ts
See code in contextimport { randomBytes } from 'fuels';
const bytes32: Bytes = randomBytes(32);
const bytes32String: string = hexlify(bytes32);
// safely pass a 32-byte array into arrayify
expect(arrayify(bytes32)).toEqual(arrayify(bytes32String));
// a byte32 can be safely passed into hexlify more than once
expect(bytes32String).toEqual(hexlify(bytes32String));
Working with b256 in Fuel
In Fuel, there is a special type called b256, which is similar to bytes32
. Like bytes32
, b256
is also used to represent hashes and holds a 256-bit value. You can learn more about working with b256
values in the Bits256 documentation.