Testnets

如何在主網上測試時間相關的合約?

  • November 16, 2018

在 Ganache 中,我evm_mine用來模擬時間的流逝。

假設區塊時間足夠準確,在主網上或測試網上測試一些合約的最佳實踐是什麼,這些合約依賴於區塊數進行各種計算?

是否應該啟動一個truffle test程序,並且當一個依賴於時間的測試被命中時,只執行一個while指令並等待生成塊號?還是應該使用Oraclize之類的東西?

沒有辦法調整主網上的時間。如果您嘗試執行依賴於時間的測試,最好的選擇是使用 ganache。

另一個選擇是使用 Kovan,它是一個具有 <5s 塊時間的 PoA 測試網。這是一種模仿主網路的好方法,同時仍然獲得更快的阻塞時間。

最後,聽起來您所做的似乎與時間無關,而是與塊數有關。Ganache 確實使用區塊號來處理交易,儘管還不是很清楚。如果它們符合您的需要,您可以使用這些塊編號。

根據評論更新

為了將您目前在 gamache 上的測試應用到測試網路,您需要添加一個 waitForBlock 函式來等待特定的塊號。正如您在問題中提到的,您可以簡單地將其寫入 while 循環。

您可以使用過濾器來等待更改。

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