使用 geth --dev 的 gas * price + value 资金不足

insufficient funds for gas * price + value using geth --dev

我在部署智能合约(使用 netheruem)时总是出错。错误是:gas 资金不足 * 价格 + 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"
}

我最新区块的 gas limit 是 6283185,这应该足以部署智能合约。我需要检查配置吗?

谢谢

您需要向正在执行交易的账户提供资金,或者允许 0 gas price 交易。

要为帐户注资,请在创建初始块时将分配添加到您的 genesis.json:

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

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

代替使用资金,您可以使用设置为 0 的 gas 价格,但您必须在 —gasPrice 设置为 0 的情况下启动您的矿工(否则,您的矿工将忽略您的交易)。即使你使用 0 gas 价格,你仍然有 gas limit 限制。