5 用自己部署的合约调用pancake购买代币,发现value没有被内部的pancake所使用,如何把eth传入到内部函数(swap)去?

这个是自己的合约:d15fd1ad527a6c9ceb4f05995193605.png

8d5b07c166b3e9a6085fd36341d0d4a.png

用自己的合约调用pancake购买代币,发现value没有被内部的pancake所使用,如何把eth传入到内部函数(swap)去?

请先 登录 后评论

最佳答案 2021-12-14 10:02

这个问题其实是如何在 Solidity 中实现,调用合约的时候发送ETH . 只要在调用函数时, 附加{value: 1eth} , 示例代码:

contract contractA {
    function blah(int x, int y) payable {}
}

contract contractB {
    function invokeContractA() { 
        contractA a = contractA(0x1234567891234567891234567891234567891234);
        uint ValueToSend = 1234;
        a.blah{value: ValueToSend}(2, 3);
    }  
}

参考文档, 外部函数调用: https://learnblockchain.cn/docs/solidity/control-structures.html?highlight=value#external-function-calls

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 1 收藏,3296 浏览
  • 林夕 提出于 2021-12-13 19:05