我在部署智能合约时一直出错(使用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,这足以部署智能合约。我需要检查配置吗?
谢谢
答案 0 :(得分:3)
您需要向正在执行交易的帐户提供资金,或者允许进行0次汽油价格交易。
要存入资金,请在创建初始区块时将分配添加到您的genesis.json中:
{
...
"alloc": {
"ACCOUNT_ADDRESS": {
"balance": "9999999999999999999999999"
}
}
}
通过geth
创建帐户,然后在配置中使用该地址。值以Wei为单位。
代替使用资金,您可以将汽油价格设置为0,但必须将—gasPrice
设置为0来启动矿工(否则,矿工将忽略您的交易)。即使您使用0的汽油价格,仍然会受到汽油限制的限制。