Weekly Stacks 2.0 Progress Thread

6.18.2020

2 Weeks in to Argon

Welcome back to the weekly update on the anticipated Stacks 2.0 protocol upgrade, including PoX. The Argon phase of the testnet went live two weeks ago, along with the testnet bounty program, which rewards for finding bugs and building tools and resources around PoX.

Here are some of the highlighted technical updates and fixes from the previous week:

  • There was a lot of great conversation on the potential of storing traits in variables in Clarity without compromising decidability. Engineers worked closely with the Clarity Hackathon winner, PSQ, to introduce a ‘contract-of’ call which takes a trait as a parameter, and returns the contract principal that implements the supplied trait argument. → Github
  • This massive PR fixed a slew of networking related issues in the main stacks-blockchain repository. It fixed the net p2p failed walk throttle and cidr blocklist, and adds additional functionality to nodes in the network. A huge step in making Stacks 2.0 more stable. → Github
  • Updates to stacks-transactions-js that augments transaction broadcasting such that it returns a response instead of a string. If the response fails it will contain a TxBroadcastError. It also introduced a handful of custom error classes and changed the transaction broadcast API return type. → Github
  • Another PR was merged to stacks-transactions-js that allows buffers provided as contract-call arguments to be less than or equal to the size specified in the Application Binary Interface (ABI). → Github
  • To make feedback on the new Explorer more efficient, we added a feedback link to the footer, allowing anyone to quickly leave comments or bug reports via Blocksurvey. → Github

Development on Stacks 2.0 is really ramping up, and the next phase is laser-focused on Proof of Transfer and the Stacking mechanism. PoX is a massive technological undertaking, and engineers are heads-down in fleshing out the details and squashing bugs. Refactoring is inevitable, like this pull request that was just merged enabling generic MARFs in the ‘trie identifier’ and introducing a StacksBlockId type for capturing the index block hash. → Github