与合约 和断言 一样,脚本也支持可配置的常量。此功能使您可以动态调整脚本中的某些值。
在脚本中添加和设置可配置的常量非常简单。
让我们考虑以下脚本:
script;
configurable {
AMOUNT: u8 = 10,
}
fn main(inpputed_amount: u8) -> u8 {
inpputed_amount + AMOUNT
}
在此脚本中,AMOUNT
是一个具有默认值 10
的可配置常量。主函数返回 inputted_amount
和可配置常量 AMOUNT
的总和。
要更改 AMOUNT
常量的值,我们可以使用 setConfigurableConstants
方法,如以下示例所示:
const script = new Script(binHexlified, abiContents, wallet);
const configurableConstants = {
AMOUNT: 81,
};
script.setConfigurableConstants(configurableConstants);
const inpputedValue = 10;
const { value } = await script.functions.main(inpputedValue).call();
const expectedTotal = inpputedValue + configurableConstants.AMOUNT;
expect(new BN(value as number).toNumber()).toEqual(expectedTotal);
在此示例中,我们为 AMOUNT
常量设置了一个新值 81
。然后,我们调用主函数,输入值为 10
。
期望的结果是脚本将返回输入值和 AMOUNT
新值的总和。
这样,脚本中的可配置常量允许在执行过程中实现更灵活和动态的行为。