首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在调用另一个实体合同的方法时发出的“排除气体”信息

在调用另一个实体合同的方法时发出的“排除气体”信息
EN

Ethereum用户
提问于 2020-07-10 19:43:34
回答 1查看 1.2K关注 0票数 3

我想使用Call/DelegateCall调用另一个实体契约的方法。虽然事务看起来很成功,但我没有得到预期的结果,它显示了“虽然一个或多个错误发生了无气合同执行完成”的消息。

我对稳固代码很陌生,我使用remix在ropsten testnet上编译和部署契约。我不知道我是否犯了什么愚蠢的错误。这是我的两个合同代码:

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

contract Callee {
    uint[] public values;

    function getValue(uint initial) public view returns(uint) {
        return initial + 150;
    }
    
    function storeValue(uint value) public {
        values.push(value);
    }
    
    function getValues() public view returns(uint) {
        return values.length;
    }
}
代码语言:javascript
复制
pragma solidity ^0.4.6;

contract Caller {
    function someUnsafeAction(address addr) public {
        addr.call(bytes4(keccak256("storeValue(uint256)")), 100);
    }
}

我使用我的元掩码帐户在ropsten测试网上部署Callee合同和Caller契约,然后将Callee合同地址"0x300997B17aEC75F636Ced66570Af76c05Dd380c9“传递给Caller的someUnsafeAction方法。事务完成了,但我没有得到预期的结果,值"100“没有保存到Callee合同(https://ropsten.etherscan.io/address/0x300997b17aec75f636ced66570af76c05dd380c9)中。

这是事务(https://ropsten.etherscan.io/tx/0x625f7cac9aec9613f3e1ab81fbe06a4f57b85517e89521775cdaad2a3a656c5e)

任何帮助都是非常感谢的。谢谢

EN

回答 1

Ethereum用户

发布于 2020-07-11 14:12:28

正如Ismael所提到的,解决方案是当您的交易信任弹出元掩码窗口时,我们可以编辑(增加)那里的气体限制,以获得我们预期的结果。

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

https://ethereum.stackexchange.com/questions/84933

复制
相关文章

相似问题

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