Skip to content

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
import { randomBytes } from 'fuels';

const bytes32: Bytes = randomBytes(32);
See code in context

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
import { 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));
See code in context

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.