⚡ EthVM: An Open Source Proccessing Engine and Block Explorer for Ethereum, based on Apache Kafka ⚡
Powered by TypeScript / VueJS / NestJS / Apache Kafka / Parity / Postgres
We are on active development!
Things may break or not work as expected and documentation may be deprecated!
If you detect a bug, please report it on the issues section (but make sure that is not a duplicated one!)
You have been warned!
EthVM is an open-source Blockchain Explorer focused mainly on Ethereum (although other networks and forks will be supported over time) under the SSPL license (a small variation of the GNU Affero License v3) and written in a mixture of different languages.
You can use EthVM as a tool to explore your custom private network or the existing public ones or as a ETL (Extract, Transform, Load) platform to perform different analysis on the data.
Our core infrastructure is based on well known languages:
And also is backed by popular frameworks:
We have choosen the above technologies to allow a wider range of people contributing to the project regardless of the programming level.
As the official website states:
Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.
We believe that it fits quite nicely within the needs that a Block Explorer typically may have. On the other side, and by fully embracing the Kafka ecosystem, we allow to export the processed information very easily to other platforms.
For now, we are focused on bringing a Beta environment. It will have the following:
- Migration to NestJS API to replace current SocketIO API.
- Migration from MongoDB to Postgres.
- Improvements over processing on Kafka. We want to process the chain as fast as possible and alongside with that, squash some known bugs.
- Proper testing mechanisms on different moving parts of the system.
For more information on how you can setup your environment and start developing, we recommend you to visit our Wiki!
NOTE: Please, don't run the code blindly as there are a couple of steps you need to be aware of!
We welcome every kind of contribution, so, please see CONTRIBUTING for more details on how to proceed.
We have created our EthVM - Devs
Telegram channel, feel free to join.
This project is licensed under the SSPL License (a small variation of the GNU Affero License v3) - see the LICENSE file for details (or read it here online).