Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PoC implementation with protobuf #677

Closed
2 tasks done
Tracked by #673
jpraynaud opened this issue Jan 10, 2023 · 1 comment
Closed
2 tasks done
Tracked by #673

PoC implementation with protobuf #677

jpraynaud opened this issue Jan 10, 2023 · 1 comment
Assignees
Labels
D-medium Difficulty: medium graceful-updates 🚀 Handling graceful updates task

Comments

@jpraynaud
Copy link
Member

jpraynaud commented Jan 10, 2023

PoC Scenario

Add/Remove/Update a field message_type on the single signature that is sent from the Signer to the Aggregator:
In that case, the Aggregator would receive 2 different kinds of message from the updated/non-updated signers.
We want to avoid breaking changes that would prevent the network from producing certificates for one epoch.

To do

  • Assess technical constraints of the protobuf implementation.
  • Develop prototypical implementations of protobuf implementations

⚠️ the minimum requirement for the implementation is that the end to end test is working

Parent issue

#673

@jpraynaud jpraynaud added D-medium Difficulty: medium task graceful-updates 🚀 Handling graceful updates labels Jan 10, 2023
@ghubertpalo ghubertpalo self-assigned this Jan 12, 2023
@ghubertpalo
Copy link
Collaborator

A PoC has been set up in a separate project. The project required the installation of protoc the Protobuf schema compiler. Once installed, the compiler was able to compile a valid schema file to a Rust implementation. It did not create any migration structures between 2 versions nor even propose a versioning scheme. The fallback happens due to all fields having a default value set.
That would require keep a version information in the Protobuf schema file and share it between nodes.

The exact same behavior is already set up with openapi.yml file and serde default values.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
D-medium Difficulty: medium graceful-updates 🚀 Handling graceful updates task
Projects
None yet
Development

No branches or pull requests

2 participants