The Zecnero testnet upgrades again at block 52,063. At 75 seconds a block, that block arrives around Sunday, November 8, 22:00 UTC, 72 hours after this release. The height decides; the time is an estimate. The upgrade is called NU2. The chain keeps running, balances stay, and so do the heights on the Genesis Miners wall. Testnet coins have no value.
NU2 makes two changes. The proof of work moves to RandomX v2, and the testnet becomes Orchard only, as Mainnet is from its first block. Every node, the pool, every miner and every wallet has to upgrade before block 52,063, and Sapling coins have to move to Orchard before it: from that block they can’t be spent.
What changes
Orchard only
From block 52,063 no transaction may have a Sapling spend or a Sapling output, coinbase included. Payments, change and shielded mining rewards go to Orchard, through unified addresses (nutest1…). Mainnet has this rule from block 1, so the testnet now runs wallets, the pool, the faucet and exchange integrations the way Mainnet will.
Sapling coins still in a wallet at block 52,063 stay there for good: no later transaction can spend them. The next section says how to move them.
RandomX v2: rx/zecnero2
From block 52,063 blocks are mined with rx/zecnero2: version 2 of RandomX, as released upstream in RandomX 2.0.1, under Zecnero’s own salt. Version 2 runs longer programs, 384 instructions instead of 256. The value compared with the target is no longer the RandomX hash itself but a commitment to it: BLAKE2b-256 of the 140-byte block header input followed by the hash. Blocks below 52,063 keep rx/zecnero, RandomX version 1.
The salt and the key schedule stay, with a new key every 2,048 blocks, so a miner keeps its dataset across the switch. The difficulty rules stay too: NU2 is not a new difficulty anchor, and difficulty carries on from where it is. A computer mines rx/zecnero2 at a different hashrate from rx/zecnero, so measure yours again after the upgrade. If the network’s hashrate changes at the switch, blocks come faster or slower than every 75 seconds for an hour or two, until the difficulty adjustment catches up.
RandomX v2 is upstream’s revision of RandomX. The 2019 audits of RandomX cover version 1; no audit of version 2 has been published. The testnet runs it in public before Mainnet: the program version Mainnet launches with is being finalized on the testnet. The salt keeps rx/zecnero2 apart from XMRig’s rx/2, RandomX v2 with the reference salt, so a miner built only for one can’t mine the other.
A new branch ID
From block 52,063 transactions are signed for NU2’s consensus branch ID, 0x03524D5A, and nodes require protocol version 180200 from their peers. Transactions stay version 5, and payments stay shielded: only coinbase transactions have transparent outputs.
Move Sapling coins to Orchard
Do it as soon as you have the new wallet, and not in the last hour before block 52,063. A move that is not mined before that block is dropped, and can’t be sent again after it.
- Command-line wallet: update to wallet 0.4.0 from the wallets page, then run
zecnero-wallet move-to-orchard. It sends every Sapling note in the wallet to the wallet’s own Orchard address, up to 150 notes a transaction, and repeats until none is left. Once the moves are mined,zecnero-wallet balanceshows them under Orchard. A note worth less than the fee to move it stays in Sapling. - Desktop wallet: update to desktop wallet 0.4.0 from the same page and press Move Sapling to Orchard. It stays on the overview until nothing is left to move.
- Pool balances: switch your pool login to a unified address early (next section), so less builds up on the Sapling one. From block 52,003 every payout round of the official pool pays the Sapling-login balances to their Sapling addresses, whatever their size, less each one’s share of the batch fee. Move those coins to Orchard as soon as they arrive. Anything the pool still holds for a Sapling address after the upgrade stays held: no transaction can pay Sapling then.
Upgrade before block 52,063
The release is zecnero-testnet-v0.3.0, with node 0.3.0, out now on the file host, signed as usual.
- With the one-command install: run
zecnero-miner update. It installs the new miner, node and bridge, for pool and solo mining alike, and restarts mining if it was running. Your key, wallet and settings are kept. - Your pool login: the pool now takes unified logins (
nutest1…, with an Orchard receiver) and pays them in Orchard. Ifzecnero-miner statusshows a Sapling login (ntestsapling1…), switch it withzecnero-miner pool-login, as the mining guide shows. The pool stops taking Sapling logins at block 51,903, 160 blocks (about 3 hours 20 minutes) before the upgrade; its API gives that height asorchardOnly.loginStopHeightin /api/stats. - Memory: the new miner mines
rx/zecnero2only in fast mode with the JIT, which needs about 2.3 GB of free memory (the 2,080 MB dataset and the 256 MB cache). A miner in light mode logsrx/zecnero2 (NU2) will not be mined on this machine: free memory and switch it to fast mode, or it stops at block 52,063. - With the native Windows miner (beta): run
zecnero-miner update, or Update Zecnero miner in the Start menu. The beta miner you have minesrx/zecneroonly and stops at the upgrade until it is updated; the new one mines both, as on Linux. - Solo with your own node: the same update installs node 0.3.0 and bridge 0.2.0, which tells the miner when to switch. The node’s
miner_addressmust be a transparent address (nm…) or a unified address with an Orchard or transparent receiver: node 0.3.0 does not start with a Sapling-only one. - With your own
xmrig-zecnero: take the one in zecnero-testnet-v0.3.0. The miner takes each job’s algorithm from the pool, so your command keeps working once its login is a unified address:xmrig-zecnero -o stratum.zecnero.org:3334 --tls -u YOUR_UNIFIED_ADDRESS. - Other mining software, such as cpuminer-rplant, needs a version with
rx/zecnero2. Without one it can’t mine from block 52,063. - Wallets: update to wallet 0.4.0 from the wallets page, then move your Sapling coins. Older wallets can’t send from block 52,063, because their transactions carry the old branch ID; your Orchard and transparent coins are not affected and can be spent again as soon as you run the new wallet.
- Pools, exchanges and other software that builds on the node: take the algorithm from the
algofield of the node’s block template, not from the height; checkrx/zecnero2shares against the commitment; pay Orchard; and move your Sapling funds before block 52,063. The integration spec has the details, and the contact page says where to ask.
The official pool and the faucet
- The pool takes unified logins from this release and pays them in Orchard. It stops taking Sapling logins at block 51,903, and from block 52,003 pays the Sapling-login balances in every payout round, less each one’s share of the batch fee. From block 52,063 it pays unified addresses only, and anything still held for a Sapling address stays held.
- The faucet at faucet.zecnero.org pays unified addresses (
nutest1…).
Nodes that do not upgrade
A node that has not upgraded stops at block 52,062 and loses its peers. Its status can still look healthy, and a solo miner on it may keep mining a chain nobody else follows. Blocks mined that way never count. Check your height against the explorer. Update the node and start it again, and it carries on with the chain. If it shows no peers two minutes after the update, run zecnero-miner restart. If it mined blocks of its own after block 52,062 and does not move on, zecnero-miner repair-chain deletes its chain data and syncs it again.
Do not downgrade after the upgrade. A node that has to go back to 0.2.x after block 52,063 needs a fresh sync.
Timeline
- Thursday, November 5: zecnero-testnet-v0.3.0 and wallet 0.4.0 on the file host, and this announcement with the height, 72 hours ahead.
- Block 51,903: the official pool stops taking Sapling logins.
- From block 52,003: every payout round pays the Sapling-login balances.
- Around Sunday, November 8, 22:00 UTC: block 52,063.
rx/zecnero2, Orchard-only payments and the new branch ID apply from that block on.
Questions go to Discord, and bugs to GitLab. Testnet coins have no value. Mainnet is planned for December.
Subscribe with RSS: https://zecnero.org/rss.xml