Blockchain

BSC 測試網:Truffle 遷移 ETIMEDOUT

  • April 15, 2022

我需要將我的智能合約部署到 BSC 測試網

我總是得到這個:

Error: PollingBlockTracker - encountered an error while attempting to update latest block:
Error: ETIMEDOUT
I tried to change the RPC specified here https://docs.binance.org/smart-chain/developer/rpc.html#rate-limit

所有的,但仍然是一樣的。

一件事是,我試圖將它部署到 ropsten 只是為了好玩。這就是成功。現在 BSC Testnet RPC 有什麼問題嗎?

這是我的 truffle-config.js 片段

       testnet: {
           provider: () => new HDWalletProvider(mnemonic, `https://data-seed-prebsc-1-s2.binance.org:8545`),
           network_id: 97, // 3 for ropsten, 97 for bsc test
           confirmations: 2,
           timeoutBlocks: 2000,
           skipDryRun: true,
           networkCheckTimeout: 1000000
       },

我搜了一下,有的人用websocket(wss),有的改了RPC Url,有的加了networkCheckTimeout。我嘗試了所有這些(除了 wss,因為我看不到它是由 BSC 測試網提供的)。但沒有任何工作。

有什麼建議嗎?謝謝

如果你編譯了很多文件,truffle 會詢問最新的塊。由於 BSC 測試網限制了您可以發出的請求數量,因此它會掛起,然後您會超時。我解決了這個問題,只是先編譯我的程式碼並使用 –compile-none 進行部署。

truffle deploy --network testnet --reset --compile-none

問題是 BSC 生成塊的速度如此之快,以至於超過了 Truffle 配置等待的預設塊數。networkCheckTimeout您可以通過在網路配置中添加和timeoutBlocks欄位來解決此問題:

bsc: {
 networkCheckTimeout: 1000000,
 timeoutBlocks: 200
}

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