合约内调用
通常我们会使用客户端在链下调用合约方法来实现我们的操作。如果我们希望在合约里调用其他合约的方法,就需要用到 trans 模块来实现内部调用。
例如:用户 fibostest123 定义了如下合约函数。
1 | exports.hi = name => { |
那么用户 fibostest456 就可以通过如下方式来调用 fibostest123 合约的 hi 函数。
1 | exports.hello = user => { |
用户 fibostest123 合约的 hi 函数中并没有需要验证权限的地方,所以我们可以使用 send_context_free_inline 函数来免授权调用合约方法。
1 | exports.hello = user => { |
内部调用最常用的场景是在合约内部调用 Token 合约进行转账操作。
1 | exports.helloworld = (from, to, quantity, memo) => { |
如此我们就可以通过调用 helloworld 函数来进行转账操作了。
