GM Sumus Rest
Apps
Parser
Parser communicates with a blockchain (BC) node via RPC and fetches new blocks and transactions into database.
See /cmd/parser
Rest
Rest exposes HTTP endpoints in order to:
- post new transactions to BC;
- proxy some BC node RPC requests (e.g. wallet balance);
- retrieve blocks and transactions data from database;
See
/cmd/rest
Distributor
Distributor distributes BC reward (collected on owner wallet).
See /cmd/distributor
Migration
Migration is a database migration tool.
See /cmd/migration
Makefile
Dependencies
Get dependencies:
make deps
Generation
Generate configs and internal stuff (like wire):
make gen
Config templates are in /configs
after generation.
Build
Build with:
make build
CGO cross-compilation (on Windows) uses Docker.
Docker
Make an image and push somewhere:
make dockerize
Note: GM_DOCKER_PREFIX
env variable should be defined in order to prefix image tag.
TODO
- Get rid of go-kit
- Get rid of wire