My capstone project
Vethyl -- A full-stack system for quering verifiable Ethreum data
This monorepo consists of 5 components:
api
-- Query Serviceclient
-- Frontend of the clientcommon
-- shared codes between componentscrawler
-- Blockchain-Ethereum Sync Managerfgptr
-- Data Validation service (fingerprint generator)
master
-> Development branchstable
-> Staging branch (for releasing tags)dev/*
-> Feature, fix etc.
Have
docker-compose
installed and runyarn
first to install all dependencies
Instructions are inside
<package>/.env.example
Create .env
in each package root directory (e.g. crawler/.env
).
# Boot up `api
yarn dev:api
# Boot up crawler
yarn dev:crawler
# Boot up fingerprint
yarn dev:fgptr
# Boot up client
yarn dev:client
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
.
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