Migration

將合約從測試網遷移到主網

  • January 5, 2021

將部署在測試網 (Rinkeby) 中的合約遷移到主網最安全的方法是什麼?我可以更改 truffle 項目的配置並從我的 git 儲存庫中讀取程式碼,但有沒有更好的遷移方法?例如,不回到我的鏈下回購?

要部署智能合約,您需要發送一個交易接收者設置為null,以及由合約的字節碼和一些程式碼組成的有效負載來部署合約本身。

這意味著,如果您想使用完全相同的 init 參數部署完全相同的智能合約,並且您不想回到原始的鏈下程式碼或 repo,您​​可以簡單地複制並粘貼已發送交易的有效負載並將新交易發送到另一個網路,甚至是主網,您可以選擇支持部署智能合約的錢包(即MyCrypto)。

看這個例子:

  • 首先,我使用 remix 和 MetaMask在Goerli上創建了一個智能合約
  • 然後我從Etherscan複製了有效載荷(輸入數據)
  • 然後我使用MyCrypto部署合約將相同的有效負載發送到Rinkeby
  • 結果是完全相同的契約

我建議您首先在 Ropsten 測試網上進行部署和測試,因為它使用工作證明共識和主網一樣,並且是最像主網的測試網。

如果您使用 truffle 將合約部署到測試網,那麼一旦您進行了適當的測試,您應該使用與 truffle 相同的流程將您的合約部署到主網。

有關如何配置以部署到不同網路的資訊,請參閱 truffle 文件。

truffle migrate --network live

https://www.trufflesuite.com/docs/truffle/reference/configuration#networks

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