0

我的智能合约中有一个功能如下:

function transferToaddress(address payable addressToSend) public payable{
    addressToSend.transfer(0.5 ether);
}

从我的前端,我按如下方式调用上述函数:

var response = await this.contract.transferToaddress(vm.userAccountAddress,{
   from: vm.userAccountAddress,
   gas: vm.gas
})

交易失败。我的合同有一些余额。单击按钮后,我希望将一些以太币(在本例中为 0.5)从我的智能合约转移到传递给函数的地址。知道我在做什么错吗?

4

2 回答 2

0
var response = await this.contract.transferToaddress(vm.userAccountAddress)
.send({ from: vm.userAccountAddress, gas: vm.gas })

您错过了发送关键字

于 2021-01-18T10:07:52.367 回答
0

由于用户正在获得以太币并且它不提供以太币,因此不应支付合同。

function transferToaddress(address payable addressToSend) public{
    addressToSend.transfer(0.5 ether);
}

var response = await this.contract.transferToaddress(vm.userAccountAddress)
    .send({ from: vm.userAccountAddress, gas: vm.gas })
于 2021-01-19T05:25:55.357 回答