Open source realtime blockchain explorer, powered by Vue.js / go-ethereum / RethinkDB / Socket.io / Redis
These instructions will get you a copy of the project up and running on your local machine for development and testing puposes.
There are two ways to develop on EthVm:
- Using
docker
- Manual method
So, choose your own path depending on which experience you want to have (keep in mind that using docker
and docker-compose
will streamline a lot the different dependencies you need in order to have a proper setup, so, if you want to start developing ASAP, using docker
will be a better choice).
Make sure you have installed docker
and docker-compose
.
In order to bring up the project you can issue the following command in the terminal (these are regular docker-compose
commands, nothing fancy):
$ docker-compose up -d
To stop:
$ docker-compose stop
To delete built docker images:
$ docker-compose rm
And to check the logs:
$ docker-compose logs -f
If you take a look at the docker-compose.yml
file, you will discover the following:
- It's using traefik to route traffic. So, if you have configured dnsmasq (instructions for OSX or Linux) to resolve
.lan
domain you can reach ethvm athttp://ethvm.lan
. The same applies tohttp://rethink.dashboard.ethvm.lan
(this will allow to visit directly RethinkDB's admin dashboard) orhttp://geth.ethvm.lan
. Also, it exports properly the ports so you can hose the usualhttp://localhost:<port>
. - By default, it creates a private ethereum network and it starts in mining mode. This will ensure you'll have everything quiet without the need to download the whole main ethereum blockchain (or even the testnet). So, if you want to send real transactions, I recommend you to use Postman and send an
eth_sendRawTransaction
(there's a Postman collection related to ethereum here)
What things you need to install the software and how to install them:
1- Make sure you have golang at least 1.9 and build tools. Installation instructions. 2- Install RethinkDB on your local system. Installation instructions 3- Install Redis DB on your local system. Installation instructions
Clone our modified go-ethereum github repo:
$ git clone https://github.com/enKryptIO/go-ethereum.git
Clone the EthVM github repo:
$ git clone https://github.com/enKryptIO/ethvm.git
Clone the ethvm-socket-server github repo:
$ git clone https://github.com/enKryptIO/ethvm-socket-server.git
Follow proper instructions for your OS, but usually, if you're using OSX or Linux you can issue the following command (inside go-ethereum folder):
$ make geth
Make sure it builds without any problems.
Set following environmental variables:
#!/usr/bin/env bash
export RETHINKDB_URL="rethinkdb://localhost:28015"
export REDIS_URL="127.0.0.1:6379"
export RETHINKDB_CERT_RAW=""
export RPC_HOST="localhost"
export RPC_PORT="8545"
Start rethinkdb:
$ rethinkdb
Start geth:
$ go-ethereum/build/bin/geth --ethvm --rpc --gcmode archive
Start ethvm-socket-server:
$ cd ethvm-socket-server
$ npm start
Start ethvm:
$ cd ethvm
# edit /src/configs/socket.json and change the `url` value to `http://localhost`
npm start
This project is licensed under the MIT License - see the LICENSE.md file for details