Code Monkey home page Code Monkey logo

ethvm's Introduction

ethvm-logo

EthVM - Ethereum Blockchain Explorer

Open source realtime blockchain explorer, powered by Vue.js / go-ethereum / RethinkDB / Socket.io / Redis

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing puposes.

Prerequisites

There are two ways to develop on EthVm:

  1. Using docker
  2. 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).

Developing using Docker

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 at http://ethvm.lan. The same applies to http://rethink.dashboard.ethvm.lan (this will allow to visit directly RethinkDB's admin dashboard) or http://geth.ethvm.lan. Also, it exports properly the ports so you can hose the usual http://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)

Developing without Docker (Manual Installation)

Prerequisites

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

Cloning dependencies

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

Building go-ethereum

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.

Running

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

License

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

ethvm's People

Contributors

hsurf22 avatar olgakup avatar kvhnuke avatar nnn-gif avatar stevemieskoski avatar

Watchers

James Cloos avatar d avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.