An implementation of a simple etherium blockchain parser allowing users to subscribe to addresses and query subscriptions for transactions.
- You can run the code using the vanilla Go binary with
go run cmd/blockchain_parser/main.go
and then use a tool such as Postman to hit the api - There is also a VSCode Launch Configuration which will allow debugging/breakpoints etc if required. See VSCode debugging
- You can run the provided integration tests locally by using the Makefile command
make test
which will build and run the binary onlocalhost:8080
and run the integration sh script. Upon completion the process is killed - You can run the Unit Test suite via
make test-unit
Due to time constraints the code is pretty basic. Further work could develop the following things:
- API documentation using tools such as Swagger/OpenAPI
- Address validation using regex
- CI scripts for further automated testing such as linting or quality gateways / vulnerability testing using Sonarqube or similar
- Container support by adding
Dockerfile
or Kubernetes manifests as required - More refined build steps which introspect platform architecture to build appropriate
Go
binaries - Increased reliability through a genuine persistance layer using tools such as Redis or a database