Skip to content

v0.2.0

Latest
Compare
Choose a tag to compare
@ComputerKeeda ComputerKeeda released this 01 Oct 12:55
· 2 commits to release/v0.2.0 since this release
dd5458e

Release v0.2.0 - Trackgate Module & External Sequencer Integration

Highlights

We are excited to announce the release of version v0.2.0 of the Junction project! This version brings a major feature upgrade introducing the Trackgate Module, enabling the Junction chain to accommodate interactions with different external sequencers. We have also included several key enhancements and optimizations across various parts of the system.

Key Features

  1. Trackgate Module: Introduced a new module, Trackgate, to enable the Junction chain to interface seamlessly with external sequencers. This module includes:
    • Schema engagements for external sequencer interactions.
    • Extensions for supporting various external track stations.
  2. External Track Station Management:
    • Added support for listing, retrieving, and managing external track stations using new gRPC methods.
    • Added protobuf definitions to support serialization and deserialization of external sequencer data.

Enhancements

  • Upgrade Handler: Added upgrade handler logic for jip-2 and included necessary features to handle the store loader during software upgrades.
  • Schema Versioning: Added version tracking mechanisms for schema creation to support multiple schema versions and their evolution.
  • Improved Storage Efficiency:
    • Reduced GetFileDescriptorsProto size in query p.p.op by reducing the gzip size from 1541 bytes to 1318 bytes.
    • Removed redundant data entries and unused fields to reduce storage and enhance overall system performance.

Bug Fixes

  • Fixed Redundant Track Removal:
    • Removed unused fields, including Track from QueryRetrieveSchemaKey, reducing serialization overhead and improving efficiency.
  • Station SchemaKey Fix:
    • Corrected the issue of missing StationSchemaKey in ExitTrackStations protocol buffers, ensuring consistent updates during external sequencer changes.

Breaking Changes

  • Removed MsgSchemaEngage.schemaKey:
    • Removed the schemaKey field from MsgSchemaEngage struct, simplifying schema definitions and enhancing maintainability.
  • Migration Changes:
    • Deprecated the TrackSchema engagement protocols in favor of new, modular methods that improve flexibility.

Detailed Changes

  • Add Schema Creation and Engagement Functionalities:
    • Added the ability to create and manage multiple track engagements for external sequencers.
    • Implemented functionality for schema creation and validation during the proposal submission process.
  • Refactored and Optimized Protobuf Messages:
    • Updated the ExtTrackSchema protobuf messages, making them compatible with the new Trackgate module and adding support for interactions with external track stations.
  • CLI Updates:
    • Added new commands to create, list, and manage external track stations and schema engagements.

Improvements to Developer Experience

  • Reduced Complexity in Migration:
    • Migration steps related to trackgate were made simpler, with updated binding protocols for message validation and schema management.
  • Code Clean-up:
    • Removed outdated comments and redundant code sections to enhance readability.

How to Upgrade

  1. Prepare for the Software Upgrade: Make sure all nodes are synced to the correct block height and have access to the required binaries.

  2. Use the subsequent suitable binary: To initiate the synchronization process, begin with the earliest binary version available. Proceed by synchronizing it with the instance where this particular binary was last utilized. Subsequently, replace the existing binary with the subsequent version in the chronological sequence until your node achieves complete synchronization with the current chain states.

  3. Trackgate Module Activation:

    • After the upgrade, use the CLI commands to initiate trackgate and external sequencer engagements.

Contributors

We want to thank everyone who contributed to this release. Your hard work and dedication have helped us reach this significant milestone!

What's Changed

  • Add upgrade handler for "jip-2" and handle store upgrades by @ComputerKeeda in #2

Full Changelog: https://github.com/ComputerKeeda/junction/commits/v0.2.0