首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当试图转移以太时,固体“脱离气体”的例外

当试图转移以太时,固体“脱离气体”的例外
EN

Stack Overflow用户
提问于 2019-01-08 09:22:39
回答 2查看 965关注 0票数 1

我试着把以太从合同转到一个地址,但是它给出了一个错误,那就是交易已经用完了。我想这是个小问题,但我找不到。我必须特别使用SolityVersion0.4.24。

来自Remix的警告

来自MetaMask的错误

我尝试过不同的方法,比如:

代码语言:javascript
复制
address.transfer(amount);
address.send(amount);
address.call.value(amount)( );

所有的方法都会给出同样的气体例外。而发送和调用方法也会给出一个警告,它已经过时,我应该使用传输方法。

我也试图调整气体,但它没有工作,我也尝试了所需的2,300的转让名单上的文档

守则:

代码语言:javascript
复制
pragma solidity ^0.4.24;

contract TestContract {        
    function payAddress(address _address) external payable {
         _address.transfer(msg.value);
    }
}

如果问题是合同没有任何可转移的以太,那么它能使用函数调用发送的以太吗?还是问题出在别的地方?

感谢您的阅读。

编辑:

我试着把以太派到我的合同上,这很管用,我现在已经签了合同,但是这个函数仍然给出了和以前一样的错误。所以问题出在别的地方。

当前代码:

代码语言:javascript
复制
pragma solidity ^0.4.24;

contract TestContract {

    function() external payable { }

    function payContract() public payable {}

    function paySomeone(address _address, uint256 _amount) external {
         _address.transfer(_amount);
    }

    function getBalance() public view returns (uint256) {
         return address(this).balance;
   }

}

合同的余额

我使用的参数

相同的MetaMask错误

正如你在这里看到的,合同的余额是10维,但是当我试图发送9维时,它仍然给出了同样的气体错误。我还从Remix那里得到了和以前一样的错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-09 08:15:13

我还在Stack exchange上发布了这个问题,并在那里得到了答案。问题是我的假名版本。我转到了罗布斯滕测试网络,它成功了。我将链接post 这里

票数 2
EN

Stack Overflow用户

发布于 2019-01-08 12:36:10

是。为了将以太从合同发送到另一个地址,首先必须将一些以太发送到合同地址。看看

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54088699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档