UPDATE
The hard fork has been pushed to October 18, 2019.
Hey Blockstackers,
It’s that time of year again! It’s time for the annual hard fork of 2019. This is something we’ve done every year since the beginning to release backwards-incompatible protocol fixes and upgrades. For example, last year’s hard fork of 2018 introduced the Stacks v1 blockchain with native STX tokens, and the year before that added segwit-p2sh support and let users combine some operations into a single transaction. These, in turn built off of work from the 2016 and 2015 hard forks.
As discussed back in 2018, we plan to feature at least two hard forks in 2019. The first one (this one) will introduce the tokens from the recent Regulation A and Regulation S sales, as well as the August and September app mining STX payouts. If you participated in the Regulation A or Regulation S offerings or received STX tokens in app mining, this hard fork instantiates your tokens and begins the unlock process for them.
This hardfork should not be confused with the upgrade to Stacks blockchain v2. The hardfork to Stacks blockchain v2 with native mining is expected in Q1 2020 or later. We plan to introduce Tunable Proofs mining, Clarity smart contracts amongst other things. The testnet for Stacks blockchain v2 is expected to go live in Q4 of this year.
The Oct’19 hard fork is expected to go live on or about October 18, 2019, at Bitcoin block 599866. If you participated in the Regulation A or Regulation S offerings or participated in App Mining, you can verify your token allocation and unlock schedule at https://explorer.blockstack.org/verifier
How To Upgrade a Blockstack Core Node
If you run a Blockstack Core node, you must upgrade your core node to the new fork. To upgrade, you would do the following once the new version is released:
- Move your old
~/.blockstack-server
directory to a~/.old-blockstack-server
directory. Do not delete it, you will need the~/.blockstack-server/blockstack-server.ini
file. - Make a new
~/.blockstack-server
directory. - Copy over your old
~/.old-blockstack-server/blockstack-server.ini
file to your new directory. - Grab the latest Blockstack Core from source or PyPI. To do so, run
pip install blockstack
in your terminal. - If you aren’t booting up from genesis, skip this step and go to the next. Otherwise, run
blockstack-core --debug fast_sync
in your terminal. - If you are booting from genesis, run
blockstack-core --debug start
. You can watch the node spin up in~/.blockstack-server/blockstack-server.log
withtail -f
.
We will post a link on this forum post when the code is in PyPI and ready to download. The only remaining changes are to add some new entries to the genesis block file that grant ownership to the unallocated tokens that were sold.
A previous version of this post had listed the hard fork date as October 9, 2019. Prior to that date, we had released a draft genesis block and self-service audit page, linked above, and we were in a position to execute the hard fork by this original date. However, we’ve received many support requests and questions leading up to that date, and we wanted to ensure we left ample time to address all the concerns and questions of our users. Per the offering circular filed with the SEC, we may take up to an extra 30 days (for a total of up to 60 days from the end of the sale) to prepare for the technical delivery of the token, and so we are taking approximately 10 of those 30 extra days to address the support requests and questions.