Skip to content

nporteschaikin/topshothawk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

topshothawk

Microservices for collecting transaction and moment data off the NBA Top Shot Flow blockchain. @mjspector intends to use this data for... something.

ToC

  • consumer: Code for the following services:
    • listener: listens to new blocks and makes request to fetchers via Redis.
    • fetcher: invoked with a specific event type (e.g. Market.MomentPurchased); pops blocks off Redis and fetches events of the aforementioned type in the block, up to a certain height.
    • recorder: writes moments and events to Postgres.
  • migrator: Rough Ruby app I wrote for maintaining the Postgres database schema. Runs every five minutes in the cloud.
  • infrastructure: Terraform configuration for spawning the aforementioned services, plus Redis/Postgres/etc. in AWS using ECS, EC2, RDS, Elasticache, etc. in a private VPC; SSH accessible via a bastion.

Installation

All services are conveniently orchestrated with Docker. The only installation steps are to clone the repository and construct the database:

git clone git@github.com:nporteschaikin/topshothawk
cd topshothawk
docker-compose run --rm migrator load

Usage

docker-compose up -d

License

MIT

About

NBA Top Shot transaction collector

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published