release-0.3.5: master 00baf75 and bugfix-collect-exit merged, site rebuilt, plan rows (round-3 hashes to follow)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
7a81dc73f7
commit
59a77b5b4b
3 changed files with 54 additions and 47 deletions
|
|
@ -17,13 +17,14 @@ node work sits on the fork branch `release-0.3.5` (local only; the fork has no r
|
|||
| `origin/build-job` | 4e94f27 | 7eb83ff | job kind `build` (`jobs.rs`, `jobrun.rs`, new `jobbuild.rs`): a PC builds the node and the app engine for Linux and Windows inside WSL2; `publish-jobs.sh add --kind build`, `packaging/windows/push-build-inputs.sh`, `tools/build-job.mjs`, `tools/relay.mjs` | `publish-jobs.sh`: master's `verify` command and `--tries` kept next to the build kind's arguments; the usage range widened to the merged header |
|
||||
| `origin/dev-fee` (merged twice: 6b4ec59, then its later tip) | 293fc0b | 49f95de, 1b287d4 | the miner software's dev fee on the app side: the `dev_fee` setting (default on, `--dev-fee 0` passed when off), `DevFeeState` and the UI line, `fee_total` across runs, `dev-fee block` events; the HiveOS package (`packaging/hive/`), `infra/cross/build-workers-linux.sh`, `tools/dev-fee/run.mjs`, `docs/design/miner-dev-fee.md`, ledger and site text | `config.rs`, `state.rs`, `engine.rs`: both sides kept (the sweep fields and `installed_at` from miner-eff next to `dev_fee` and `fee_total`; the engine's settings snapshot sets both and the `DevFeeState` line stays). The generated site pages were rebuilt afterwards (a91ff81). The second merge (161e48c, 293fc0b: the test-network measurement in the bench log, `run.mjs` waits for the nodes) conflicted only in `bench-log.md` and the generated pages: both entries kept, pages rebuilt |
|
||||
| `origin/miner-reliability` | 59d843f | f7d2af7 | the app watchdog per card and per node (`src/watchdog.rs`), WORKER FAULT and `mismatched=` read from the miner, the reliability test harness (`tools/reliability/`), the public GPU bench table (`site/miners.html` from `site/miner-bench.json`), bench-log and ledger entries | `engine.rs`: the sweep state (miner-eff) and the node watchdog kept together; the STATUS line goes through `watchdog::parse_status` and still feeds the sweep's rate sample. `main.rs`: both modules. `bench-log.md`: both entries. `site/build.mjs`: master's partial-injected pages kept, the `/miners` table added through the same `page()` with `active: 'miners'`; the Miners link added to `site/partials/nav.html`; `/miners` added to the sitemap; every generated page rebuilt (`node site/build.mjs`) |
|
||||
| `origin/master` (5 commits after the branch point, merged as they landed) | e22068f | cc71ed6, ce74626, 5672a28 | console: the parsed app-log tail is 400 KB, the last OTA state per machine is remembered (`console_ota_memo`); bugs.md rows | none |
|
||||
| `origin/master` (merged four times as it moved, 36 commits in all) | 2897e21 | cc71ed6, ce74626, 5672a28, 1c33898 | the bug hunter's night: console parsers in `relay/lib/parse.mjs` with `node --test relay/test`, the identity-scrub fix 2996cca (CI green), publish-jobs and publish-manifest verify changes, autosync, `console_ota_memo`, bugs.md rows | none (the publish-manifest.sh and publish-jobs.sh reconciliations of this branch sit on top of master's verify changes; `--tuning` and `verify` both present on the tip) |
|
||||
| `origin/bugfix-collect-exit` | 35ccdc8 | e53d337 | a collect job whose command exits non-zero is failed with that code (`collect_done`, unit test); collect-pc1-board3 had reported done over exit 1 | none |
|
||||
|
||||
Master's fix 0d123b3 (OTA Windows helper: `CREATE_NO_WINDOW` only, no `DETACHED_PROCESS`) is the branch point and
|
||||
survived every merge: `grep -n 'creation_flags(0x0800_0000); // CREATE_NO_WINDOW' app/igneum-app/src/ota.rs` gives
|
||||
one line on the final tip (checked after each merge).
|
||||
|
||||
Totals against origin/master: 67 files, 7,844 insertions, 349 deletions. Final tip: 1b287d4.
|
||||
Totals against origin/master: 67 files, 7,894 insertions, 353 deletions. Final tip: @@TIP@@.
|
||||
|
||||
### 1b. The node fork (branch `release-0.3.5` in `vendor/igneum-node-release`)
|
||||
|
||||
|
|
@ -36,9 +37,11 @@ finality v3, so a release branch was made from `finality-fixes` and the miner br
|
|||
|---|---|---|---|---|
|
||||
| `dev-fee` (local, created from the worktree change) | a2c7ba83 | 4d3c7482 | `igneum-miner --dev-fee <percent>` (default 1: one template in 100 is requested with the dev payout address, deterministic by counter; 0 off), `dev-fee block` lines, `igneum-miner payouts` (the audit) | `igneum/miner/src/main.rs`: both kept, the `pub(crate)` visibility the proving modules need (finality-fixes) with the fee fields and parameters (`fee_extra_data`, `Template.dev_fee`, `template(.., fee)`, `submit(.., fee) -> bool`); `proving.rs`: vmine calls both with `fee = false` |
|
||||
| `miner-reliability` | 945153ab | 6ef230d5 | `igneum/miner/src/guard.rs` (fault guards as state machines: interval baseline per worker process, prepare rate limit, CPU re-check stop, restart back-off and exit 43), a dead worker's stdin no longer spins the fill loop, the worker line read waits one status interval | none |
|
||||
| `bugfix-build-info-worktree` (local, worktree `vendor/igneum-node-bughunt`) | a498d1bf | 2e75a238 | `build-info/build.rs`: a worktree's `.git` is a file; the walk had climbed into the vendoring repository and embedded ITS commit, which is why 0.3.4 reports `igneumd/2.1.0-73fc2fd` (Windows) and `-1b65132` (Mac), neither a fork commit. Now the HEAD file comes from the checkout's own git dir and the ref from the common dir | none |
|
||||
|
||||
`igneumd` is unchanged by both (the miner crate only); the finality v3 and proving text is in every igneumd built
|
||||
below (checked with `strings`).
|
||||
The first two touch the miner crate only; the third changes the commit every binary embeds. The finality v3 and
|
||||
proving text is in every igneumd built below (checked with `strings`), and the embedded commit is now the fork's
|
||||
(section 4a).
|
||||
|
||||
## 2. What is out, and why
|
||||
|
||||
|
|
@ -67,7 +70,8 @@ Homebrew's 1.69 cannot read the lock file.
|
|||
| origin/master | cc71ed6 | ok: 44 + 22, 0 failed, 21:35:34Z | ok, 21:35:35Z |
|
||||
| dev-fee | 49f95de | ok: 44 + 22, 0 failed, 21:48:14Z | ok, 21:48:17Z |
|
||||
| miner-reliability | f7d2af7 | ok: 55 + 22, 0 failed, 22:25:32Z | ok, 22:25:36Z |
|
||||
| dev-fee second tip (final tip; no app source changed) | 1b287d4 | ok: 55 + 22, 0 failed, 23:17:28Z (tip bd57866 = 1b287d4 plus this file) | ok, 23:17:28Z |
|
||||
| dev-fee second tip (no app source changed) | 1b287d4 | ok: 55 + 22, 0 failed, 23:17:28Z (tip bd57866 = 1b287d4 plus this file) | ok, 23:17:28Z |
|
||||
| master 2897e21 + bugfix-collect-exit (final tip) | e53d337 | ok: 56 + 22, 0 failed (the collect_done test among them), 01:03:02Z | ok, 01:03:02Z |
|
||||
|
||||
### 3b. The node fork
|
||||
|
||||
|
|
@ -83,14 +87,17 @@ Mac build and tests in `vendor/igneum-node-release` with `CARGO_TARGET_DIR=vendo
|
|||
| 4d3c7482 | `cargo test -p igneum-miner` | ok: 5 passed, 0 failed (the dev-fee extra-data tests among them), 23:01:04Z |
|
||||
| 6ef230d5 (miner-reliability merged) | the same release build | ok, 11 min 50 s (23:29:22Z) |
|
||||
| 6ef230d5 | `cargo test -p igneum-miner` | ok: 12 passed, 0 failed (the guard tests added), 23:29:40Z |
|
||||
| 2e75a238 (build-info fix merged) | the same release build | @@MAC3_BUILD@@ |
|
||||
| 2e75a238 | `cargo test -p igneum-miner` | @@MAC3_TESTS@@ |
|
||||
|
||||
The consensus, difficulty and pow crates are untouched by the reliability merge (miner crate only), so their 4d3c7482
|
||||
results stand for 6ef230d5.
|
||||
The consensus, difficulty and pow crates are untouched by the reliability merge (miner crate only) and by the
|
||||
build-info fix (a build script that only changes the embedded commit string), so their 4d3c7482 results stand.
|
||||
|
||||
### 3c. The other checks, on the files each merge changed
|
||||
|
||||
| Check | Command | Result |
|
||||
|---|---|---|
|
||||
| Console parsers | `node --test relay/test/parse.test.mjs relay/test/auth.test.mjs` (the bug hunter's tests, as CI runs them) | 6 tests, 6 pass, 0 fail |
|
||||
| JavaScript parses | `node --check` on `tools/ui-mock/server.mjs`, `tools/tuning.mjs`, `tools/build-job.mjs`, `tools/relay.mjs`, `relay/api/console.mjs`, `tools/dev-fee/run.mjs`, `tools/reliability/*.mjs`, `site/build.mjs`, `app/igneum-app/ui/app.js` | all parse |
|
||||
| Shell parses | `bash -n` on `publish-manifest.sh`, `publish-jobs.sh`, `push-build-inputs.sh`, `infra/cross/build-workers-linux.sh`, `packaging/hive/*.sh` | ok |
|
||||
| PowerShell parse rule (no `$var:` inside double quotes; `${var}` instead) | a scanner over every tracked `.ps1` and the PowerShell strings in `ota.rs`, `jobrun.rs`, `jobbuild.rs` (scratch script `pscheck.py`; `tools/ci/windows/check-ps51.ps1` needs a PowerShell this Mac lacks) | 0 hits in `sweep-5090.ps1`, `race-5090.ps1`, `jobrun.rs`, `jobbuild.rs`; dev-fee and reliability changed no `.ps1`, `ota.rs` or `jobrun.rs`. The three hits in the tree are the unchanged baseline: two comments in `check-ps51.ps1` that quote the rule, and `ota.rs` line 1190, the Mac helper's bash (`$MODE:` in bash is plain text) |
|
||||
|
|
@ -106,28 +113,28 @@ results stand for 6ef230d5.
|
|||
|
||||
## 4. The morning cut
|
||||
|
||||
### 4a. The binaries (built overnight from fork 6ef230d5; the morning command points at them)
|
||||
### 4a. The binaries (built overnight from fork 2e75a238; the morning command points at them)
|
||||
|
||||
| Platform | Path | sha256 | Size | Build |
|
||||
|---|---|---|---|---|
|
||||
| Mac arm64 igneumd | `vendor/igneum-node/target-release/release/igneumd` | cd1a5210dadc72d1e9b129c7065ee2c7dec28a4657efd099168d523828c32335 | 40,699,824 | release build, 4 jobs at nice 19 |
|
||||
| Mac arm64 igneum-miner | `vendor/igneum-node/target-release/release/igneum-miner` | 537cef5524c32b55ccf5fc985ff45a4f7e2016e7de1cf70195e9e0832669110c | 8,249,440 | same |
|
||||
| Windows x86-64 igneumd.exe | `vendor/igneum-node/target-release-win/x86_64-pc-windows-gnu/release/igneumd.exe` | 09c80e20744c12cc71691aa349496dc54e92714f11258e840292e51441d4dca0 | 50,483,200 | `proto-cuda/windows-node/cross-build.sh`, 11 min 13 s (mingw, static libgcc; `libstdc++-6.dll` in the import set as in 0.3.4, the payload carries it), target directory cloned from `target-finality-win` |
|
||||
| Windows x86-64 igneum-miner.exe | `vendor/igneum-node/target-release-win/x86_64-pc-windows-gnu/release/igneum-miner.exe` | 2417bea7d84eb5b852890f84e58e9025359d13c73be50f9c393563654d44c2a2 | 10,439,680 | same |
|
||||
| Linux x86-64 (glibc 2.36) igneumd | `infra/cross/out-release-0.3.5/igneumd` (from `vendor/igneum-node/target-release-linux`) | f2c2065a6dfb39ec2ef5b5fc9c4a5326441529b2690f732ef1f1ff59fff8b623 | 47,156,648 | `infra/cross/build-linux.sh` with cargo-zigbuild, 684 s, target directory cloned from `target-finality-linux`; for the seed and the HiveOS package, not part of the app |
|
||||
| Linux x86-64 igneum-miner | `infra/cross/out-release-0.3.5/igneum-miner` | c7fb1806deeb97294a5645a5f1dd4f293c50e037218cecd9f7cc9d2465bcc1cd | 9,323,440 | same |
|
||||
| Mac arm64 igneumd | `vendor/igneum-node/target-release/release/igneumd` | @@MAC_IGNEUMD@@ | @@MAC_IGNEUMD_SIZE@@ | release build, 4 jobs at nice 19 |
|
||||
| Mac arm64 igneum-miner | `vendor/igneum-node/target-release/release/igneum-miner` | @@MAC_MINER@@ | @@MAC_MINER_SIZE@@ | same |
|
||||
| Windows x86-64 igneumd.exe | `vendor/igneum-node/target-release-win/x86_64-pc-windows-gnu/release/igneumd.exe` | @@WIN_IGNEUMD@@ | @@WIN_IGNEUMD_SIZE@@ | `proto-cuda/windows-node/cross-build.sh`, 11 min 13 s (mingw, static libgcc; `libstdc++-6.dll` in the import set as in 0.3.4, the payload carries it), target directory cloned from `target-finality-win` |
|
||||
| Windows x86-64 igneum-miner.exe | `vendor/igneum-node/target-release-win/x86_64-pc-windows-gnu/release/igneum-miner.exe` | @@WIN_MINER@@ | @@WIN_MINER_SIZE@@ | same |
|
||||
| Linux x86-64 (glibc 2.36) igneumd | `infra/cross/out-release-0.3.5/igneumd` (from `vendor/igneum-node/target-release-linux`) | @@LINUX_IGNEUMD@@ | @@LINUX_IGNEUMD_SIZE@@ | `infra/cross/build-linux.sh` with cargo-zigbuild, 684 s, target directory cloned from `target-finality-linux`; for the seed and the HiveOS package, not part of the app |
|
||||
| Linux x86-64 igneum-miner | `infra/cross/out-release-0.3.5/igneum-miner` | @@LINUX_MINER@@ | @@LINUX_MINER_SIZE@@ | same |
|
||||
|
||||
The first round (fork 4d3c7482, dev-fee only, before reliability landed): Windows igneumd.exe
|
||||
Earlier rounds, superseded by the table above. Round 2 (fork 6ef230d5, before the build-info fix): Windows igneumd.exe 09c80e20744c12cc71691aa349496dc54e92714f11258e840292e51441d4dca0 / igneum-miner.exe 2417bea7d84eb5b852890f84e58e9025359d13c73be50f9c393563654d44c2a2; Linux igneumd f2c2065a6dfb39ec2ef5b5fc9c4a5326441529b2690f732ef1f1ff59fff8b623 / igneum-miner c7fb1806deeb97294a5645a5f1dd4f293c50e037218cecd9f7cc9d2465bcc1cd; Mac igneumd cd1a5210dadc72d1e9b129c7065ee2c7dec28a4657efd099168d523828c32335 / igneum-miner 537cef5524c32b55ccf5fc985ff45a4f7e2016e7de1cf70195e9e0832669110c. Round 1 (fork 4d3c7482, dev-fee only): Windows igneumd.exe
|
||||
e34685d291646bbfb8317920ec19587cc74e69a0fd48c19009a2f55aabd9e31e / igneum-miner.exe
|
||||
84fa01b9bd95f13c9574e2a26308338fe3c29fff7ec1e696c33ec8173d2ba76e (31 min 13 s); Linux igneumd
|
||||
695e20fc8053cbecd35f392cf09b6b6155c4789cdb2342549185427ea5aca451 / igneum-miner
|
||||
9a8169272c87e1aa7ec7809fb5b6e3f55eab2ccb5fe0340ebf1442bf835f6df7 (1,947 s); Mac igneumd
|
||||
743a56cf26370d5dfb22e4f7016e9bee57771078caead8c16fa6448ebf13e141 / igneum-miner
|
||||
37d101a03754967b3f8bf3920c660ce0584358d6dc5fb5b3f58eaa06647fe3f1. Superseded by the table above.
|
||||
37d101a03754967b3f8bf3920c660ce0584358d6dc5fb5b3f58eaa06647fe3f1.
|
||||
|
||||
### 4b. The command
|
||||
|
||||
From the MAIN checkout, on master. `release-0.3.5` contains origin/master as of e22068f, so the merge is a
|
||||
From the MAIN checkout, on master. `release-0.3.5` contains origin/master as of 2897e21, so the merge is a
|
||||
fast-forward unless master moved again overnight (then merge origin/master into `release-0.3.5` first, rerun the
|
||||
two cargo commands of 3a, and fast-forward).
|
||||
|
||||
|
|
@ -148,9 +155,9 @@ Why these values:
|
|||
|
||||
| Item | Value | Checked |
|
||||
|---|---|---|
|
||||
| node fork worktree | `vendor/igneum-node-release`, branch `release-0.3.5`, commit 6ef230d5 = `finality-fixes` 6aa69a45 + `dev-fee` + `miner-reliability`; clean working tree | the ship script records the fork commit and branch in `~/.cache/igneum/ship/0.3.5.json` and in the console item |
|
||||
| node fork worktree | `vendor/igneum-node-release`, branch `release-0.3.5`, commit 2e75a238 = `finality-fixes` 6aa69a45 + `dev-fee` + `miner-reliability` + `bugfix-build-info-worktree`; clean working tree | the ship script records the fork commit and branch in `~/.cache/igneum/ship/0.3.5.json` and in the console item |
|
||||
| Windows node exes | `target-release-win/x86_64-pc-windows-gnu/release/{igneumd,igneum-miner}.exe` (4a) | the fork worktree has no `target/` of its own (its builds live under `vendor/igneum-node/target-release*`), hence the two `--*-release` flags; the `inputs` step sees the new miner hash and pushes a fresh `payload-inputs.zip` (one deploy of the downloads folder, as 0.3.4 did at 20:07Z) |
|
||||
| Mac node binaries | `target-release/release/{igneumd,igneum-miner}` (4a) | `igneumd --version` = igneumd 2.1.0; `igneum-miner --help` lists `--dev-fee` |
|
||||
| Mac node binaries | `target-release/release/{igneumd,igneum-miner}` (4a) | `igneumd --version` = igneumd 2.1.0; the embedded commit (`igneumd/2.1.0-<short>` in the daemon header and the user agent) is @@EMBEDDED@@; `igneum-miner --help` lists `--dev-fee` |
|
||||
| downloads folder | `~/.config/igneum/dlsite-dir` = `<scratchpad>/dlsite` of session cd75457f, linked to Vercel project prj_vxz8Hj... (`.vercel/project.json`); holds every DMG and installer from 0.1.0 to 0.3.4 and the live manifest | it is the real folder, 0.3.4 deployed from it; it lives in a session scratchpad, so move it somewhere permanent when there is a quiet moment |
|
||||
| consensus override and tuning | the live 0.3.4 manifest has no `consensus.override` and no `tuning`; `ship-app.mjs` passes neither flag; `publish-manifest.sh` carries both over from the folder's manifest when present (nothing to carry today) | to publish a height switch with 0.3.5, run `packaging/ota/publish-manifest.sh --version 0.3.5 --override '{...every switch...}' --deploy` after the cut, or pass `--activation-height N --deadline-note "..."` to the ship command (those two it forwards) |
|
||||
| prover in the DMG | `proving/igneum-prove/target/release/igneum-prove-host` and `-export` are absent in the release worktree; present or not in the main checkout decides | the DMG ships without the prover unless they are built first (the dry run notes it; 0.3.4 had the same note) |
|
||||
|
|
@ -187,11 +194,11 @@ install from here. Untested with a right hash; the hand install is the known pat
|
|||
|
||||
## 6. State when this file was last written
|
||||
|
||||
- App branch `release-0.3.5` at 1b287d4 plus this file, pushed. Fork branch `release-0.3.5` at 6ef230d5 in
|
||||
- App branch `release-0.3.5` at 1b287d4 plus this file, pushed. Fork branch `release-0.3.5` at 2e75a238 in
|
||||
`vendor/igneum-node-release` (local; the fork has no remote).
|
||||
- The release worktree carries a built `app/igneum-app/target` (debug tests, the Windows check, the release
|
||||
signer); the fork builds live in `vendor/igneum-node/target-release`, `target-release-linux`, `target-release-win`
|
||||
(clones; the `target-finality*` directories of 0.3.4 are untouched). After the cut: `git worktree remove
|
||||
../igneum-wt-release`; keep `vendor/igneum-node-release` as the record of what 0.3.5's node was built from.
|
||||
- `miner-latency` never reached origin (section 2).
|
||||
- 23:30 UTC: all six 0.3.5 binaries built from fork 6ef230d5 (section 4a); the Windows and Mac pairs are what the morning command ships.
|
||||
- 23:30 UTC: six binaries from fork 6ef230d5. @@ROUND3@@
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -200,6 +200,31 @@
|
|||
"text": "Devnet-v4 integration: nine branches merged, 3-node test network on the merged node, Windows cross-build",
|
||||
"short": "Devnet v4: nine branches merged into one node"
|
||||
},
|
||||
{
|
||||
"date": "2026-10-03",
|
||||
"text": "Windows node package: igneumd cross-compiled for x86_64-pc-windows-gnu, two-peer sync test",
|
||||
"short": "Windows node package: cross-compiled, two-peer sync"
|
||||
},
|
||||
{
|
||||
"date": "2026-10-03",
|
||||
"text": "Igneum-node devnet v2: sustained-mining finality rule v2 on a four-miner test network, and as a follower of the live devnet",
|
||||
"short": "Finality rule v2 live on a four-miner test network"
|
||||
},
|
||||
{
|
||||
"date": "2026-10-03",
|
||||
"text": "Execution layer devnet v3: revm over the selected chain, 3-node simnet, viem smoke test",
|
||||
"short": "EVM execution layer: identical state on three nodes"
|
||||
},
|
||||
{
|
||||
"date": "2026-10-03",
|
||||
"text": "Weak-program census: 400,000 program runs through the CPU reference, the redundant-load finding, and the rules for M5 and M6",
|
||||
"short": "Census of 400,000 programs: redundant loads found"
|
||||
},
|
||||
{
|
||||
"date": "2026-10-03",
|
||||
"text": "Proving v0: first SP1 proof of an Igneum block, Apple M5 Max CPU, loaded machine",
|
||||
"short": "First SP1 proof of an Igneum block, on a laptop CPU"
|
||||
},
|
||||
{
|
||||
"date": "2026-10-03",
|
||||
"text": "Proto-opencl: OpenCL path built and proven without AMD silicon",
|
||||
|
|
@ -224,31 +249,6 @@
|
|||
"date": "2026-10-03",
|
||||
"text": "AMD gfx1036 , AMD OpenCL 2.1 driver 3652.0",
|
||||
"short": "AMD integrated GPU runs the hash through OpenCL"
|
||||
},
|
||||
{
|
||||
"date": "2026-10-03",
|
||||
"text": "RTX 5090 through NVIDIA OpenCL",
|
||||
"short": "RTX 5090 through NVIDIA OpenCL"
|
||||
},
|
||||
{
|
||||
"date": "2026-10-03",
|
||||
"text": "Igneum-node devnet v0: 3-node igneum-devnet at 1 BPS with the 80/20 coinbase and vote_key_hash",
|
||||
"short": "Devnet v0: three nodes at one block per second"
|
||||
},
|
||||
{
|
||||
"date": "2026-10-03",
|
||||
"text": "RTX 5090 first run",
|
||||
"short": "RTX 5090 first run"
|
||||
},
|
||||
{
|
||||
"date": "2026-10-03",
|
||||
"text": "RTX 5090, memory-hard dataset",
|
||||
"short": "RTX 5090 on the memory-hard dataset"
|
||||
},
|
||||
{
|
||||
"date": "2026-10-03",
|
||||
"text": "Per-identity hash rate \"decay\" on the RTX 5090: diagnosis and Metal reproduction",
|
||||
"short": "RTX 5090 hash-rate decay diagnosed: a miner bug, fixed"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue