The next major milestone towards Stacks 2.0 launch is a public testnet, tentatively targeting the week of March 30th! In this post we’ll share some more details on what to expect and how you can get involved.

Get Involved

Testnets serve two primary goals:

Quality: testnets are a “staging” environment for the eventual mainnet and can help surface critical bugs, missing features and rough edges. We need your help in running and poking at the testnet code, so we can have a high quality mainnet launch! Community: testnets can help translate abstract interest in mining, stacking, delegation etc into tangible communities and concrete actions. Our community is the bedrock on which this project will succeed and grow, and testnets can be a great test bed for galvanizing working groups, driving collaborative action and momentum.

We’re looking for community feedback and input on several aspects of the testnet:

Scope of each phase

of each phase Duration of each phase

of each phase Naming : We’ve seen “Game of Stakes”, “Stake Wars”, subway stations, Swedish towns etc etc. We can’t wait to see what the Blockstack community comes up with!

We plan to setup a dedicated Github repository for the testnet which will be the central point of communication and coordination for all things testnet, including any feedback and bug reports. We are also exploring if and what incentive mechanisms might be appropriate for each testnet phase.

Please add your feedback as a reply to this post

High-level Testnet Plan

We intend to run through various testnets in “phases”, each phase characterized by specific focus area(s). We anticipate the initial few phases to be sequential, and we’ll parallelize later phases where feasible. Depending on what we uncover in each Phase, we may need to push out the start of the next phase if any issues need to be fixed first.

Please keep in mind that all details are subject to change as we approach the projected launch date of April 1, 2020, and even thereafter, as we learn from testnet activity and adjust accordingly.

Phase 1: basics

Duration: one week. Resets daily.

Nodes connect to one shared public Bitcoin node running in regtest mode

Scope Users can obtain testnet BTC and STX Users can send / receive STX via CLI P2P network operational: nodes can discover and connect to other testnet nodes Nodes can generate and broadcast Stacks transactions Nodes can process PoB transactions Nodes can build up a complete replica of the chain state and assemble the corresponding MARF Miners can successfully mine blocks and microblocks Can block other Bitcoin regtest nodes from joining Can resist basic DoS / resource exhaustion attacks from maliciously-crafted blocks and transactions



Phase 2: integration

Duration: two weeks. Resets every 3 days.

Nodes connect to one shared public Bitcoin node running in regtest mode

Scope (cumulative over Phase 1) Developers can upload a smart contract and call it (directly and via another contract) Transaction fees and resource limits in Clarity both work A webapp that can interact with testnet contracts: both read and update state Serve blocks, transactions and neighbor-data via a local HTTP endpoint Verify side-car is processing and serving data correctly Verify basic Explorer functionality against testnet Verify basic wallet functionality against testnet Test all above against a “forking” Bitcoin chain



Phase 3: stacking & delegation

Duration: two weeks. Resets every week.

Nodes connect to Bitcoin node(s) running in regtest mode

Scope (in addition to what’s in Phases 1 and 2) Validate PoX basics: miner get rewards, Stackers get BTC distributions Validate PBC Stacking wallet against testnet Test all above against a “forking” Bitcoin chain



Phase 4a: hardness

Duration: two weeks. Resets every week.

Nodes connect to Bitcoin testnet.

Scope Ensure Stacks 2.0 nodes can work with the more hostile and unpredictable environment of Bitcoin testnet.



Phase 4b: upgrade

Duration: one week. No resets unless needed.

Nodes connect to Bitcoin testnet

Scope All nodes start on Stacks V1 (running the stable 2.0 software) Genesis block simulates the types of accounts and balances we have today with different locks and vesting schedules Validate that once sufficient miners are on the network, an upgrade is automatically triggered and successfully completes



Phase 5: staging

Duration: perhaps in perpetuity?

Nodes connect to Bitcoin testnet

Scope: this testnet should live on potentially forever as a “known” staging environment for anyone wanting to build / test against Stacks 2.0

With your help and support, we hope to learn and iterate quickly after the initial testnet launch. Please give us feedback and if you have any other comments, questions, suggestions, add them below!

Thanks!

Important disclaimer

Blockstack PBC is not registered, licensed, or supervised as a broker dealer or investment adviser by the Securities and Exchange Commission (SEC), the Financial Industry Regulatory Authority (FINRA), or any other financial regulatory authority or licensed to provide any financial advice or services.

Forward-looking statements

This communication contains forward-looking statements that are based on our beliefs and assumptions and on information currently available to us. In some cases, you can identify forward-looking statements by the following words: “will,” “expect,” “would,” “intend,” “believe,” or other comparable terminology. Forward-looking statements in this document include, but are not limited to, statements about our plans for developing the platform and potential mining operations. These statements involve risks, uncertainties, assumptions, and other factors that may cause actual results or performance to be materially different. We cannot assure you that the forward-looking statements will prove to be accurate. These forward-looking statements speak only as of the date hereof. We disclaim any obligation to update these forward-looking statements.