天然气资金不足*价格+使用geth --dev的价值

时间:2018-07-26 10:17:44

标签: ethereum solidity geth

我在部署智能合约时一直出错(使用netheruem)。错误是:用geth命令获取的天然气资金不足*价格+价值:

geth --dev --rpc --rpcport "8545" --rpcapi="db,eth,net,web3,personal,web3" console

我读到我需要调整我的genesis.json文件中的气体限制,但是我在初始化geth之前已经完成了这一步骤。这是我的genesis.json文件:

{
"config":{
   "chainId": 45,
   "homesteadBlock": 0,
   "eip155Block": 0,
   "eip158Block": 0,
   "byzantiumBlock": 12
},
"alloc" : {},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x20000",
"extraData" : "",
"gasLimit" : "0x2fefd8",
"nonce" : "0x0000000000000042",
"mixhash" : 
"0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : 
"0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}

在我的最新区块中,我的加油限额为6283185,这足以部署智能合约。我需要检查配置吗?

谢谢

1 个答案:

答案 0 :(得分:3)

您需要向正在执行交易的帐户提供资金,或者允许进行0次汽油价格交易。

要存入资金,请在创建初始区块时将分配添加到您的genesis.json中:

{
   ...
   "alloc": {
        "ACCOUNT_ADDRESS": {
            "balance": "9999999999999999999999999"
        }
    }
}

通过geth创建帐户,然后在配置中使用该地址。值以Wei为单位。

代替使用资金,您可以将汽油价格设置为0,但必须将—gasPrice设置为0来启动矿工(否则,矿工将忽略您的交易)。即使您使用0的汽油价格,仍然会受到汽油限制的限制。