Skip to content

[Milestone 1] Project Scaffolding & Core Infrastructure #35

@Patrick-Ehimen

Description

@Patrick-Ehimen

Parent Issue #34

Goal

Establish the project foundation — repository structure, build system, database schema, and working connections to Akave O3 and chain RPCs.

Tasks

  • Initialize Go module and project directory structure
  • Set up Makefile with targets: build, test, lint, migrate, run-indexer, run-api
  • Add docker-compose.yml for local PostgreSQL
  • Configure CI with GitHub Actions (lint + unit tests)
  • Implement config loading from YAML + environment variable overrides
  • Design and apply PostgreSQL schema via golang-migrate migrations
  • Implement multi-chain RPC client with configurable confirmation depth and rate limiting
  • Implement Akave O3 client wrapper (Upload, Download, List) with retry logic
  • Write seed SQL and unit tests for RPC and O3 clients

Deliverables

  • Buildable Go project with CI passing
  • PostgreSQL schema applied via migrations
  • Working RPC connections to at least 2 chains (Ethereum + Arbitrum testnets)
  • Working Akave O3 upload/download verified with a test file
  • docker-compose up spins up a working local dev environment

Acceptance Criteria

  • make build compiles without errors
  • make test passes all unit tests
  • make migrate applies schema to a fresh PostgreSQL instance
  • Indexer binary starts, connects to RPCs, and logs current block heights
  • A test Parquet file can be uploaded to and retrieved from Akave O3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions