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-composeinstalled and runyarnfirst 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:clientEnsure 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 initThen you can setup a new stack and deploy:
yarn deployTo remove the deploy, run:
yarn stopallDetails on the commands can be found in package.json