GenesisZ
Hi Zcashers,
I’ve developed a python tool for mining Zcash based altcoin genesis blocks, that is, altcoins using the Equihash PoW algorithm and block layouts as used by zcash. I release the tool under the GPLv3 license and welcome any feedback. See README.md for further information.
Features
- Modify every parameter that influences the block header hash (see Usage)
- Support for silentarmy
- Sensible defaults
- Placeholders of the form
{BTC}
,{ETH}
or{ZEC}
in theTIMESTAMP
input string get translated to the currency’s latest block number and hash. - Uses the
python-zcashlib
, which is a (still very much unfinished) extension of the well-knownpython-bitcoinlib
.
Examples
Zcash mainnet
Mine the zcash mainnet gensis block with the silentarmy solver by calling
./genesis.py -s "/path/to/sa-solver" -r 5000 -t 1477641360
or cheat, because you already know the right nonce:
./genesis.py -s "/path/to/sa-solver" -n 1257 -t 1477641360
Zcash testnet
This time using Tromp’s solver with 4 threads, checking up to 10 nonces.
./genesis.py -c testnet -t 1477648033 -b 0x2007ffff -E 0x1f07ffff -s '/path/to/equihash/equi' -T 4 -r 10
It will find the right solution for nonce 6
.
Zcash regtest
Using Tromp’s 48,5
solver with
./genesis.py -c regtest -t 1296688602 -b 0x200f0f0f -E 0x1f07ffff -s '/path/to/equihash/eq485' -T 4 -r 10
will find the correct regtest solution for nonce 9
.
Zclassic mainnet
Zclassic decided to use a custom extra nonce of 0x1d00ffff
. Let’s mine their
mainnet solution (already setting the right nonce to 0x00...021d
) with
./genesis.py -c mainnet -t 1478403829 -E 0x1d00ffff -C Zclassic -z "No taxation without representation. BTC #437541 - 00000000000000000397f175a94dd3f530b957182eb2a9f7b79a44a94a5e0450" -s '/path/to/equihash/equi' -T 4 -n 21d