gpt4 book ai didi

ethereum - 当我从 remix 部署合约时,geth 显示 "contract creation code storage out of gas"

转载 作者:行者123 更新时间:2023-12-05 08:07:39 26 4
gpt4 key购买 nike

我使用 geth 创建了一个专用网络。并从 remix(浏览器)部署合约。它显示以下错误。

genesis.json 就是这个。

{
"config": {
"homesteadBlock": 0
},
"nonce": "0x0000000000000042",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0x8000000",
"difficulty": "0x4000",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"alloc": {}
}

我创建了 2 个帐户并通过此代码运行网络。

geth  --identity "sampleNode" --rpc --rpcport 8545 --rpcapi "web3,eth,net,personal" --rpccorsdomain "*" --rpcaddr "0.0.0.0" --datadir "~/eth-private-net/" --nodiscover --networkid 10 --unlock 0,1  --verbosity 6

然后我部署了合约。

pragma solidity ^0.5.0;
contract SingleNumRegister {
uint storedData;
function set(uint x) public{
storedData = x;
}
function get() public view returns (uint retVal){
return storedData;
}
}

之后,它会在 geth 控制台日志中显示错误。

DEBUG[01-27|11:05:50.009] VM returned with error                   err="contract creation code storage out of gas"

我通过挖矿获得了 eth,我的私有(private)网络上的帐户有 315 个以太币,但它显示相同的错误。

> eth.getBalance(eth.accounts[0]);
315000000000000000000

问题是什么?

最佳答案

如果您使用 remix 进行部署,则会有一个名为 gas limit 的字段。如果你的 gas limit 是 3000000,那应该就足够了,当我在 remix 上部署你的合约时,它的成本要低得多。

此外,既然你说你部署在私有(private)区 block 链上,它可能与那里的天然气成本有关。尝试在 remix JavascriptVM 中部署以查看它是否有效(这在我的案例中有效)。如果它在那里有效,请尝试在您的私有(private)区 block 链上部署时增加气体限制。

关于ethereum - 当我从 remix 部署合约时,geth 显示 "contract creation code storage out of gas",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54384498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com