November 5, 2021 5:27 pm

Dash Core Group Release Announcement: Dash Platform v0.21 on Testnet

Release Highlights include: Platform Protocol Upgrade, Comprehensive Error Codes, Cryptographic Proofs Improvements, Node.JS 16 Migration, Dashmate Stability Improvements, JavaScript Wallet Library Improvements  

Dash Core Group is pleased to announce the release of Dash Platform v0.21 on testnet. This release comes with redefined error handling, improvements to cryptographic proofs and technical improvements related to both dependencies and internal entities like Dashmate and the JavaScript Wallet Library.

The new release introduces several breaking changes which make previous platform data invalid. Instead of adding a significant amount of extra work to handle these changes we had to wipe Layer 2 platform state data as part of this release. Layer 1 Core chain and payment transactions remain untouched.

In addition, updates to the DashPay wallets for Android and iOS are being verified on this new version of Dash Platform. Alpha Program users will receive an update after stability of the network has been confirmed.

To update your testnet node please update the distribution package and reset platform data.

Release Highlights

  • Platform Protocol Upgrade The initial implementation of protocol versioning was introduced in version 0.15. The main focus of the v0.21 update was defining and introducing the network protocol upgrade process. Masternodes will signal when a new version of the software is available and the network can then make a decision to switch to the new version once a majority of nodes have updated. Until we determine this critical logic is stable, platform feature flags (analogous to L1 sporks) will be used to manually trigger network protocol upgrades. The new 0.21 version also contains several improvements such as versioning of Drive’s consensus logic and data serialization.
  • Comprehensive Error Codes Platform team refactored all errors returned by Platform and assigned specific error codes to each of them. SDK support for the new platform error codes provides a clear and convenient framework to allow developers to easily handle errors and respond accordingly in their applications.
  • Cryptographic Proofs Improvements In the previous version of Platform, the initial implementation of cryptographic proofs was introduced to allow light clients to securely interact with Dash Platform. The new version delivers the second set of improvements which allow the system to cryptographically verify the existence and nonexistence of platform data in client libraries. Some remaining limitations will be finalized and optimized in the upcoming 0.22 version.
  • Simulated Network Latency for Testnet/Devnets To simulate real-world network conditions on development networks, a network latency option was introduced in the network deployment tool. This helps us to discover potential latency-based issues in Dash Core and Platform. 
  • Node.JS 16 Migration Platform packages and components were updated to the current LTS version of Node.JS. This version has many performance and functional improvements.
  • Dashmate Stability Improvements In this version, Dashmate has seen further testing and fixes to improve stability and user experience. Please note, Dashmate doesn’t support Docker Compose V2 yet, which is enabled by default in Docker Desktop. Please go to “Settings -> General -> Use Docker Compose V2” and disable the checkbox to use Dashmate.
  • JavaScript Wallet lib Improvements The 0.21 version of Wallet lib consists of many bug fixes and improvements, mostly related to transaction synchronization. Additionally, changes were made to support the implementation of DashPay for JavaScript (DIP-15).

What’s next?

DCG development teams will continue to work diligently to increase stability and to deliver innovative features for Dash Platform. Whilst the features associated with an MVP version of the DashPay wallets continues to be one of our main priorities, future versions of Dash Platform should bring greater stability and new features for community developers as well.

We have already begun work on the next release which is expected to include a new hierarchical storage system for providing cryptographic proofs of data consistency, the possibility for each Identity to store multiple keys which are used for different purposes (see DIP11), and the ability to update existing data contract schemas to support several features. Additionally, the release will include usability improvements for the SDK and the removal of some technical debt which currently complicates maintenance. We would like to thank our Community of developers once again for their continued patience as we work to release better and more stable versions of our software going forward.

 Furthermore – big thanks to the Community for taking active and serious involvement in Platform development and testing – thanks to you we were able to deploy a significantly more stable testnet than with previous versions.

As with this release we are expecting a data wipe to occur during our next release of v0.22 as well. Observers can expect the next platform release to occur roughly 6 weeks from now in the middle of December.

Follow the Dash blog and social media channels for more releases and updates, and as usual, your thoughts, feedback, and pull requests are greatly appreciated.

Release Notes

About the author

Leon White