簡體   English   中英

使用 web3 從智能合約中提取以太幣到特定賬戶

[英]Withdrawing ether from smart contract to a specific account using web3

我的智能合約中有一個功能如下:

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)從我的智能合約轉移到傳遞給函數的地址。 知道我做錯了什么嗎?

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

您錯過了發送關鍵字

合同不應支付,因為用戶正在獲得以太而它沒有提供以太。

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 })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM