Contract-Deployment
使用 truffle/geth 將功能正常的合約 (testrpc) 部署到 ropsten
我使用 truffle 和 testrpc 開發了一個智能合約,可以在GitHub 上找到。
此時我想將它部署到
ropsten
,但我不知道如何做到這一點。在諮詢了這個問題/答案之後,我嘗試為我的智能合約設計一個部署,如下所示:
module.exports = { networks: { localhost: { host: "localhost", port: 8546, // for ropsten expose this one //port: 8545, // expose this one for testrpc network_id: "*" // Match any network id }, // for ropsten uncomment all of this // for testrpc comment it all out ropsten: { host: "localhost", port: 8545, network_id: "3" } } };
這是我嘗試執行部署的方式:
> truffle migrate --network ropsten Using network 'ropsten'. Running migration: 1_initial_migration.js Deploying Migrations... ... undefined Error encountered, bailing. Network state unknown. Review successful transactions manually. Error: exceeds block gas limit
這是完整終端輸出的螢幕截圖:
我的問題是,我怎樣才能將這個簡單的契約部署到
ropsten
?編輯:
發現這個:
但這似乎沒有幫助,即仍然出現錯誤:
您需要注意的錯誤消息部分是:
Error: exceeds block gas limit
你可以通過修改你
truffle.js
來包含這樣的行來解決這個問題gas: 500000
:module.exports = { networks: { localhost: { host: "localhost", port: 8546, // for ropsten expose this one //port: 8545, // expose this one for testrpc network_id: "*" // Match any network id }, ropsten: { host: "localhost", port: 8545, network_id: "3", gas: 500000 } } };
然後像這樣部署它:
truffle migrate --network ropsten --reset
對我來說這似乎有效,正如你在這裡看到的: