Repository navigation
Testnet launch: action plan, early validator profile, and frontend #220
Replies: 2 comments 4 replies
|
I think both goals make sense: validating that the protocol works with technical operators and making it possible for someone to join and operate it with little help. At this stage, I agree with Robert that we should start with technical users. We’re still developing the project and the CLI is our main interface, so their feedback would help us understand what works, where people get stuck, and what needs better documentation. A simple frontend could be useful too. I’d first validate the CLI workflows with real users and use their feedback to guide it. Having the necessary SDK operations available also seems like a cleaner foundation than wrapping CLI commands. Those parts could move forward alongside the tests, without waiting for the entire SDK to be finished. One way I could help is by running a small local testnet at home with three notebooks and a Raspberry Pi 5. Depending on resource requirements and what the setup supports, we could run multiple containerized participants per machine, with separate wallets and state. That would let us test more participants than physical devices, while keeping in mind that they share hardware and a home network and don’t replace independent external testers. I could approach it like my onboarding walkthrough in #79: follow the documented setup and record issues, workarounds, and where I need help, building on my Pi tests in #190. Would that be useful for this validation stage? |
|
On the frontend question — I don't think we need one for this cohort. The validator profile we're targeting already assumes CLI comfort, people who've run a validator before and are fine with Docker Compose. A frontend doesn't really solve a problem that group has, it's more for the broader launch after this one. We also don't have real feedback from validators yet to design against. Section 4 is literally asking this cohort to surface doc/UX friction, so building a frontend before we know what that friction actually is just means guessing at it. My take: keep this cohort CLI-only, get the operator guide done, run through one real GI, then revisit the frontend question once we've actually debriefed the first validator or two. If we do build something later I'd lean toward B over C, but that's a call for later once we have real feedback in hand. |
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.✓ RESOLVED — PR #211 (merged 2026-10-02) brought
DINTaskCoordinatorunder EIP-170 and added a CI size gate. Deployments to Optimism Sepolia are no longer blocked by contract size.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 — Four findings remain open: dual-role registration (#180), per-model S5 recidivism (#193), upheld dispute does not replace wrong
finalCID(#194), and committed-but-unrevealed at liveness fraction only (#201 Part B). Three findings were fixed and merged todevelopthis week: auditor commit hash not sender-bound (#192, PR #212), unauthenticated test-data dispute (#205, PR #215), andregisterDINaggregatorwithoutonlyCurrentGI(#206, PR #211). The team needs to decide explicitly which of the four remaining 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)
1FixDINTaskCoordinatorto under EIP-170#201 Part A✓ Done — PR #211.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