Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: 100knot2dae on November 29, 2021, 04:18:56 PM



Title: Mining RPC API - changes for taproot?
Post by: 100knot2dae on November 29, 2021, 04:18:56 PM
Hi there,

I have read alot already about taproot activation, but out of all the publicy available information I still didn't get if there is any relevant change introduced by the taproot soft fork that affects mining software. In particular, I'd like to understand if cgminer would need an amendment now (or in the near future) to still be able to generate valid (i.e. accepted) blocks.

As a first verification step, I have solo-mined on testnet with cgminer 4.11.1 (which is three years old) on a Bitcoin core 22.0 node and was generating valid and confirmed blocks just fine.  EDIT: Even without signalling taproot support in the version bit of the block header.

Which was unexpected, so I assumed that legacy and segwit transactions will still be mined successfully (as long as there are any in the mempool). Which again could be fully wrong...

Is the taproot support signalling in the block header the least thing that needs to be done to produce valid blocks on mainnet?  ???

Can somebody please advise?


Title: Re: Mining RPC API - changes for taproot?
Post by: NeuroticFish on November 29, 2021, 07:29:49 PM
Is the taproot support signalling in the block header the least thing that needs to be done to produce valid blocks on mainnet?  ???

From what I've read cgminer cannot solo mine on mainnet with Bitcoin core 22.0.
There's an explanation here, maybe it helps: https://bitcointalk.org/index.php?topic=5372096.msg58474260#msg58474260


Title: Re: Mining RPC API - changes for taproot?
Post by: 100knot2dae on November 29, 2021, 09:28:56 PM
Is the taproot support signalling in the block header the least thing that needs to be done to produce valid blocks on mainnet?  ???

From what I've read cgminer cannot solo mine on mainnet with Bitcoin core 22.0.
There's an explanation here, maybe it helps: https://bitcointalk.org/index.php?topic=5372096.msg58474260#msg58474260

Thanks for your reply. The problem is not with the mining, that works using a modified cgminer with the golden-guy patches also on Bitcoin core 0.20 onwards. What I was worried about is that some additional changes might need to be done for taproot in cgminer in order to produce valid blocks.
All this taproot support signalling discussion made me uncertain, while on the other hand solo mining on testnet has worked just fine.

After having dug through the taproot proposal thread just now, I realized that since I am using the official Bitcoin core reference implementation for my solo-mining experiment, everything taproot related is already implemented and available. Didn't happen to think that many (if not most) pools are using a custom implementation and as such have to add necessary taproot code themselves - and signal their readiness once done and deployed. With this, all this signalling makes much more sense  ;D

So if that is the case, and someone can confirm this, the only question left open is whether the taproot signalling is supposed to be included in every new block after the activation of the soft fork on mainnet. On testnet this was not the case, but for mainnet this may be vital since the activation.


Title: Re: Mining RPC API - changes for taproot?
Post by: o_solo_miner on November 29, 2021, 09:41:30 PM
I can also confirm that the blocks get confirmed on testnet3.
https://tbtc.bitaps.com/2105744
(Thank you 100knot2dae for pointing that out!)

I hope that con or kano would answer that question, so that it is clear for all.




Title: Re: Mining RPC API - changes for taproot?
Post by: 100knot2dae on November 30, 2021, 11:19:02 AM
Having both read https://bitcoincore.org/en/2016/06/08/version-bits-miners-faq/ and looking at the recent blocks history on mainnet, signalling version=0x20000000 in the block header is apparently just fine.