0

我有一个非常简单的solidity函数,仅用于将一些以太币从一个地址转移到另一个地址

function transferEtherTo(address _to) payable public {
    _to.transfer(address(this).balance);
}

在混音中,当我只是在 Javascript VM 上时,它可以正常工作

但是当我切换到注入的 web3 时,我遇到了一些意想不到的错误。

一方面,我的元掩码显示为以太币将发送到合同的地址,而不是我试图将其发送到的地址,加上元掩码中的值由于某种原因而为 0,而我试图发送我的总合约余额肯定知道是 5 醚。

在此处输入图像描述

这是我的控制台中记录的内容:

transact to SimpleDapp.transferEtherTo errored: Error: Error: [ethjs-rpc] rpc error with payload {"id":41874278090,"jsonrpc":"2.0","params":["0xf88a2b8501a13b860082786c9459a42535f42048040c3f5a1152c94af40c7169db80a45c4bade1000000000000000000000000c5fdf4076b8f3a5357c5e395ab970b5b54098fef822d46a09f632a5dbe56be62a9c245f23fa62d9fd8aee230bbda026c6d5822339d2bf9b3a01b4a248bca87bcb491f6f11a572bf158ba86459336e5b1b7eb91f1dda5fde87d"],"method":" eth_sendRawTransaction"} 错误:处理事务时出现 VM 异常:气体不足

知道为什么这在 JavacsriptVM 中工作正常而不是在注入的 web 3 中工作吗?

4

1 回答 1

0

我认为您不需要执行 address(this).balance - 只需执行 this.balance

于 2018-05-11T14:06:10.830 回答