Weekly Stacks 2.0 Progress Thread

August 4, 2020

9 Weeks in to Argon

Hey there, Blockstackers. Another week of Stacks 2.0 testnet means a whole new set of development updates as we work towards Proof-of-Transfer, Stacking, and eventually a Stacks 2.0 mainnet launch!

In general, the team continues to be heads down with PoX development.

Resources:

  • new : A public tracker has been set up so you can easily follow stacks-blockchain progress on the upcoming phase (Krypton) of the testnet
  • Full description of the current Argon phase
  • Bounties are still available and we’re paying faster than ever - take a look!

Here are the most significant updates from the past week:

  • A PR was merged ensuring that the parent burn header hash is used to confirm that the latest burn block (seen by a miner when the block commit was produced) is the parent of the sortition in which that block won. → Github
    • This also fixed a regression problem for neon_node.rs in the next branch and alleviated a bug that was causing particular tests to time out due to a regression in the way a block’s parent’s header is loaded. → Github
  • Community member PSQ was the lead contributor to an updated implementation of withdraw-reward. He identified that it would be more efficient to directly credit miners without an additional transaction. → Github
  • When connecting peers using NAT, the “Confirm IP Address” step of the public IP-learning protocol was removed. Now, the IP-learning protocol just asks one of the initial seed nodes given to the peer DB for the peer IP address. → Github
  • A PR was merged that makes sure that all DB commits to the sortition DB and Stacks DB first commit their MARF-indexed values, and then commit their MARF tries. It removes a race condition where an indexed commit was superseding the full transaction commit, and was the root-cause of at least one observed thread of panic on the testnet. → Github
  • We are systemically changing the way we index Stacks blocks in preparation of Proof of Transfer. A PR was merged that begins the chainstate refactor for the transition. In doing so, Stacks blocks are unique to their PoX fork. This PR will not be compatible with the current Argon testnet. → Github
  • Various bug report templates were added to the stacks-transactions-js repo to allow for more formalized and categorized bug reporting. → Github
  • A PR has been merged that enables the construction of sponsored transactions where a second “sponsor” signer can pay the fees of a transaction signed by the origin. → Github
    • The stacks-blockchain-api has also been updated to enable sponsored transactions. → Github
  • A bug was fixed where an address’ STX balance value was not taking fees into account. Also, a new API for STX-only wallets which doesn’t perform queries on FTs/NFTs was added. → Github
  • A GH Action workflow was added to the stacks-blockchain-api repo which automates linting, testing, build, release & semantic versioning. → Github
  • A slew of updates have been applied to the Blockstack docs. In the pipeline is a new URL scheme, major image consolidation, retitling of pages, and helpful formatting fixes. → Github

In case you missed it: In the stacks-blockchain repo, we’re starting to use the pattern of merging any significant upgrades in the next branch instead of the master branch. The intention is that the next branch will be deployed on the next testnet reset, whereas whatever is in master is safe to run against what’s currently live on the testnet.