合约内调用
通常我们会使用客户端在链下调用合约方法来实现我们的操作。如果我们希望在合约里调用其他合约的方法,就需要用到 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
函数来进行转账操作了。