Ethereum 无法运行truffle@2.1.2迁移——网络直播&引用;“超过块气限值”;
我正在使用truffle@2.1.2要针对Ethereum 无法运行truffle@2.1.2迁移——网络直播&引用;“超过块气限值”;,ethereum,truffle,consensys-truffle,parity-io,Ethereum,Truffle,Consensys Truffle,Parity Io,我正在使用truffle@2.1.2要针对本地主机部署智能合约:8545geth@1.5.9-稳定的rpc,使用以太资助的帐户,已使用geth控制台上的personal.unlockAccount解锁 我还通过RPC对远程奇偶校验节点进行了同样的尝试,但这是我一直坚持使用的最新版本 truffle.js module.exports = { build: { "index.html": "index.html", "app.js": [ "javascripts/
本地主机部署智能合约:8545
geth@1.5.9-稳定的
rpc,使用以太资助的帐户,已使用geth控制台上的personal.unlockAccount解锁
我还通过RPC对远程奇偶校验节点进行了同样的尝试,但这是我一直坚持使用的最新版本
truffle.js
module.exports = {
build: {
"index.html": "index.html",
"app.js": [
"javascripts/app.js"
],
"app.css": [
"stylesheets/app.css"
],
"images/": "images/"
},
rpc: {
host: "localhost",
port: 8545
},
networks: {
"ropsten": {
network_id: 3,
port: 8548, // ssh tunnelled to AWS geth/parity node localhost:8545
from: "0x4f000Bcf4641E2fDcE85BF26A694b053996850D4"
},
"live": {
network_id: 1,
port: 8545,
from: "0x00269400181f1B379784BD8cDF786bb20e91Bdef",
gas: 4612388,
gasPrice: 2776297000 // taken from Parity startup log message "Updated conversion rate to Ξ1 = US$42.88 (2776297000 wei/gas)"
}
}
};
块菌迁移——网络直播
Running migration: 1_initial_migration.js
Deploying Migrations...
Error encountered, bailing. Network state unknown. Review successful transactions manually.
Error: Exceeds block gas limit
at Object.module.exports.InvalidResponse (/home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/ether-pudding/node_modules/web3/lib/web3/errors.js:35:16)
at /home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/ether-pudding/node_modules/web3/lib/web3/requestmanager.js:86:36
at request.onreadystatechange (/home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/web3/lib/web3/httpprovider.js:114:13)
at dispatchEvent (/home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:591:25)
at setState (/home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:610:14)
at IncomingMessage.<anonymous> (/home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:447:13)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:926:12)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickDomainCallback (internal/process/next_tick.js:122:9)
运行迁移:1_initial_migration.js
正在部署迁移。。。
遇到错误,正在清除。网络状态未知。手动查看成功的交易记录。
错误:超过块气体限制
在Object.module.exports.InvalidResponse(/home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/ether pudding/node_modules/web3/lib/web3/errors.js:35:16)
在/home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/ether pudding/node_modules/web3/lib/web3/requestmanager.js:86:36
应请求.onreadystatechange(/home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/web3/lib/web3/httpprovider.js:114:13)
在dispatchEvent(/home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/xmlhttprequest/lib/xmlhttprequest.js:591:25)
在setState(/home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/xmlhttprequest/lib/xmlhttprequest.js:610:14)
在收到消息时。(/home/ubuntu/.nvm/versions/node/v6.2.1/lib/node_modules/truffle/node_modules/xmlhttprequest/lib/xmlhttprequest.js:447:13)
在emitNone(events.js:91:20)
在IncomingMessage.emit(events.js:185:7)
在endReadableNT(_stream_readable.js:926:12)
at _combinedTickCallback(内部/流程/下一步_tick.js:74:11)
在进程中。_tickDomainCallback(internal/process/next_tick.js:122:9)
我试过调整gas和gasPrice,但找不到有任何影响的值
我该如何解决这个问题,或者我应该研究其他合同部署方法吗?
问候。我只需在网络配置中设置
gas:3000000
就可以解决这个问题
"live": {
network_id: 1,
port: 8545,
from: "0x00269400181f1B379784BD8cDF786bb20e91Bdef",
gas: 3000000
}
运行迁移大约需要0.5 ETH,并且需要几分钟。我通过在调用truffle时指示网络id来解决同样的问题,如下所示:
truffle migrate --network live
您应该使用解锁的帐户修改truffle.js中的“from”标记 在我的例子中,问题是由用户的空余额引起的 因此,请使用以下功能检查您的余额:
function checkAllBalances() {
var totalBal = 0;
for (var acctNum in eth.accounts) {
var acct = eth.accounts[acctNum];
var acctBal = web3.fromWei(eth.getBalance(acct), "ether");
totalBal += parseFloat(acctBal);
console.log(" eth.accounts[" + acctNum + "]: \t" + acct + " \tbalance: " + acctBal + " ether");
}
console.log(" Total balance: " + totalBal + " ether");
};
checkAllBalances();
如果余额为0,则挖掘一些块或编辑genesis文件
简单解决方案::在truffle.js中添加gas:500000,(不要忘记在最后添加逗号)
module.exports = {
build: {
"index.html": "index.html",
"app.js": [
"javascripts/app.js"
],
"app.css": [
"stylesheets/app.css"
],
"images/": "images/"
},
rpc: {
host: "localhost",
port: 8545
},
networks: {
"ropsten": {
network_id: 3,
port: 8548, // ssh tunnelled to AWS geth/parity node localhost:8545
from: "0x4f000Bcf4641E2fDcE85BF26A694b053996850D4"
},
"live": {
network_id: 1,
port: 8545,
from: "0x00269400181f1B379784BD8cDF786bb20e91Bdef",
gas: 4612388,
gasPrice: 2776297000 // taken from Parity startup log message "Updated conversion rate to Ξ1 = US$42.88 (2776297000 wei/gas)"
}
}
};
在问题中,我解释说,我已经在做你的两个建议,但仍然存在问题。实际上,gas前面需要一个逗号(前一行“network…”的末尾)。