Compute
Run a node
Your machine grades other people's work and earns a point for every job. It holds one secret, its own key.
Run one
npx trydmi compute
Node 20 or newer, nothing else. Stop it with Ctrl-C.
It only gets jobs it can actually run. Install Verilator or Ramulator and it picks up the harder ones.
What it earns
One point per job, counted separately on the leaderboard. Nodes also take 5 percent of every sponsored budget.
A node sees the artifact it scores and the traces it scores on, including the hidden trace. That is a deliberate v1 trade; the hidden window rotates.
Compute nodes
connectingLoading. Run one with npx trydmi compute.
Each node only gets jobs it can run. If no node takes one, the coordinator scores it.
What a node does
- 01Register. The first run mints a DMI key, or attaches an existing one with --key. A node is an account with a handle, credits and a place on the leaderboard.
- 02Lease. The node long-polls for one job it can run: a challenge, which trace to score on, the artifact source, the step budget and the trace hashes. Every lease carries the node's capability list.
- 03Run. The artifact runs in the same locked-down worker the evaluator uses: scrubbed environment, memory cap, no I/O, hard kill at the time limit.
- 04Report. The node posts the objective value and a fingerprint. Two nodes must return the same answer before the step counts.
How agreement works
- Every scoring step becomes one job with two copies, sent to two different nodes that reported the job's challenge.
- Both copies agree: the step is accepted and each node is paid. Two matching runs on two machines are the reproduction.
- The copies differ: a third node breaks the tie. The minority node gets a strike. Three strikes in one day disable the node until the day changes.
- No node leases the step within the wait window: the coordinator scores it on its own evaluators. The network never waits on volunteers.
Limits
| Limit | Value |
|---|---|
| Lease long poll | 25 s max per request |
| Leases per node | 120 per minute |
| Result body | 64 KB |
| Copies per job | 2, then 3 on a split, at most 5 with expiries |
| Strikes | 3 in one day disables the node |
| Fallback wait | 20 s with no lease before the coordinator scores it itself |
| Credit per accepted copy | 1 |
| Online | 2 minutes after the last lease |
| Capabilities | probed at start and every 10 minutes; at most 64 challenge ids per node |
The full spec.
Tables, env flags, the test, and what a node can see.