我在main上运行truffle migrate
。也使用geth。
我最初在truffle.js中留下了天然气价格和天然气,但现在它看起来像这样:
live: {
network_id: 1,
host: "127.0.0.1",
port: 8545,
from: "3984bc76cb775d7866d1cd55c4f49e3d13d411d4",
gas: 40000,
gasPrice: 22000000000 // Specified in Wei
}
我似乎有这样一种情况:我要么有太多的气体,要么不够,没有适当的可能性。
< {
< "jsonrpc": "2.0",
< "id": 2,
< "error": {
< "code": -32000,
< "message": "insufficient funds for gas * price + value"
< }
< }
Error encountered, bailing. Network state unknown. Review successful transactions manually.
Error: insufficient funds for gas * price + value
...或...
< {
< "jsonrpc": "2.0",
< "id": 2,
< "error": {
< "code": -32000,
< "message": "exceeds block gas limit"
< }
< }
Error encountered, bailing. Network state unknown. Review successful transactions manually.
Error: exceeds block gas limit
当我在控制台中运行web3.eth.getBlock("latest")
时,我得到gasLimit: 5000
。当我将燃气设置为5000时,我收到的资金不足。当我将其设置为5001时,我得到“超过阻塞气体限制”。
所以,所有这些似乎告诉我gasLimit应设置为5000或5000,但在这种情况下,我没有足够的资金来运行交易。我们看看......
我有:
天然气:5000, gasPrice:22000000000 //在Wei中指定5000 * 22000000000 = 1.1 * 10 ^ 14 = 110,000,000,000,000魏 1.1 * 10 ^ 14/10 ^ 18(1以太的Wei数)= 1.1 * 10 ^ -4 ETH
以下是我正在使用的帐户:https://etherscan.io/address/0x3984bc76cb775d7866d1cd55c4f49e3d13d411d4。如你所见,它有资金。写作时0.01738465以太,确切地说。
答案 0 :(得分:2)
如果您在测试网络上,在testrpc上,选项-l或--gasLimit可让您设置可用气体。
在geth上,这篇文章应该有所帮助:https://ethereum.stackexchange.com/questions/13730/how-to-increase-gas-limit-in-block-using-geth
答案 1 :(得分:1)
第二天随机开始工作。我注意到的一件事是,当我昨天在松露控制台中运行web3.eth.getBlock("latest")
时,我得到gasLimit: 5000
,这比网络在别处报告的数字要低一些。今天我得到了gasLimit: 6706583
。我真的不确定是什么导致了天然气限制在当地增加,但不管它似乎已经解决了这个问题。
答案 2 :(得分:1)
我也面临类似的问题。我使用的松露版本是Truffle v4.0.1(核心:4.0.1)。如果你降级到测试版,一切都会正常工作。
你很高兴。这应该可以解决问题。
答案 3 :(得分:1)
我遇到了同样的问题,这就是我的工作方式: 在松露控制台中,找出最后一个区块的气体限制。在truffle.js中使用该数字。在我的情况下气:4700036工作。
.form-inner {
width: 60%;
}
4700036
答案 4 :(得分:0)
增加松露中的气体限制。
which truffle
获取松露的位置
在代码编辑器中打开。
code /home/user/.nvm/versions/node/v8.11.1/bin/truffle
目前限制已设定为6721975,所以我只是搜寻这个数字
crtl+f 6721975
更改为8000000。
现在位于truffle develop
web3.eth.getBlock('latest') // 8000000