2 つのスマート コントラクトを持つプロジェクトを Binance Smart Chain Testnet にデプロイしたいと考えています。
バージョンでの開発にトリュフを使用しています:
Truffle v5.3.9 (core: 5.3.9)
Solidity v0.5.16 (solc-js)
Node v14.17.0
Web3.js v1.3.6
コントラクトをデプロイするためにMoralisのノード エンドポイントを使用しています。
スマート コントラクトをデプロイしようとするか、トリュフ コンソールを開いてネットワークとやり取りしようとすると、このエラーが発生します。
/home/stutter/Dev/Smart Contracts/token-airdrop/node_modules/@trufflesuite/web3-provider-engine/node_modules/request/request.js:848
var e = new Error('ETIMEDOUT')
^
Error: PollingBlockTracker - encountered an error while attempting to update latest block:
Error: ETIMEDOUT
at Timeout.<anonymous> (/home/stutter/Dev/Smart Contracts/token-airdrop/node_modules/@trufflesuite/web3-provider-engine/node_modules/request/request.js:848:19)
at listOnTimeout (internal/timers.js:555:17)
at processTimers (internal/timers.js:498:7)
at PollingBlockTracker._performSync (/home/stutter/Dev/Smart Contracts/token-airdrop/node_modules/eth-block-tracker/src/polling.js:51:24)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
これは truffle-config.js の私のネットワーク オブジェクトです
bscTestnet: {
provider: () => new HDWalletProvider(mnemonic, `https://speedy-nodes-nyc.moralis.io/225d3aa06df7d2f1c351e260/bsc/testnet`),
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: 50000, // # of blocks before a deployment times out (minimum/default: 50)
skipDryRun: true // Skip dry run before migrations? (default: false for public nets )
}
イーサリアムでは、このgithub issueで説明されている Infura エンドポイントでこのエラーが発生していました。
infura エンドポイントを使用して ropsten にデプロイしている場合、このエラーは発生しません。
バイナンス スマート チェーンのモラリス エンドポイントでこのエラーが発生したという言及はないようです。
これを修正する方法についてのアドバイスをいただければ幸いです。
ありがとう!