July 15, 2020
6 Weeks in to Argon
Another week, another batch of technical updates from the Argon phase as work continues toward Krypton (Phase 3)! The Stacks blockchain, JavaScript library, explorer, and docs pages are all improving with each iteration, and a handful of community members have stepped up with extremely beneficial contributions to the codebase.
You can get involved right now by taking on bounties for bug squashing, tool building, resource crafting, and even community enrichment.
Here are the highlights we’re most excited about from the last week:
- BurnDB has been refactored to support Proof-of-Transfer (PoX). The previous BurnDB has become the SortitionDB, and entries in this database are identified by SortitionID . → Github
- A lot of work was done to allow state representation of unanchored microblocks. This PR updates the MARF and Clarity DB so that it can both represent and persist a state that has not been confirmed by an anchored block. At the lowest layer, it adds an alternative way of loading and storing indexed data: unconfirmed Tries. It updates the MARF so that you can either begin() a new Trie as before, or begin_unconfirmed() . → Github
- Dockerfile was updated to produce a stacks-node bin with Prometheus monitoring enabled. Before, it was compiling the stacks library with the monitoring_prom feature flag, but not cascading the flag to the stacks-node target. This resulted in the stacks-node code behind the feature gate not being checked / compiled / included. → Github
- Related to monitoring, the team added a gauge for keeping track of active miners on the testnet. This is baked right into Prometheus, and will aid our ability to track testnet progress and miner interest. → Github
- Various fixes were applied to the event dispatcher. We no longer want to suffix endpoints with a backslash, and will produce a parsing error when such a value is provided. Also included was a repair for a situation where content-type header was being added twice to a POST. → Github
- Changes were made to stacks-transactions-js that exposes a few integral items from postconditions.ts . This will be used in integrating debug mode for transaction signing, which supports passing post conditions with Connect. In addition, the authenticator needs the PostCondition type, and client apps might need the post condition builders. → Github
- Heads up: 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.