EOSIO v2.1.0 动作返回值
昨晚期待已久的2.1.0 rc 版本终于发版了,
https://github.com/EOSIO/eos/releases/tag/v2.1.0-rc1
新的协议功能:ACTION_RETURN_VALUE。
https://github.com/EOSIO/eos/pull/8327
激活后,此功能提供了一种方法,该方法可以将返回的值在操作中的块头中严格落实到外部进程中,而不必依赖get_table或通过print语句使用调试控制台。这使智能合约开发人员能够直接处理操作的返回值。进一步简化智能合约开发流程。一个例子可以在这里看到。
演示例子
合约代码
[[eosio::action]]
int sum(int valueA, int valueB) {
return valueA + valueB; // 合约返回结果
}
前端推送完交易后,直接获取返回值
const transactionResult = await api.transact({
actions: [{
account: 'returnvalue',
name: 'sum',
authorization: [{
actor: 'returnvalue',
permission: 'active',
}],
data: {
valueA: numbers.first,
valueB: numbers.second
}
}]
}, {
blocksBehind: 3,
expireSeconds: 30
}) as any
setResult(transactionResult.processed.action_traces[0].return_value_data) // 直接获取返回值
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »