我正在尝试执行https://medium.com/@mvmurthy/full-stack-hello-world-voting-ethereum-dapp-tutorial-part-1-40d2d0d807c2中的步骤。
然而,区别在于我在AWS服务器上运行geth而不是链接中指定的truffle或testnet。我需要部署合同地址来尝试UI。我使用以下geth命令:geth --networkid 12312423 --port 30303 -rpc -rpcaddr "0.0.0.0" -rpcport 8080 --rpcapi "web3,db,net,personal,eth" --rpccorsdomain "*" --preload mining.js --nodiscover --maxpeers 0 --datadir=~/eth/data231 init genesis.json console
我在同一台机器的另一个屏幕上运行了Node命令。我一直走到步骤结束,我收到错误:在部署合同时超过了区块气体限制。我正在使用的genesis.json中是否有任何错误。
任何建议都会有所帮助...
genesis.json
{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"difficulty": "200000000",
"gasLimit": "2100000",
"alloc": {
"7df9a875a174b3bc565e6424a0050ebc1b2d1d82": { "balance": "300000" },
"f41c74c9ae680c1aa78f42e5647a62f353b7bdde": { "balance": "400000" }
}
}
答案 0 :(得分:0)
问题解决了。该解决方案有两个学习内容:
genesis.json中的gasLimit应该更高,如“gasLimit”:“3141592000000”。
我们首先应该在没有init的情况下启动geth。创建帐户,解锁。然后如下所示为帐户分配余额并执行git init。
即
生成帐户后,退出geth并从datatir中删除除keystore /之外的所有文件夹:
$ cd
$ rm -rf ls | grep -v keystore
更新你的genesis块json,将以下内容添加到alloc键:
“alloc”:{
“”:{
“平衡”:“10000000000000000000”
}
}