Stacks 2.0 testnet coming soon!

#1

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:

  1. 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!
  2. 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
  • Duration 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 :pray:

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.

7 Likes
Weekly Stacks 2.0 Progress Thread
#2

Hi there. How to join the testnet?

#3

I think there will be am open Github Repo about testnet instruction.

#4

We’ll share instructions soon, thanks for your interest! Gavin is right, it’ll likely be in a Github repo.

#5

Hey, would love to participate in the test net. Is there a place for a non developer?

3 Likes
#6

Hi everyone,

Hard to believe this post was less than 3 weeks ago! We’ve all been impacted by COVID-19 in one way or another. In light of this, we’re adjusting our launch timeline to the week of April 20th.

Additionally, we’ve setup a public Github project to make it easy for anyone to check in on the progress and status: https://github.com/orgs/blockstack/projects/32

Given the overall uncertainty in the macro environment, we plan to re-assess these timelines and update this thread on a weekly basis.

Thanks for your patience, stay safe!

2 Likes
#7

Thanks, Diwaker for the update and for the great work moving things forward in the last weeks!

Blockstack PBC is adjusting to working from home under quarantine due to COVID-19 (myself included). We started making this shift early March. We’ve broken up the testnet work into discrete phases and Neon is the first launch/phase. The adjusted timeline reflects the new phases division.

Also, please remember that the week of April 20th timeline is an estimate and we’ll keep the forum updated every week. The best place to track progress remains Github.

1 Like