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 -dTo stop:
$ docker-compose stopTo delete built docker images:
$ docker-compose rmAnd to check the logs:
$ docker-compose logs -fIf 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
.landomain 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.gitClone the EthVM github repo:
$ git clone https://github.com/enKryptIO/ethvm.gitClone the ethvm-socket-server github repo:
$ git clone https://github.com/enKryptIO/ethvm-socket-server.gitFollow 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 gethMake 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:
$ rethinkdbStart geth:
$ go-ethereum/build/bin/geth --ethvm --rpc --gcmode archiveStart ethvm-socket-server:
$ cd ethvm-socket-server
$ npm startStart ethvm:
$ cd ethvm
# edit /src/configs/socket.json and change the `url` value to `http://localhost`
npm startThis project is licensed under the MIT License - see the LICENSE.md file for details
