簡體   English   中英

固體遷移合同空轉與實際

[英]Solidity migrate contract dry run vs for real

簡介:使用松露通過infura部署到rinkeby。

我剛剛進行了眾籌,似乎成功了。 但是,松露並未顯示給我令人擔憂的合同地址。 我在頂部注意到了Migrations dry-run (simulation) ,這使我想知道是否未部署它,只是對其進行了測試……這是問題嗎? 我如何才能真正部署它?

好的,因為這很難調試,我有一個可以幫助其他人的答案。

  1. 使用最新的邊緣松露,通過警告我被告知使用truffle-hdwallet-provider1.0.0-web3one.0版本
  2. 一旦安裝了該軟件,就可以通過模擬。 在遷移到rinkeby /實時網絡時,將在實際部署之前嘗試進行模擬。 這似乎沒有記錄在案,並且在完成模擬后由於松露懸掛,這真是令人費解。
  3. 盡管現在看起來很明顯,但是如果有任何與時間相關的代碼(例如,開始眾籌的時間),則需要在幾分鍾后進行部署。 使用ganache時不是很明顯-我有20秒的時間,但是到了可以部署的時間,那已經是過去了,這導致我的合同被撤銷

我在新的以太坊工具1.0版本和松露測試版方面取得了不錯的進展,如果我有幫助,請大喊大叫!

請嘗試將其放入“網絡”部分,選項skipDryRun: true

module.exports = {

  networks: {
    ...

    ropsten:{
     provider: () => new HDWalletProvider(mnemonics, endpoint),
     network_id: 3,
     gas: 5000000,
     confirmation: 2, 
     timeoutBlocks: 200,
     skipDryRun: true
    },
    ...
  }
}

您可以使用Etherlime部署智能合約。 實際上,您可以使用它代替松露。 它更簡單,並且包含更多信息。 我認為是更好的工具。 它基於ethersjs,比web3js更好。 這是文檔的鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM