【问题标题】:How to call low-level receive() function from ethers front end?如何从以太前端调用低级 receive() 函数?
【发布时间】:2022-12-18 00:28:51
【问题描述】:

我有一个 solidity 智能合约接收函数,它是:

    receive() payable external onlyOwner() {
        uint256 share = msg.value / recipients.length; 

        for(uint i=0; i < recipients.length; i++){
            recipients[i].transfer(share);
        }    
        emit TransferReceived(msg.sender, msg.value);
    }    

我可以像这样从混音中调用它:

我如何在使用 msg.value 发送一些以太币的同时使用以太币从我的反应前端调用它?

【问题讨论】:

  • 你用 ethers.js 尝试了什么?你能分享代码吗?我认为只需制作合同接口,然后调用接收功能即可。 contract.receive({value: YOUR_ETH_WITH_BIGNUMBER_AND_DECIMAL})

标签: reactjs ethereum solidity smartcontracts ethers.js


【解决方案1】:

我认为您不能按需调用 receive 函数。每次您的合约收到以太币时,它都会自动调用。这就是为什么它不能有 return 声明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 2022-06-19
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    相关资源
    最近更新 更多