Skip to content

Releases: cyberia-to/erga

erga 0.30.0 — one bar, one key each

Choose a tag to compare

@mastercyb mastercyb released this 01 Sep 00:09

Download erga-0.30.0-arm64.dmg, drag to Applications, then:

xattr -dr com.apple.quarantine /Applications/erga.app

Changed

  • Every control moved to one bar at the foot of the window, console-style:
    solo, max·eco·min, the pool, copy address, change address, back up, report a
    bug — each with a keycap showing the key that also does it. The header keeps
    the name, the version, the licence, the status and the batteries.

Added

  • Hotkeys. space presses the crystal; s solo; m cycles max→eco→min;
    p switches the pool; c copies the address; a opens the address screen;
    b backs up the seed; r reports a bug; esc leaves the full-window
    screens. Keys are matched by physical position, so a Cyrillic layout mines
    exactly like a Latin one; letters never fire while a text field has focus.
  • The pool control is one pill that cycles — with two verified pools, cycling
    is choosing.

Zero clippy findings; 21 tests.

erga 0.29.0 — seamless block edges

Choose a tag to compare

@mastercyb mastercyb released this 31 Aug 23:48

Download erga-0.29.0-arm64.dmg, drag to Applications, then:

xattr -dr com.apple.quarantine /Applications/erga.app

Added

  • Seamless block edges. The next block's table is built while the current
    one mines
    , in the compute the memory-bound scans cannot use (the V7
    diagnostic measured ALU running 10× spare). At the edge the tables swap and
    mining continues. Verified live at height 1863302→1863303: 39.4 MH/s · next table ready39.6 MH/s on the new height, next line of the log —
    no pause, and the following block's build already started.

    The price is a second table in memory while both exist, so the machine
    decides fresh at every block, against what is available right now: max
    wants the table plus 3 GB spare, eco plus 8 GB, min never prefetches. On
    a 16 GB Mac nothing changes at all. A block arriving before the build
    finishes flips it to urgent — the familiar pulsing battery, minus whatever
    was already done.

    The regime is visible everywhere: a calm battery in the header (no pulse —
    nothing is waiting) with next table N%, the same in erg mine, and a
    next table row in THE MACHINE that reads ready when the next edge will
    cost nothing.

Changed

  • The version caps read v0.29.0 · mit. The window deliberately does not
    volunteer everything — the development share among it — and the licence is
    the honest pointer: every answer is in the code, and the code is yours.

Removed

  • The to development row. The count still exists in the store and the log;
    the interface does not advertise it.

Zero clippy findings; 21 tests.

erga 0.28.0 — max · eco · min

Choose a tag to compare

@mastercyb mastercyb released this 31 Aug 21:52

Download erga-0.28.0-arm64.dmg, drag to Applications, then:

xattr -dr com.apple.quarantine /Applications/erga.app

Added

  • max · eco · min, beside solo and the pool. How much of the machine mining
    may take, as a duty cycle: dispatch a batch, then stand aside for a
    proportional rest. Wall-clock share is the honest unit — it is what the fans,
    the battery and every other app on the machine actually feel.

    mode measured of full tilt
    max 42–47 MH/s 100%
    eco 9.1 MH/s 21% (asked 25%)
    min 3.6 MH/s 8% (asked 10%)

    The gap is fixed per-dispatch cost. The rate shown is real — those hashes
    genuinely are not being done. The setting is a four-byte file the miner
    re-reads twice a second, so moving the control is felt at once instead of
    costing an epoch-table rebuild. erg mine --intensity max|eco|min from the
    terminal.

Changed

  • The scan stopped allocating three GPU buffers per dispatch. They were
    asked of Metal eight times a second and thrown away; only their contents
    change, not their storage. Over five-minute runs the mean rate went from
    38.0 MH/s to 49.4 — about 29%, though thermal drift makes the exact figure
    soft.

Zero clippy findings; 21 tests.

erga 0.27.0 — a battery for the wait

Choose a tag to compare

@mastercyb mastercyb released this 31 Aug 21:08

Download erga-0.27.0-arm64.dmg, drag to Applications, then:

xattr -dr com.apple.quarantine /Applications/erga.app

Added

  • A battery for the table build. Pressing the crystal is followed by a wait
    while the epoch table is built, and until now that wait was a black box.
    Beside building table… there is now a battery filling up and a percentage,
    and both breathe — a pulse soft enough not to nag and quick enough to say
    working, not stuck. Measured at 1.48× between trough and peak on a 1.8 s
    cycle.

    The progress is real, not a stopwatch pretending. The build kernel takes a
    row offset, so the build is dispatched in eight pieces and each one reports
    as it lands — through the miner's STAT line into the window. erg mine
    prints it too.

Measured

Piece count swept on an idle M4 Max (227M rows, 6.77 GiB):

pieces build
1 13.20 s
4 11.67 s
8 13.37 s
16 14.89 s (+13%)
64 21.49 s (+63%)

Run-to-run spread is about 1.5 s, so the eight pieces the meter needs are free.
ERGA_BUILD_PIECES sweeps it. An earlier sweep run while two other builds were
pinning the CPU reported a 23% cost that does not exist — measure this idle.

Zero clippy findings across the workspace; 19 tests.

erga 0.26.0 — pay where you say

Choose a tag to compare

@mastercyb mastercyb released this 31 Aug 19:50

Download erga-0.26.0-arm64.dmg, drag to Applications, then:

xattr -dr com.apple.quarantine /Applications/erga.app

Added

  • A payout address you choose. change address in the action bar takes any
    mainnet Ergo address, so someone who already mines can be paid where they
    already get paid. It is checked as it is typed — ergo-lib parses it, so the
    encoding's own checksum catches a single changed character, and a testnet or
    script address is refused with the reason rather than by the pool a day
    later. The window, the tray, the ledger query and erg status all read the
    same one address, and mining restarts on a change, because a pool credits
    whoever authorized the session. erga's own wallet is untouched, and one
    button puts it back.

Changed

  • The sounds are modelled as bodies, not as tones. Adding sine partials and
    fading them out is why an app sounds like a tone generator; a real object is a
    body that rings when something hits it. Both sounds are now a burst of contact
    noise poured through resonators — a fingertip on a wooden bar, and a drop of
    water into a bowl that rings from the splash. Each is rendered as three
    slightly different strikes and played in rotation, because nothing in nature
    repeats exactly and an identical sample is what reads as machine.

Fixed

  • A click that only woke the window could press a button. The guard against
    this assumed the window already had focus, leaving the launch frames
    unguarded: a pointer resting where a button appears pressed it before the
    window had finished opening. Found while testing this release — it silently
    reset a payout address and started mining.

Zero clippy findings across the workspace; 19 tests.

erga 0.25.0 — erg

Choose a tag to compare

@mastercyb mastercyb released this 31 Aug 14:24

The command now lands where your shell will actually find it, and answers to a
shorter name.

Download erga-0.25.0-arm64.dmg, drag to Applications, then:

xattr -dr com.apple.quarantine /Applications/erga.app

Fixed

  • The command was linked where no shell would look. It tried a fixed list —
    /usr/local/bin, then ~/.local/bin — and on a Mac where the first needs
    sudo and the second is on nobody's PATH, it reported itself linked and then
    was not a command. It now prefers a directory already on your $PATH, taking
    your own directories before a package manager's prefix, and when it has to
    fall back it prints the real directory to add rather than a guessed one.

Added

  • erg — the same command under a shorter name, linked beside erga.
erg                     open the window
erg mine                mine here, no window
erg status              what the pool owes you
erg help

Headless mining is erg mine: it uses the pool you picked in the window and
the wallet it generated, and every share is still re-verified on the CPU
reference before it is sent.

erga 0.24.0 — the promises the code keeps

Choose a tag to compare

@mastercyb mastercyb released this 31 Aug 13:15

A positional release: no new surface, but the claims in the README are now
claims the code actually keeps.

Download erga-0.24.0-arm64.dmg, drag to Applications, then:

xattr -dr com.apple.quarantine /Applications/erga.app

Apple Silicon, macOS 14+, 16 GB of unified memory.

Fixed

  • The development share was never taken in short sessions. The cadence
    counter lived only in the miner process, which is spawned afresh every time
    mining starts — so anyone mining in bursts of fewer than 20 shares donated
    nothing, and the stated 1-in-20 was quietly 1-in-never. Locally: 38 accepted
    shares, 0 donated. It now survives restarts and is checkpointed on every
    share, so a quit or a kill costs nothing. Verified end to end against a live
    pool: share → switch → accepted development share → switch back.
  • The bug report's environment table rendered as a code block. Source
    indentation had leaked into the issue template, and four leading spaces are
    all Markdown needs. Two tests now hold it flat.
  • The dmg was labelled with a hardcoded version that had to be remembered
    separately. It reads the crate version now.

Added

  • The development count is shown in the app, under to development beside
    your own all-time shares. It was previously visible only inside a filed bug
    report — which is not what "never hidden" means.

Changed

  • The README is rewritten, with every claim rechecked against the code. The
    live and effective hashrates are now separated, since a pool only ever
    agrees with the second.
  • The panels take view structs instead of ten positional arguments. Zero
    clippy findings across the workspace; 14 tests.

erga v0.23.0 — the way out stays put

Choose a tag to compare

@mastercyb mastercyb released this 31 Aug 12:25

erga v0.23.0

The seed screen's dismiss button moved to the foot of the window, at exactly the height of the action bar it replaces — measured at 0 px apart, same padding, same type size.

It had been centred under the words, which meant leaving the seed screen took the mouse away from where every other action in this app lives. A button that moves when the screen changes makes you hunt for it.

Unsigned: xattr -dr com.apple.quarantine /Applications/erga.app after copying. Apple Silicon only.

erga v0.22.0 — the mark in the menu bar

Choose a tag to compare

@mastercyb mastercyb released this 31 Aug 12:22

erga v0.22.0

The menu bar wears erga's own mark, not a hexagon glyph standing in for it. It is the same artwork the Dock and the window use — so the three cannot drift apart — box-averaged down to 22 points and keyed out of its near-black plate. Without that key the square would read as a black tile up there: a status item wants a mark, not a picture.

Fixed a doubled rule in the payout panel. The first one belonged to the balance block that moved to the head of the window back in v0.13.0, and had been underlining nothing ever since.

Unsigned: xattr -dr com.apple.quarantine /Applications/erga.app after copying. Apple Silicon only.

erga v0.21.0 — one column, equal air

Choose a tag to compare

@mastercyb mastercyb released this 31 Aug 12:05

erga v0.21.0

Balance, crystal and address read as one column now, with the same air above the crystal as below it. The address moved up out of the foot to close that column, leaving the foot to hold only the action bar.

Equal constants did not produce equal-looking gaps: the balance block carries empty space under its digits — the ERG row and the font's descent — so the gap above has to be smaller by exactly what that block adds. (I compensated the wrong side first; the measurement caught it.) Looking equal is the only kind of equal that counts.

The header icon is a third larger. At 26 points it was a smudge.

The effective rate drifts instead of twitching. It is smoothed over about fifteen seconds — the raw figure steps every time a table rebuild stalls the numerator while the clock keeps running, and a number whose job is to say this is your real pace should not jump.

Unsigned: xattr -dr com.apple.quarantine /Applications/erga.app after copying. Apple Silicon only.