migalabs / armiarma

Armiarma is a Libp2p open-network crawler with a current focus on Ethereum's CL network
https://monitoreth.io
MIT License
37 stars 13 forks source link

Integral refactor of the Armiarma Crawler #30

Closed cortze closed 2 years ago

cortze commented 2 years ago

This PR compiles the architecture refactoring of the crawler tool. The main purpose of this refactor is to remove any dependency that we might have from Rumor, building the crawler tool directly from the official modules such as, libp2p, go-ethereum, zrnt, etc...

An important key of this new refactor is to distinguish each of the different modules that take part in a crawler. Network crawlers among different networks, even blockchains, need from the same modules (peer discovering, peering service, DB, etc...), therefore, looking for a network/blockchain agnostic tool should be the final goal. This tool then, will be able to replace each of these basic modules with the one specific to that blockchain.

The first draft of the tool's architecture is resumed as follows:

In addition to the refactor, we would like also to start documenting the tool in a more serious way. This way, tools like go doc can easily generate formatted documentation of each tool release.

The structure and the code are still a draft, please keep in mind that it might change over time. And remember that any feedback regarding, testing, structure, best practices, alternatives, etc... are really appreciated 👌🏽

cortze commented 2 years ago

Closed since the merge was done from commit