Skip to content
This repository has been archived by the owner on Jul 6, 2022. It is now read-only.
/ vethyl Public archive

vethyl blockchain query system monorepo (Capstone Project)

License

Notifications You must be signed in to change notification settings

darekaze/vethyl

Repository files navigation

Vethyl

My capstone project

Vethyl -- A full-stack system for quering verifiable Ethreum data

This monorepo consists of 5 components:

  • api -- Query Service
  • client -- Frontend of the client
  • common -- shared codes between components
  • crawler -- Blockchain-Ethereum Sync Manager
  • fgptr -- Data Validation service (fingerprint generator)

Branch

  • master -> Development branch
  • stable -> Staging branch (for releasing tags)
  • dev/* -> Feature, fix etc.

Quick start

Have docker-compose installed and run yarn first to install all dependencies

1. Copy .env file

Instructions are inside <package>/.env.example

Create .env in each package root directory (e.g. crawler/.env).

2. Local development

# Boot up `api
yarn dev:api

# Boot up crawler
yarn dev:crawler

# Boot up fingerprint
yarn dev:fgptr

# Boot up client
yarn dev:client

Build

Ensure that <package-name>.production.env is created in environments folder.

Then run the belowings:

# Build the docker image with docker-compose (will update to use docker only)
# -- api, crawler, fgptr, or all
yarn build:<package-name>

# Build and run in docker compose
yarn compose [package-name]...

And view your docker status inside shell using lazydocker.

Deployment

You need to init Docker swarm on your local system first:

docker swarm init

Then you can setup a new stack and deploy:

yarn deploy

To remove the deploy, run:

yarn stopall

Details on the commands can be found in package.json

About

vethyl blockchain query system monorepo (Capstone Project)

Topics

Resources

License

Stars

Watchers

Forks