October 1, 2020
1st Week of Krypton
Good afternoon, Blockstackers! It felt like Christmas in September last week when the Krypton phase of the Stacks 2.0 testnet officially went live! This was a massive milestone on the way toward Mainnet, and we’re looking forward to community members testing out all the new features. PoX Mining and Stacking are open for business, and documentation has been updated so you can dive into experimentation.
Here are the most substantial technical developments from the past week:
stacks-blockchain
- Updates to the networking stack for Proof-of-Transfer: This PR implemented many of the features needed for Krypton, including a ground-up rewrite of the block inventory synchronization logic that takes into account what the local and remote nodes know about the states of PoX anchor blocks. → Github
- In the first phase, a node incrementally builds a view of the remote node’s knowledge of PoX anchor blocks.
- Once a local node has a view of a remote node’s PoX state, it will incrementally build up a view of the remote node’s present Stacks blocks and microblocks.
- Adjustments to the Krypton deployment. Determined Krypton PoX parameters such as Reward cycle length, threshold, and prepare length. → Github
- Numerous bug fixes were applied for Krypton. → Github
-
chainstate.get_reward_addresses needed to take the current burnchain block height as an additional argument.
-
The default constants in the pox.clar change depending on mainnet flag.
-
The reward set is sorted by address.
-
- Developer Experience adjustments for Krypton. → Github
- Mechanism to let the sidecar know that a transaction stacked some STX.
- Ability to discover PoX parameters.
- Ability to confirm that a user is eligible for PoX.
- Includes a noop handler for STXLockEvent. → Github
- Fixed the neighbor walk logic so it doesn’t get stuck in a GetHandshakesBegin state forever if it tries to connect to an unresponsive neighbor. → Github
- Thanks whoabuddy on Github, the ‘neighbors failed to connect’ messages have been changed from info to debug. → Github
- Fixed event ID resource leak for connecting sockets that time out. This should cause the follower node to not freeze up after a few hours. → Github
- Another PR adds a compile-enabled feature for storing to a table a copy of the transaction ID and transaction data whenever a transaction is processed. This lets devs figure out whether or not a particular TXID was processed, and if so, what the result of it was. → Github
stacks-transactions-js
- The multisig feature has now been documented in the README. → Github
docs
- Some quick fixes were applied, including low-hanging fruit structural changes. → Github
- User-facing docs for Stacks Wallet Trezor support were added. → Github
- Tutorials and guides have been updated for Krypton PoX mining. → Github
- Updated rpc references and added a missing redirect. → Github
stacks-blockchain-api
-
Rosetta construction/preprocess endpoint implementation will be used to construct metadata to build a transaction except for nonce. → Github
-
Implemented a Prometheus metrics endpoint with the same libraries being used in the new Explorer. → Github
- This endpoint can be accessed at the root of port 9153.
-
Testnet faucet generosity has been adjusted to give users a larger amount of testnet STX upon request. Required for Stacking. → Github
-
Updating all hardcoded records to use CNAME’d records. → Github
-
Added version 2 PoX endpoint proxy and documentation. → Github
-
Added a follower-mode VScode debugging configuration. → Github
-
Implementation of rosetta construction/metadata & hash endpoints. → Github
Resources:
- Follow stacks-blockchain progress for the upcoming phase (Xenon) of the testnet on Github with the public tracker.
- The Stacks 2.0 Testnet Status page displays real-time health and history of the network.
- A full description of the current Krypton phase from the Blockstack forum.