Skip to content

Research: Keplr + Ledger web3 app architecture for Gonka miner/validator management #10

Description

@mingles-agent

Background

Goal

Design a web3 frontend application that allows Gonka node operators to manage their mining nodes and validator settings entirely through Keplr wallet with optional Ledger hardware wallet — without using the CLI.

Current Situation

  • Gonka is a Cosmos SDK chain — standard Keplr integration patterns apply
  • The decentralized-api already has a REST API layer (decentralized-api/internal/server/public/)
  • There's an existing admin setup report endpoint: decentralized-api/internal/server/admin/setup_report.go
  • Node registration flow exists: decentralized-api/participant/participant_registration.go
  • The chain has standard cosmos REST/gRPC-gateway endpoints (inferenced node)
  • Research Research: Amino codec coverage for all inference module transactions (Keplr/Ledger signing) #9 is running in parallel on amino/Ledger signing support — coordinate findings

What to Investigate

1. Existing API surface

  • Audit all endpoints in decentralized-api/internal/server/public/ and admin/ — what's already exposed via REST?
  • What data is available from the chain via gRPC-gateway for a frontend? (participants, epoch state, rewards, collateral)
  • Are there any existing frontend files or web assets in the repo?

2. Transaction types needed for a complete operator UI

Map ALL operations an operator needs to perform:

Onboarding:

  • Register participant (MsgSubmitNewParticipant)
  • Deposit collateral (MsgDepositCollateral)
  • Register model (MsgRegisterModel)
  • Configure ML node (via decentralized-api mlnode API — POST /api/v1/inference/up)

Operations:

  • Claim rewards (MsgClaimRewards)
  • Update model/node config
  • Withdraw collateral

Monitoring:

  • View epoch stats, miss rate, reputation score
  • View collateral balance and slash history
  • View inference history and earnings

3. Keplr integration pattern

4. Tech stack recommendation

  • Evaluate: React + CosmJS vs Vue + CosmJS vs existing Cosmos ecosystem tools (Cosmos Kit, Leap SDK)
  • Does the project use any existing web tooling? Check for package.json, *.ts, *.tsx files in repo root or subdirs
  • Should the frontend be a separate repo or live in gonka repo under /web or /frontend?

5. Ledger flow

Key Files/Paths

  • decentralized-api/internal/server/public/ — all REST handlers
  • decentralized-api/internal/server/admin/setup_report.go — admin endpoint
  • inference-chain/app/app.go — chain config, module list
  • inference-chain/x/inference/types/ — all message types
  • inference-chain/x/collateral/ — collateral module
  • Check for any .ts, .html, .json web assets in repo

Deliverables

  1. Transaction coverage matrix: all operator actions × (amino-ready / needs fix / impossible via chain tx)
  2. Chain config for experimentalSuggestChain (Keplr chain registration)
  3. Tech stack recommendation with rationale
  4. App architecture: pages/flows, which use on-chain txs vs decentralized-api REST calls
  5. Dependency on Research Research: Amino codec coverage for all inference module transactions (Keplr/Ledger signing) #9: list which features are blocked until amino is fixed
  6. Create implementation tasks for: chain integration setup, core tx flows, monitoring dashboard

Note

Research #9 (amino codec) is running in parallel and will determine which transactions can be signed via Keplr/Ledger. This research should focus on architecture and UX flows, and note where amino availability gates specific features. The two researches should be cross-referenced in findings.

Focus Areas

  • existing API surface audit
  • keplr chain config
  • cosmjs integration pattern
  • operator UX flows
  • tech stack for cosmos frontend
  • dependency on amino support

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions