下面是如何在常见的 Sway 程序输入和输出类型之间进行转换的示例:
地址
地址输入
要将 地址
作为 Sway 程序的输入参数传递,可以按以下方式定义输入:
// #import { Address };
const address = Address.fromRandom();
const addressInput = { bits: address.toB256() };
地址输出
对于返回 地址
类型的 Sway 程序,您可以将返回值转换为 fuels
中的 地址
类型,如下所示:
// #import { Address };
const addressOutput = callResponse.value;
const addressFromOutput: Address = Address.fromB256(addressOutput.bits);
合约标识
合约标识输入
要将 合约标识
作为 Sway 程序的输入参数传递,可以按以下方式定义输入:
const contractId = '0x7296ff960b5eb86b5f79aa587d7ebe1bae147c7cac046a16d062fbd7f3a753ec';
const contractIdInput = { bits: contractId.toString() };
合约标识输出
对于返回 合约标识
类型的 Sway 程序,您可以将返回值转换为 字符串
,如下所示:
const contractIdOutput = callResponse.value;
const contractIdFromOutput: string = contractIdOutput.bits;
身份
身份输入
要将 身份
作为 Sway 程序的输入参数传递,可以按以下方式定义输入:
对于地址:
// #import { Address };
const address = Address.fromRandom();
const addressInput = { bits: address.toB256() };
const addressIdentityInput = { Address: addressInput };
对于合约:
const contractId = '0x7296ff960b5eb86b5f79aa587d7ebe1bae147c7cac046a16d062fbd7f3a753ec';
const contractIdInput = { bits: contractId.toString() };
const contractIdentityInput = { ContractId: contractIdInput };
身份输出
对于返回 身份
类型的 Sway 程序,您可以将返回值转换为 地址
或 字符串
,如下所示:
对于地址:
// #import { Address };
const identityFromOutput1 = callResponse1.value;
const addressStringFromOutput = identityFromOutput1.Address.bits;
const addressFromOutput: Address = Address.fromB256(addressStringFromOutput);
对于合约:
const identityFromOutput2 = callResponse2.value;
const contractIdFromOutput: string = identityFromOutput2.ContractId.bits;
资产标识
资产标识输入
要将 资产标识
作为 Sway 程序的输入参数传递,可以按以下方式定义输入:
const assetId = '0x0cfabde7bbe58d253cf3103d8f55d26987b3dc4691205b9299ac6826c613a2e2';
const assetIdInput = { bits: assetId };
资产标识输出
对于返回 资产标识
类型的 Sway 程序,您可以将返回值转换为 字符串
,如下所示:
const assetIdOutput = callResponse.value;
const assetIdFromOutput: string = assetIdOutput.bits;