PyBLØCK BLAKE2b — Stratum V2 endpoints (Noise NX, pool authority key, extended channels) ========================================================================================= Same pools, same rules, same on-chain payouts as the Stratum V1 ports. Transport = SV2 binary framing encrypted with Noise; the pool proves its identity with the authority key below (pin it in your miner). 🌌 CHIRP GPU/CPU stratum2+tcp://pool.pyblock.xyz:5594/9bHUc9mm6rV6mcg1QUWfgSToWtLrW9ydbXRvBfDGX1kCVeYhLfR 🌌 CHIRP ASIC stratum2+tcp://pool.pyblock.xyz:23133/9bHUc9mm6rV6mcg1QUWfgSToWtLrW9ydbXRvBfDGX1kCVeYhLfR (share difficulty starts at 4096) 🎠 CAROUSEL stratum2+tcp://pool.pyblock.xyz:30130/9bHUc9mm6rV6mcg1QUWfgSToWtLrW9ydbXRvBfDGX1kCVeYhLfR user_identity = YOUR_BTC_ADDRESS[.worker] · extended channels only (extranonce2 = 8 bytes) authority_public_key: 9bHUc9mm6rV6mcg1QUWfgSToWtLrW9ydbXRvBfDGX1kCVeYhLfR BLAKE2b job mapping (the only difference with Bitcoin SV2 is the hash of the job): NewExtendedMiningJob.coinbase_tx_prefix = 39 bytes (Sia coinb1: 000 ‖ commitment ‖ 0000) · suffix empty · merkle_path empty work_root = BLAKE2b-256( 0x00 ‖ coinbase_tx_prefix ‖ extranonce_prefix ‖ extranonce2 ) header(80) = SetNewPrevHash.prev_hash(32) ‖ nonce u32 LE ‖ 0000 0000 ‖ ntime u32 LE ‖ work_root(32) share = BLAKE2b-256(header); compare little-endian (reverse the 32 bytes) against the channel target (U256 LE) SubmitSharesExtended{job_id, nonce, ntime, version, extranonce = extranonce2} Reference implementation (bridge + test client): blake2b-sv2-bridge (source published with the PyBLØCK repos).