bitcore icon indicating copy to clipboard operation
bitcore copied to clipboard

Multithread ETH sync

Open kajoseph opened this issue 2 years ago • 1 comments

NOTE: This PR will bump the minimum required node version from 8 to 10 for the use of worker threads.

This PR:

  • Adds multi-threaded and multi-client syncing
  • Introduces a GethRPC class. This is not a properly working class and thus has a throw in the constructor to prevent usage at this time. The full support for geth will be added in a subsequent PR
  • Refactors Parity naming to Erigon
  • Refactors some typings for consistency
  • Updates a few miscellaneous things:
    • bitcore-node.service file to use typescript outdir
    • removes unused and outdated CHANGELOG.md
    • fixes Web3Proxy api endpoint and adds config value
    • updates karma deps in bitcore-build

TODOs:

  • geth support
  • DRY-ing up some code, specifically the processBlock functions in p2p.ts and syncWorker.ts

kajoseph avatar Jul 06 '22 14:07 kajoseph

I merged in https://github.com/bitpay/bitcore/pull/3349 to ensure no merge conflicts. Since it and this will require Node version increases, and thus a major version bump, they should be merged into master at the same time.

kajoseph avatar Jul 26 '22 02:07 kajoseph