:zap::zap::zap: EthVM Project: An open source blockchain explorer for Ethereum network :zap::zap::zap:
Powered by TypeScript / VueJS / Socket.io / EthereumJ / Kafka / MongoDB / Redis
We have strong foundations on how an Open Source explorer should be:
This repository holds a mirage of different subprojects that in conjuction forms EthVM (we are following the monorepo way of living). All of them are located under apps/
folder:
Directory | Written in | Purpose |
---|---|---|
apps/bolt |
Kotlin | A Kafka Streams blockchain processing application (EthVM core element). |
apps/contracts |
Solidity | A set of contracts that helps to obtain tokens balances for a particular address. |
apps/ethereumj |
Java | A forked version of ethereumj that processes / listens to Ethereum events. This project is kept as a git sumbodule as it will connstantly be updated as main changes are introduced in the main branch of ethereumj . |
apps/ethvm |
VueJs | Main frontend website where users navigate to explore the Blockchain. |
apps/server |
NodeJs | A Socket reactive API that the frontend uses to communicate with the Blockchain. |
Also, there are a couple of different directories, not related itself to any concrete subproject, that lives in the parent one:
Directory | Written in | Purpose |
---|---|---|
bin |
NodeJs / Bash | Contains helper scripts that aids in different aspects of the development. Also, there's one script called monkey-cli that helps to produce fake blocks / txs and contract deployments for testing purposes. |
postman |
Postman (Js) | A simple Postman collection that contains all ethereum JSON RPC calls. Very useful for testing our custom geth node. |
provisioners |
Kubernetes / Docker | Contains kubernetes definitions for deploying a production ready EthVM project (work in progress, though). Also, it contains docker development images (that differs slightly from production ready dockerfiles ) needed for development. |
docker-compose.yml |
Docker | This docker-compose file contains everything needed to setup a private environment ready for developing. |
docker-compose.extra.yml |
Docker | As usually we usually develop bolt and ethereumj, these two projects are out of the previous docker-compose file. This file contains those two services dockerized. |
For more information on how you can setup your environment, visti our Wiki for more information.
We welcome every kind of contribution, so, please see CONTRIBUTING for more details on how to proceed.
This project is licensed under the MIT License - see the LICENSE.md file for details.