Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update RegTest Settings - Taproot Test #270

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

JaredTate
Copy link

These settings allowed for me to step through a complete taproot signaling and activation window soft fork process on regtest. The way taproot softwork will work according to BIP 9 is as follows:
https://en.bitcoin.it/wiki/BIP_0009

With each block and soft fork, we associate a deployment state. The possible states are:

DEFINED is the first state that each soft fork starts out as. The genesis block is by definition in this state for each deployment.

STARTED for blocks past the starttime.

LOCKED_IN for one retarget period after the first retarget period with STARTED blocks of which at least threshold have the associated bit set in nVersion.

ACTIVE for all blocks after the LOCKED_IN retarget period.

FAILED for one retarget period past the timeout time, if LOCKED_IN was not reached.

I can 100% confirm our taproot activation will work. All tests passing for taproot code.

Screenshot 2025-01-07 at 5 25 07 PM
Screenshot 2025-01-07 at 5 26 50 PM
Screenshot 2025-01-07 at 5 27 15 PM
Screenshot 2025-01-07 at 5 27 55 PM
Screenshot 2025-01-07 at 5 35 18 PM

There we have it . The taproot activation process: "defined" -> "started" -> "locked_in" -> "active". Successful activation on regtest.

Note:
So the way activation works is on Jan 10th the network will say "started". If 70% of blocks get mined supporting taproot in a rolling 1 week period then it will switch to "locked_in" then 1 week after it will be "active". This could take weeks or months. We need 70% of miners to agree.

Once active the GUI will not allow users to send taproot txs though. This functionality was not added until BTC v23 when a drop down selection was added. 3 versions after taproot code was introduced and after activated on BTC.

Screenshot 2025-01-07 at 5 54 02 PM

Prior to that taproot tx's on BTC v22 could only be created manually with outside scripts as detailed here: https://www.reddit.com/r/Bitcoin/comments/r37ky5/howto_create_and_use_a_taproot_wallet_on_testnet/

So once DigiByte activates taproot we will need to release another version of DigiByte Core v8.23 that allows users to use taproot addresses in the GUI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant