0

我正在一步一步地发现区块链世界,但我面临着一个我无法解决的问题。

我正在使用 Solidity 文档中的这个简单的智能合约:

pragma solidity >=0.4.0 <0.7.0;

contract SimpleStorage {
    uint storedData;

    function set(uint x) public {
        storedData = x;
    }

    function get() public view returns (uint) {
        return storedData;
    }
}

我用 Remix 编译代码,当我在 JavascriptVM 上部署它时,一切正常,我可以更改存储的值。

但是,当我将它部署在私有 geth 节点上(使用 web3deploy)时,合约被成功挖掘,但是当我尝试使用 set 函数时( storage.set(4,{from:eth.accounts[0]}))它即使帐户有足够的资金,也总是返回“所需的气体超过配额或总是失败的交易”。

我觉得我错过了一些重要的东西,但我无法弄清楚。有人帮助将不胜感激!谢谢!

4

0 回答 0