Testnet launch: action plan, early validator profile, and frontend #220
robertocarlous
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
@abrahamnash @Santiagocetran @umeradl @Abidoyesimze
Background
This discussion maps the remaining work to get from
developto a live testnet, proposes a profile for the early validators we want to bring in as testers, and names a gap that has no owner yet — the absence of any frontend for validators or other participants. All three are connected: the kind of validators we can realistically onboard is constrained by the tooling they have to use, and the tooling gap is large enough that it deserves an explicit decision before we start outreach.1. Where we are
The P3 mechanism work is substantially complete on
develop. Staking, slashing (S1–S6), dispute resolution (S4), commit-reveal aggregation, emission schedule, reward split, and the adversarial test suite have all landed. Deploy scripts supportenvOroverrides for every testnet parameter. Contracts are upgradeable proxies. CI runs on everydeveloppush.What remains is described honestly below.
2. Hard blockers before testnet
A. Contract size —
DINTaskCoordinatoris 24,585 B at runtime, 9 B over EIP-170 (#201 Part A). Foundry's local Anvil silently ignores this limit; nothing ondevelopcan currently deploy to Optimism Sepolia or any real chain. This is the single most critical engineering blocker.B. Testnet parameters —
mintCap,dinPerEth, theDinEmissionschedule, and the S1/S2 slash fractions are not recorded in.env.example(#155). The decision from the Sep 25 meeting needs to be committed. Validators cannot stake or earn anything meaningful without these set.C. Open security findings — Seven findings are documented but unresolved: dual-role registration (#180), auditor commit hash not sender-bound (#192), per-model S5 recidivism (#193), upheld dispute does not replace wrong
finalCID(#194), unauthenticated test-data dispute (#205),registerDINaggregatorwithoutonlyCurrentGI(#206), and committed-but-unrevealed at liveness fraction only (#201 Part B). The team needs to decide explicitly which of these are testnet-acceptable known gaps and which need a fix before external stake is exposed to them.D. Validator operator guide — There is no public end-to-end guide that takes a new validator from setup to earning rewards. The technical reference docs exist but the operator-facing staking guide, slashing rules, and failure-mode recovery docs are still planned (P3-DOC2–4).
E. dincli gaps — BL-27 (
dinrep deployuses old constructors) and BL-28 (noreleaseGIRegistrationSlotscommand) block the model owner from running a GI, which means validators have nothing to participate in.3. Proposed action plan (ordered)
DINTaskCoordinatorto under EIP-170.env.exampledinrep deployconstructor mismatch and addreleaseGIRegistrationSlotsThe SDK/daemon (P4) and indexer (P4-IDX) are not on this critical path. Testnet can run on the existing
dincliCLI.4. Early validator profile
We are targeting two to three external validators for the initial cohort.
Technical baseline:
Domain interest:
Role split:
What we are not looking for at this stage: pure yield validators with no interest in the ML side, or anyone who cannot tolerate a rough edge — testnet will have them.
The reason to be selective: a bad first external validator experience sets back credibility more than staying internal for another two weeks.
5. No frontend yet
There is currently no frontend application. All interaction with the protocol happens through
dinclicommands in the terminal. There is no web UI for validators, model owners, auditors, or clients.This is worth naming explicitly before testnet — for any goal around onboarding a broader validator or client base, a terminal CLI is a real barrier for non-technical participants. If a frontend is in scope before testnet, that workstream does not exist yet and has no owner.
To make the decision concrete, there are three realistic approaches:
Option A — Web app (browser + wallet)
A React/Next.js app that connects via MetaMask or WalletConnect and talks to the contracts via ethers.js. Validator never installs Python. Fully hosted. The problem: the compute-heavy roles (aggregation, model scoring) cannot run in a browser. A web app can handle wallet and staking operations but cannot replace the full validator workflow for aggregators and auditors.
Option B — Desktop app wrapping dincli
A native desktop app (Tauri is the lightweight option) with a visual interface that runs
dinclicommands in the background. The validator installs one app; it handles Python and Docker setup under the hood. This covers the full validator workflow including the compute-heavy parts, and is closer to how other validator networks package their node software. Higher build cost but the most complete solution.Option C — Web dashboard served from the daemon
The P4 daemon (
dind) is planned to expose an HTTP/healthendpoint. This could be extended to a full local web UI: validator installsdind, openslocalhost:7432in a browser, and gets a live visual of their stake, current GI state, what action is needed next, recent rewards, and slash history. This is the most natural fit for the existing roadmap — it builds on top of P4 rather than adding a separate workstream — but it is gated ondindshipping, which is currently not merged todevelop.General Questions for the team:
The frontend decision affects the validator profile in section 4. If a frontend ships before broader outreach, we can open onboarding to a wider pool. If it stays CLI-only, the profile in section 4 is the right filter for the foreseeable future.
@Abidoyesimze — tagging for the frontend decision since you will be handling that aspect (section 5).
All reactions