Merge origin/master (6444d8e) into release-0.3.10: the N3 publish record, the owner login rename, the 0.3.9 download cards

This commit is contained in:
igneum-labs 2026-10-05 18:24:42 +00:00
commit 2e3cd810ed
5 changed files with 99 additions and 22 deletions

View file

@ -0,0 +1,77 @@
# Finality rule v3 on the devnet: the publish, 5 October 2026
the project lead, 17:5xZ: "deploy n3 now". Published by the 0.3.9 release engineer with the fee-switch mechanism
(`release-0.3.9.md` section 10), from the runbook `finality-v3-rollout-devnet.md` sections 3 and 4, right after every
node carried the fee-switch digest ab8847da.... No new binary: the switch has been in every node since 0.3.4 (the
a24ab01a Mac, Windows and Linux builds all carry `finality_v3_activation_daa`, checked with `strings`).
## N3 and the digest
N3 = 135,200: DAA 120,755 at 17:57:17Z (the observer's `getBlockDagInfo`) + 14,400 = 135,155, the next round hundred.
At the publish (17:59:14Z, DAA about 120,800) N3 - DAA = 14,400, over the 10,800 the rule asks. The switch keys on the
checkpoint's DAA score; at 0.965 blocks/s the sink crosses N3 about 22:05Z on 5 October and the first v3
checkpoint follows about a minute later.
The object: `{"difficulty_v2_activation_daa":33000,"proving_v0_activation_daa":84100,"fees_v1_activation_daa":210000,"finality_v3_activation_daa":135200}`.
Read on a scratch a24ab01a node (17:57:47Z, 22 s, ports 60995/60996):
```
Calibrated v1 fees from the override file: chain blocks metered with the adopted table, budgets and floors from DAA score 210000
Finality rule v3 from the override file: active from checkpoint DAA score 135200
Consensus params digest: 1f4b44255fcd2ea8f75664ed47200f409186ddd2292960c9e2cf95bbbdc11505
Finality v2 (igneum-devnet): interval 30 depth 20 window 7200 DAA dust 5 presence 20 aggregators 8 ban 7200 fold 3; rule v3 (frozen table, certificate fold) from checkpoint DAA 135200
```
## The order, with times
| Step | When | What |
|---|---|---|
| The observer | 17:58:13Z (pid 47854) | `infra/devnet/restart-hand-nodes.sh '<object>'` (the 0.3.9 branch's version: `IGNEUMD_COMMIT` a24ab01a, `grep -c`): `Finality rule v3 ... 135200`, digest 1f4b4425... |
| Node 1 | 17:58:25Z (pid 48121, caffeinate 48123) | the same script, the same lines |
| The seed | 17:58:43Z (MainPID 119557) | `infra/devnet/restart-seed.sh '<object>'` (the a24ab01a cross-build 7e26e374...): `Finality rule v3 ... 135200`, digest 1f4b4425..., `igneumd/2.1.0-a24ab01a` |
| The token folder and `dl/public/` | 17:59:14Z | `packaging/ota/publish-manifest.sh --version 0.3.9 --override '<object>' --activation-height 135200 --deadline-note "finality v3" --notes "Finality rule v3 from checkpoint DAA score 135200 (frozen table, certificate fold); calibrated v1 fees from DAA score 210000; 0.3.9 unchanged" --public --deploy`: entries carried over, signed (8f186e37...), live token manifest verified at try 1; the public folder verified at try 12 (`igneum-downloads.json` reached the edge last, as at 17:39Z) |
| The OLD folder | 18:01:53Z | `publish-old-folder.sh` with the same object, note and height; deployed; `version 0.3.9, byte-identical, signature OK` |
| `update-now-finality-135200` to every app | 18:02:13Z (apps woken, stamp 51a21533) | the apps re-read the manifest, write the object to `override.json`, restart their node at a safe moment |
The live manifests at 18:02:55Z (token and public): `0.3.9, published 2026-10-05T17:59:14Z, consensus {activation_height
135200, deadline_note "finality v3", override {difficulty_v2_activation_daa 33000, fees_v1_activation_daa 210000,
finality_v3_activation_daa 135200, proving_v0_activation_daa 84100}}`.
## The app nodes
| Node | `update-now-finality-135200` ran | Node restarted with the object | Lines (the digest job `digest-pcs-135200`, 150 s after its wake) |
|---|---|---|---|
| Mac d937c69d | 18:02:57Z | none needed: the app has had NO node of its own since its hourly engine restart at 17:45:16Z. That engine found node 1 answering on 127.0.0.1:26610 (`a node already answers on 127.0.0.1:26610; using it (it is not stopped by this app)`, 17:45:16Z) and runs as an external-node app since; its card's DAA and peers are node 1's. The app wrote `override.json` = the object at 18:02:58Z and logged `the node restarts with it at a safe moment`, which never comes for an external node (`engine.rs` 2050: `!self.node_external`); the restart job `restart-node-mac-135200` (18:10:47Z) answered `the node is external; nothing done` (18:11:11Z). Node 1 itself restarted with the object at 17:58:25Z | node 1's lines, below |
| PC 2 1ccfe586 | 18:04:55Z | 18:04:5xZ (`node-20261005-165651-r3.log`) | at 18:04:57Z already `Refusing peer 192.168.68.67 (PC 1): ... local 1f4b44255fcd2ea8f75664ed47200f409186ddd2292960c9e2cf95bbbdc11505 remote ab8847da...`; `override.json` = the object |
| PC 1 ae432dc7 | 18:06:26Z | 18:06:28Z (`node-20261005-172631-r3.log`) | `Finality rule v3 from the override file: active from checkpoint DAA score 135200`, `Consensus params digest: 1f4b4425...`, `igneumd/2.1.0-a24ab01a`; `override.json` = the object (PC 1 was not busy after all: the HiveOS job had ended, so no queueing was needed) |
The split: the three hand-run nodes on 1f4b4425 from 17:58:13Z, the miners (PC 1, PC 2) on ab8847da until 18:04:57Z
and 18:06:28Z; the observer's DAA crept 120,755 -> 120,835 between 17:57Z and 18:03Z (only node 1's own blocks on
that side), then 121,486 at 18:09:54Z once PC 2 had joined it: 6 min 44 s until the first miner, 8 min 15 s until both.
## The sweep: every live node on 1f4b44255fcd2ea8f75664ed47200f409186ddd2292960c9e2cf95bbbdc11505
| Node | Carried N3 from | Read from |
|---|---|---|
| The observer | 17:58:13Z | `/tmp/igneum-devnet/observer-v4.out` |
| Node 1 (also what the Mac app reports since 17:45Z) | 17:58:25Z | `/tmp/igneum-devnet/node1.out` |
| The seed | 17:58:43Z | the journal, through `restart-seed.sh` |
| PC 2 app node 1ccfe586 | 18:04:57Z | `node-20261005-165651-r3.log` through `digest-pcs-135200` |
| PC 1 app node ae432dc7 | 18:06:28Z | `node-20261005-172631-r3.log` through `digest-pcs-135200` |
| The Mac app's own node | none since 17:45:16Z (above); its last own node, started 17:42:15Z for the fee switch, died with the engine at 17:45Z | `node-20261005-165710-r2.log` ends there |
Not reached: PC 37ba0461 (0.3.7, silent since 13:52Z) and Sam's Mac (0.3.5, silent since 09:43Z); each takes 0.3.9 and
the object on its next check and is refused by every peer from its next restart until then.
Open from this publish: the Mac app without a node of its own means the Mac no longer verifies proof records (node 1
reports `verifier off`; PC 2's node verifies and includes its own); the app's port 26610 clashing with node 1's is the
cause and is for the owner to decide (stop node 1, or move it). The Mac's miner at 0.0 MH/s is paused on the project lead's
instruction and left alone.
## The first v3 checkpoint (pending)
The sink crosses N3 = 135,200 about 22:05Z on 5 October (DAA 122,035 at 18:18Z, 0.965 blocks/s); the first v3 checkpoint
follows about a minute later. The read, on two nodes: `grep -E 'LOCKED|CONFLICTING|held by the frozen table|folded' /tmp/igneum-devnet/node1.out | tail` and
the same on `/tmp/igneum-devnet/observer-v4.out` (expected from the runbook: every LOCKED line from the first v3
checkpoint ends with `..% of the table frozen at lock <j>`, "certificate ... folded" within 3 s, 0 CONFLICTING).

View file

@ -11,28 +11,28 @@
},
"miner-mac": {
"alias": "/public/igneum-miner-mac.dmg",
"file": "Igneum-Miner-0.3.8.dmg",
"path": "/dl/public/Igneum-Miner-0.3.8.dmg",
"sha256": "53c12b6e84a1c1e638d3e28d1cebb8eaf1980620c6dff5958292893033b62871",
"size": 41247419,
"version": "0.3.8"
"file": "Igneum-Miner-0.3.9.dmg",
"path": "/dl/public/Igneum-Miner-0.3.9.dmg",
"sha256": "5e57c5735dc99e44475c43fba8ecffadae9dbd3a150c32ef4858587a98256de3",
"size": 41333873,
"version": "0.3.9"
},
"miner-windows": {
"alias": "/public/igneum-miner-windows.exe",
"file": "Igneum-Miner-Setup-0.3.8.exe",
"path": "/dl/public/Igneum-Miner-Setup-0.3.8.exe",
"sha256": "86cffd144adb89b9d886be9a3b4c76b91ed78afc737b3a9fc19ce44a2d71afcc",
"size": 19794320,
"version": "0.3.8"
"file": "Igneum-Miner-Setup-0.3.9.exe",
"path": "/dl/public/Igneum-Miner-Setup-0.3.9.exe",
"sha256": "1d62a4dbdcef768ebd6fac5e46b199fea4de8854f4cf4c905eee49a6ed9334ce",
"size": 19836912,
"version": "0.3.9"
},
"wallet-mac": {
"alias": "/public/igneum-wallet-mac.dmg",
"file": "Igneum-Wallet-0.1.3.dmg",
"path": "/dl/public/Igneum-Wallet-0.1.3.dmg",
"sha256": "d5b7945e4fe8dbd6db23fbc7bab3a8ac378827fe3842c7a3b0e091aae455717a",
"size": 19598469,
"version": "0.1.3"
"file": "Igneum-Wallet-0.1.4.dmg",
"path": "/dl/public/Igneum-Wallet-0.1.4.dmg",
"sha256": "5a16e77112e0f5672dc9c2ced8488c7b78f0e4f448985f8036dfde7bf5903c51",
"size": 19607181,
"version": "0.1.4"
}
},
"updated": "2026-10-05T15:56:23Z"
"updated": "2026-10-05T17:39:01Z"
}

File diff suppressed because one or more lines are too long

View file

@ -458,8 +458,8 @@ pre b{color:var(--molten);font-weight:500}
<p data-testnet-notice style="margin-top:10px;font-weight:600;color:var(--molten)">Public testnet: not yet open; the devnet build is here for people who want to look.</p>
</div>
<div class="cta reveal" style="align-items:center">
<a data-dl="miner-windows" href="https://dl.igneum.network/public/igneum-miner-windows.exe" class="btn primary"><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M3 5.5l7.5-1v7H3zM11.5 4.3L21 3v8.5h-9.5zM3 12.5h7.5v7L3 18.5zM11.5 12.5H21V21l-9.5-1.3z"/></svg>Windows <span data-dl-meta="miner-windows" style="font-weight:400;opacity:.85">v0.3.8 · 19.8 MB</span></a>
<a data-dl="miner-mac" href="https://dl.igneum.network/public/igneum-miner-mac.dmg" class="btn primary"><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M16.4 12.6c0-2.3 1.9-3.4 2-3.5-1.1-1.6-2.8-1.8-3.4-1.8-1.4-.1-2.8.8-3.5.8-.7 0-1.8-.8-3-.8-1.5 0-3 .9-3.8 2.3-1.6 2.8-.4 7 1.2 9.3.8 1.1 1.7 2.4 2.9 2.3 1.2 0 1.6-.7 3-.7s1.8.7 3 .7c1.3 0 2-1.1 2.8-2.3.9-1.3 1.2-2.6 1.3-2.6-.1 0-2.5-.9-2.5-3.7zM14.1 5.8c.6-.8 1.1-1.9.9-3-.9 0-2 .6-2.7 1.4-.6.7-1.1 1.8-1 2.9 1.1.1 2.1-.5 2.8-1.3z"/></svg>macOS <span data-dl-meta="miner-mac" style="font-weight:400;opacity:.85">v0.3.8 · 41.2 MB</span></a>
<a data-dl="miner-windows" href="https://dl.igneum.network/public/igneum-miner-windows.exe" class="btn primary"><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M3 5.5l7.5-1v7H3zM11.5 4.3L21 3v8.5h-9.5zM3 12.5h7.5v7L3 18.5zM11.5 12.5H21V21l-9.5-1.3z"/></svg>Windows <span data-dl-meta="miner-windows" style="font-weight:400;opacity:.85">v0.3.9 · 19.8 MB</span></a>
<a data-dl="miner-mac" href="https://dl.igneum.network/public/igneum-miner-mac.dmg" class="btn primary"><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M16.4 12.6c0-2.3 1.9-3.4 2-3.5-1.1-1.6-2.8-1.8-3.4-1.8-1.4-.1-2.8.8-3.5.8-.7 0-1.8-.8-3-.8-1.5 0-3 .9-3.8 2.3-1.6 2.8-.4 7 1.2 9.3.8 1.1 1.7 2.4 2.9 2.3 1.2 0 1.6-.7 3-.7s1.8.7 3 .7c1.3 0 2-1.1 2.8-2.3.9-1.3 1.2-2.6 1.3-2.6-.1 0-2.5-.9-2.5-3.7zM14.1 5.8c.6-.8 1.1-1.9.9-3-.9 0-2 .6-2.7 1.4-.6.7-1.1 1.8-1 2.9 1.1.1 2.1-.5 2.8-1.3z"/></svg>macOS <span data-dl-meta="miner-mac" style="font-weight:400;opacity:.85">v0.3.9 · 41.3 MB</span></a>
<a data-dl="miner-hive" href="https://dl.igneum.network/public/igneum-miner-hive.tar.gz" class="btn"><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M12 2c-2.4 0-4 1.9-4 4.6 0 1.2.2 2 0 2.8-.6 1.4-2.1 2.9-2.6 4.9-.3 1.1-.1 2 .3 2.6-.6.4-1.3 1-1.1 1.7.3 1 2.1 1.2 3.2 1.8.7.4 1.5.6 2.1.1.6.2 1.3.3 2.1.3s1.5-.1 2.1-.3c.6.5 1.4.3 2.1-.1 1.1-.6 2.9-.8 3.2-1.8.2-.7-.5-1.3-1.1-1.7.4-.6.6-1.5.3-2.6-.5-2-2-3.5-2.6-4.9-.2-.8 0-1.6 0-2.8C16 3.9 14.4 2 12 2zm-1.4 4.2c.5 0 .8.5.8 1.2s-.3 1.2-.8 1.2-.8-.5-.8-1.2.3-1.2.8-1.2zm2.8 0c.5 0 .8.5.8 1.2s-.3 1.2-.8 1.2-.8-.5-.8-1.2.3-1.2.8-1.2zM12 9.3c.9 0 1.9.5 1.9 1s-1 1.2-1.9 1.2-1.9-.7-1.9-1.2 1-1 1.9-1zm0 3.4c2.2 0 3.6 2.6 3.6 4.4 0 1.5-1.6 2.3-3.6 2.3s-3.6-.8-3.6-2.3c0-1.8 1.4-4.4 3.6-4.4z"/></svg>Linux <span data-dl-meta="miner-hive" style="font-weight:400;opacity:.85">v0.3.8 · 24.8 MB</span></a>
<a data-dl="miner-hive" href="https://dl.igneum.network/public/igneum-miner-hive.tar.gz" class="btn"><svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round" aria-hidden="true"><path d="M12 2.5l8.2 4.75v9.5L12 21.5l-8.2-4.75v-9.5z"/><path d="M12 7.5l4.3 2.5v5L12 17.5l-4.3-2.5v-5z"/></svg>HiveOS <span data-dl-meta="miner-hive" style="font-weight:400;opacity:.85">v0.3.8 · 24.8 MB</span></a>
</div>

View file

@ -367,7 +367,7 @@ td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
<p data-testnet-notice style="margin-top:10px;font-weight:600;color:var(--molten)">Public testnet: not yet open; the devnet build is here for people who want to look.</p>
</div>
<div class="cta reveal" style="align-items:center">
<a data-dl="wallet-mac" href="https://dl.igneum.network/public/igneum-wallet-mac.dmg" class="btn primary"><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M16.4 12.6c0-2.3 1.9-3.4 2-3.5-1.1-1.6-2.8-1.8-3.4-1.8-1.4-.1-2.8.8-3.5.8-.7 0-1.8-.8-3-.8-1.5 0-3 .9-3.8 2.3-1.6 2.8-.4 7 1.2 9.3.8 1.1 1.7 2.4 2.9 2.3 1.2 0 1.6-.7 3-.7s1.8.7 3 .7c1.3 0 2-1.1 2.8-2.3.9-1.3 1.2-2.6 1.3-2.6-.1 0-2.5-.9-2.5-3.7zM14.1 5.8c.6-.8 1.1-1.9.9-3-.9 0-2 .6-2.7 1.4-.6.7-1.1 1.8-1 2.9 1.1.1 2.1-.5 2.8-1.3z"/></svg>macOS <span data-dl-meta="wallet-mac" style="font-weight:400;opacity:.85">v0.1.3 · 19.6 MB</span></a>
<a data-dl="wallet-mac" href="https://dl.igneum.network/public/igneum-wallet-mac.dmg" class="btn primary"><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M16.4 12.6c0-2.3 1.9-3.4 2-3.5-1.1-1.6-2.8-1.8-3.4-1.8-1.4-.1-2.8.8-3.5.8-.7 0-1.8-.8-3-.8-1.5 0-3 .9-3.8 2.3-1.6 2.8-.4 7 1.2 9.3.8 1.1 1.7 2.4 2.9 2.3 1.2 0 1.6-.7 3-.7s1.8.7 3 .7c1.3 0 2-1.1 2.8-2.3.9-1.3 1.2-2.6 1.3-2.6-.1 0-2.5-.9-2.5-3.7zM14.1 5.8c.6-.8 1.1-1.9.9-3-.9 0-2 .6-2.7 1.4-.6.7-1.1 1.8-1 2.9 1.1.1 2.1-.5 2.8-1.3z"/></svg>macOS <span data-dl-meta="wallet-mac" style="font-weight:400;opacity:.85">v0.1.4 · 19.6 MB</span></a>
<span class="btn" aria-disabled="true" style="opacity:.7;cursor:default"><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M3 5.5l7.5-1v7H3zM11.5 4.3L21 3v8.5h-9.5zM3 12.5h7.5v7L3 18.5zM11.5 12.5H21V21l-9.5-1.3z"/></svg>Windows <span style="font-weight:400;opacity:.85">next</span></span>
<a href="#metamask" class="btn"><svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round" aria-hidden="true"><path d="M4 4l5 3h6l5-3-1.5 7 1.5 5-3 4H7l-3-4 1.5-5z"/><path d="M9 13h2M13 13h2"/></svg>MetaMask</a>
</div>