Data Center 1.7.0
Curse Maven Snippet
What's new
Five new coins close the six years the calendar had nothing in, a market can now be too small for your order, and the technician stopped walking in circles.
Changed
One payout loop instead of ten copies of it. Ethereum, Kaspa, Monero and Litecoin each had their own tick method, written out in full in both the Mining Rig and the ASIC - ten copies of the same eleven lines, differing only in which history they read, which reward curve they asked and which block time they divided by. All three of those are properties of a chain, and they live in that chain's entry now. Bitcoin keeps its own path, because fees and solo mining make it genuinely different rather than merely differently spelled. What a machine has earned but not yet been paid is one figure per coin too, under the keys it always had
The wallet holds coins instead of naming them. Seven named fields with seven getters, seven adders, seven sellers and seven lines of save and load - and a new coin meant writing all of them again, correctly, in six places. It is one balance per coin now, and every method that was named after a coin still exists and still reads the same, one line each. What is written to a save is byte-for-byte what it was: each balance keeps the exact key it always had, checked against the live server's own wallet file rather than against the source, because a balance whose key changes is a balance that is gone
Every chain now has one entry that says what it is. Its first day lived in one class, its cap in another, its algorithm in a
switchin the mining loop, and the one chain that has stopped - Ethereum - as a date buried in its own reward curve. Seven coins survived that arrangement; the plan is every mineable coin there is, and twenty would guarantee that one of them quietly disagrees with itself. Chia already does - its own history class is missing a line the other six have, which is why Chia farming would silently stop paying in September 2026. Everything generic now reads one table, and a new coin is an entry in it plus its data rather than a hunt through the codeA market can be too small for your order. A sale used to be filled at the day's closing price however large it was, which made every market infinitely deep - a hundred thousand Bitcoin mined in 2011 could be sold, every last one, into a market that really turned over a few thousand dollars a day. On the first day a Bitcoin market existed at all, 17 July 2010, the entire world traded twenty coins, worth about one dollar. An order is now measured against that day's real traded volume: a hundredth of it costs you about 1%, a tenth about 9%, a whole day's trading halves what you get. The world's price never moves - only what your own order is filled at, while it is filled, which is the same shape the hashrate already has. Selling a hundred Bitcoin in August 2010 keeps 97% of the price; ten thousand on the same day keeps 23%; ten thousand at the 2021 peak keeps 98%, because by then the market could swallow them. Volume is a real daily series for every coin, back to 2010 for Bitcoin. The strength is one config value and 0 turns it off
The Shop's wallet shows every coin, and
/balancedoes too. The wallet pane was a hand-written list of seven rows, each needing its own synced field and its own sub-unit written out, so a coin added anywhere else simply never appeared - which is what had just happened to all three new ones. It is built from the coin table now. The/balancecommand had been naming three coins by hand and had been quietly wrong for four of them since Litecoin was added; it lists whatever the player actually holds, and leaves out what they do notA rig is pointed at a chain now, not at an algorithm. That distinction did not exist while every algorithm had exactly one coin behind it, and two of them no longer do: Ethereum Classic runs the same Ethash as Ethereum, Bitcoin Cash the same SHA-256 as Bitcoin. Choosing the work but not the coin would mean the game choosing for you - and after The Merge it would mean being pointed at a chain that pays nothing. The dropdown lists chains with the work beside each, the algorithm follows from the chain rather than the other way round, and a machine saved before any of this keeps mining exactly what it was mining
Ravencoin and Ergo as well, so the gap is closed completely. Ravencoin (3 January 2018) is Bitcoin's schedule denominated a thousand times over - 5,000 coins a block, a block a minute, halving every four years - and it changed its own proof-of-work in May 2020 to shake off the ASICs built for an algorithm meant to keep them out. The network fell from 23.8 TH/s to 3.4 TH/s overnight, and the data shows it. Ergo (1 July 2019) does not halve at all: 75 coins a block for two years, then three less every quarter until the reward reaches zero around 2028. Both are graphics-card coins, which gives a GPU somewhere to go in the years when ASICs had taken everything else
Three coins for the six empty years. Between Ethereum in July 2015 and Chia in May 2021 the calendar offered nothing new at all - about sixty hours of a server's life without a single arrival, across exactly the years most people remember. Ethereum Classic (20 July 2016), Zcash (28 October 2016) and Bitcoin Cash (1 August 2017) now sit in that gap, each with its real emission curve: Classic's "fifthening", which takes a fifth off every five million blocks rather than halving; Zcash's slow start, which ramped its reward from zero over its first 20,000 blocks and so keeps a day-one miner from being paid at the launch price of $5,941; and Bitcoin Cash on Bitcoin's own schedule, halving a few days earlier each cycle because it finds its blocks at its own pace. Their prices, traded volume and network size are real daily series - 31,855 measured days, no gaps - and the curves were checked by integrating them: totalled to today they land within a few percent of each chain's real supply once the coins nobody mined are accounted for
Fixed
- The technician stopped circling, for real this time. Half the fault was fixed this morning; the other half was hiding behind a return value. When he could not afford a part, or could not find one, the repair reported success anyway - so nothing was remembered, the next room scan found the same machine, and he walked back to it for ever. That was the case the original report was really about. A repair now counts as done only when the machine is running again
- A dead mainboard is no longer the end of a machine. He refused to touch boards, for a good reason - changing one ejects every part that was sized to the old socket, which is a rebuild rather than a repair. What that left out was the machine it condemned: a dead board on an obsolete socket has no answer at all, so the rack stood there for ever waiting for a player who might never come. He may now do the rebuild, under a rule that keeps the old objection honest: he only starts if he can finish. The whole swap is worked out first - which board keeps the most of your existing parts, which ones it displaces, and whether every displaced one can be replaced - and if any of that fails, nothing is touched. The money is taken in one payment for the same reason. What comes out goes on his shelf, never on the floor: a processor for a socket nobody sells any more is still worth something to somebody
- He can fix a machine whose parts are no longer sold. The used market lists every component a year after release and keeps it listed for ever, long after the new one is gone - so the identical 2016 card is still buyable in 2024, second-hand, with 40-65% of its life left and the short warranty that comes with that. He looks in order now: the shelf, the same part new, the cheapest new part that gives up nothing, the same part second-hand, the cheapest second-hand equivalent - and finally anything that fits at all, even if it is weaker than what died, because a machine standing still earns nothing while one running slower earns something. He says which of those it was, so a rack quietly filling up with second-hand and slower parts is something you can see happening
- A rig no longer shows a Dogecoin rate it is not earning. Only the Litecoin loop cleared that figure, so a machine switched from Scrypt to any other algorithm kept displaying whatever Dogecoin it had been earning before the switch. It fell out of merging the loops: a difference between two copies of the same code is invisible until the copies become one
Added
A chain can now be declared finished, and the game behaves accordingly. There was no way at all to say "this cannot be mined any more" - The Merge worked only because Ethereum's reward curve happens to return zero, which pays nothing while still looking to every screen like a running chain. Three things follow from stating it outright: Ethash disappears from the algorithm list once Ethereum has left Proof-of-Work, instead of staying selectable for ever; a machine pointed at a chain that has stopped tells its owner so every five minutes, instead of drawing power and earning nothing in silence - the same courtesy an exhausted coin already gets; and the ASIC screen says "mining ended" like the Mining Rig always did, instead of reporting a network of 0 H/s
The end of Ethereum mining is now announced in advance. The Merge was already modelled - the reward and the network both go to exactly zero on 15 September 2022 - but it was announced on the day itself, so an Ethash rig went from earning to earning nothing overnight with no warning. That is the opposite of what really happened: the end was declared, rehearsed in public and counted down for nearly two years, and any miner who was paying attention had time to move their hardware or sell it. Five real milestones now lead up to it - the Beacon Chain going live (1 Dec 2020), the Ropsten rehearsal (8 Jun 2022), the last rehearsal on Goerli (10 Aug 2022), the day the date was named (24 Aug 2022) and the nine-day warning when Bellatrix armed the switch (6 Sep 2022). Dates taken from the Ethereum Foundation's own announcements, not from memory. From Goerli on, the messages say plainly what a miner should do about it, including that Ethereum Classic runs the same algorithm
This mod has no additional files