Truffle migrate --network bsc error: header not found

Truffle migrate --network bsc error: header not found

当尝试 运行 truffle migrate --network bsc 时,truffle 通常(并非总是)设法部署迁移合约,然后失败并出现错误:header 未找到。

Error [ERR_UNHANDLED_ERROR]: Unhandled error. ({ code: -32000, message: 'header not found' })
    at new NodeError (node:internal/errors:363:5)
    at Web3ProviderEngine.emit (node:events:354:17)
    at D:\Contracts\novaria\node_modules\web3-provider-engine\index.js:54:14
    at afterRequest (D:\Contracts\novaria\node_modules\web3-provider-engine\index.js:148:21)
    at D:\Contracts\novaria\node_modules\web3-provider-engine\index.js:174:21
    at D:\Contracts\novaria\node_modules\web3-provider-engine\index.js:232:9
    at D:\Contracts\novaria\node_modules\async\internal\once.js:12:16
    at replenish (D:\Contracts\novaria\node_modules\async\internal\eachOfLimit.js:61:25)
    at D:\Contracts\novaria\node_modules\async\internal\eachOfLimit.js:71:9
    at eachLimit (D:\Contracts\novaria\node_modules\async\eachLimit.js:43:36)
    at D:\Contracts\novaria\node_modules\async\internal\doLimit.js:9:16
    at end (D:\Contracts\novaria\node_modules\web3-provider-engine\index.js:211:5)
    at Request._callback (D:\Contracts\novaria\node_modules\web3-provider-engine\subproviders\rpc.js:70:28)
    at Request.self.callback (D:\Contracts\novaria\node_modules\request\request.js:185:22)
    at Request.emit (node:events:365:28)
    at Request.<anonymous> (D:\Contracts\novaria\node_modules\request\request.js:1154:10)
    at Request.emit (node:events:365:28)
    at IncomingMessage.<anonymous> (D:\Contracts\novaria\node_modules\request\request.js:1076:12)
    at Object.onceWrapper (node:events:471:28)
    at IncomingMessage.emit (node:events:377:35)
    at endReadableNT (node:internal/streams/readable:1312:12)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)

这是 bsc 网络的配置:

   bsc: {
      provider: () => { return new HDWalletProvider(mnemonic, `https://bsc-dataseed2.binance.org/`)},
      network_id: 56,
      confirmations: 10,
      timeoutBlocks: 200,
      skipDryRun: true,
    },

 compilers: {
    solc: {
      version: "0.8.7",    // Fetch exact version from solc-bin (default: truffle's version)
      // docker: true,        // Use "0.5.1" you've installed locally with docker (default: false)
      settings: {          // See the solidity docs for advice about optimization and evmVersion
       optimizer: {
         enabled: true,
         runs: 200
       },

部署到测试网和开发工作没有问题。我过去曾用松露部署到 bsc(虽然已经有一段时间了)。我试过更改 RPC url,并弄乱了超时和确认(很确定这不会对这个错误产生影响)。在互联网上搜索解决方案后,似乎对人们有用的唯一答案是更改 RPC,但我没有任何运气。有人有什么建议吗?

我今天遇到了同样的问题。通过使用来自智能链文档 https://docs.binance.org/smart-chain/developer/rpc.html

的 Websocket 端点 wss://bsc-ws-node.nariox.org:443 修复了它