BSC 测试网:Truffle 迁移 ETIMEDOUT

Posted

技术标签:

【中文标题】BSC 测试网:Truffle 迁移 ETIMEDOUT【英文标题】:BSC Testnet: Truffle Migrate ETIMEDOUT 【发布时间】:2021-07-27 11:05:11 【问题描述】:

我需要将我的智能合约部署到 BSC 测试网

我总是得到这个:

Error: PollingBlockTracker - encountered an error while attempting to update latest block:
Error: ETIMEDOUT

我尝试更改此处指定的 RPC 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 测试网提供的)。 但没有任何效果。

有什么建议吗?谢谢

【问题讨论】:

这里也不工作 嘿,你有没有想过这个问题?在 bsc testnet 上遇到同样的问题 @TylerJones 一点也不。但我确实找到了替代方案。我没有使用松露,而是使用了混音。可以使用相同的 RPC URL 成功部署 如果你没有严格绑定到 truffle,你可以尝试 remix。 【参考方案1】:

bsc: 
  networkCheckTimeout: 999999,
  provider: () => new HDWalletProvider(mnemonic, `https://data-seed-prebsc-1-s1.binance.org:8545`),
  network_id: 97, // Ropsten's id
  gas: 5500000, // Ropsten has a lower block limit than mainnet
  confirmations: 10, // # of confs to wait between deployments. (default: 0)
  timeoutBlocks: 200, // # of blocks before a deployment times out  (minimum/default: 50)
  skipDryRun: true // Skip dry run before migrations? (default: false for public nets )
,

添加网络超时应该会有所帮助

【讨论】:

以上是关于BSC 测试网:Truffle 迁移 ETIMEDOUT的主要内容,如果未能解决你的问题,请参考以下文章

Binance Smart Chain - 将合约从测试网迁移到主网

truffle部署到测试网rinkeby

如何配置 truffle 以连接到 RSK 测试网公共节点?

无法与 BSC 主网中的合约交互,但在测试网中成功(但仍然是标准传输)

智能合约实战二 [bsc 智能链 部署智能合约] 初体验

[Blockchain] (Binance Smart Chain) BSC 测试网 BNB 水龙头