智能合约将 eth 转移到地址失败

Posted

技术标签:

【中文标题】智能合约将 eth 转移到地址失败【英文标题】:Smart contract transfer eth to address failed 【发布时间】:2020-10-25 01:44:24 【问题描述】:

我正在尝试将 eth 从智能合约发送到合约所有者的地址,但没有成功。这是我的合约函数:

function ownerDebit(uint amount) public payable onlyOwner returns(bool status)
  status = owner.send(amount);
  return status;

我正在使用 NodeJS 和 Web3JS 与此合约进行交互:

contract.methods.ownerDebit(10000000000000000).call().then(function(response)
    console.log(response);
);

console.log 中的响应是“true”。

但我帐户中的 eth 保持不变。

任何建议都会有所帮助!

【问题讨论】:

【参考方案1】:

address(this) 用于获取合约的地址。

   status = address(this).transfer(owner, amount)

【讨论】:

以上是关于智能合约将 eth 转移到地址失败的主要内容,如果未能解决你的问题,请参考以下文章

智能合约bug以及修改方案

Eth,如何从智能合约中调用存款功能

如何从智能合约中转移 ERC20 代币而不转移到基本账户

我如何将 eth 值发送到在 ethers.js 中支付的特定智能合约功能?

自动将收到的以太币从一个地址转移到另一个地址

Solidity 中的函数可以调用合约中的另一个函数吗?