Solidity

在私有節點上部署合約需要永遠

  • April 16, 2019

我正在嘗試在私有 geth 節點上部署契約。我已經探勘了足夠多的賬戶餘額並創建了 DAG。

這是節點的 netstats:

在此處輸入圖像描述

現在,合約開始部署,但花費了太多時間。我在這條消息上停留了 20 多分鐘:

Writing artifacts to ./build/contracts

Using network 'development'.

Running migration: 1_initial_migration.js
 Deploying Migrations...
 ... 0x68c7b0fcefaf58e20607bfebe8e31bf2d490fa4474478f0ecd96e540c34d58d3

testrpc部署需要幾秒鐘。我可以以任何方式使此部署快速進行嗎?我正在bootstrap節點上部署。即使它bootstrap在圖像中顯示為離線,它也會在一秒鐘內恢復。

(根據答案編輯)松露:

module.exports = {
 networks: {
   development: {
     host: "172.21.0.6",
     port: 8545,
     // Match any network id
     network_id: "*",
     from: "",
     gas: 4710000
   },
   ropsten: {
     host: "localhost",
     port: 8545,
     network_id: "3",
     from: ""
   }
 }
};

您需要在 ’truffle.js’ 文件中指定您願意花費的 gas 量,最大值為 4710000。

將行:添加gas: 4710000到您的網路配置中。

如果你得到exceeds block gas limit合約的總規模,那麼每個區塊的純部署就太大了。

考慮到所有評論,您似乎沒有在部署時進行探勘。每筆交易都需要被探勘。所以開始挖礦,就可以了。

引用自:https://ethereum.stackexchange.com/questions/25769