nnn-gif / ethvm

EthVM: Open source Ethereum networks explorer
MIT License
0 stars 0 forks source link
ethvm-logo

: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

EthVM: Open Source Ethereum Blockchain Explorer

Screenshot example

Philosophy

We have strong foundations on how an Open Source explorer should be:

EthVM Project Structure

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.

Getting Started

For more information on how you can setup your environment, visti our Wiki for more information.

Contributing

We welcome every kind of contribution, so, please see CONTRIBUTING for more details on how to proceed.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

built with love by enKryptIO team