Skip to content

Clients support Mithril era transition #2619

Open
@jpraynaud

Description

@jpraynaud

Why

We want the client to be able to support a Mithril era switch and thus avoid breaking changes when the client implementation is era specific. The client is not connected to the Cardano chain where the era markers are registered and it does not need to deal with hot switch from an era to another (when the signer and aggregator do).

What

Align the era used by the client on the era advertised by the aggregator to which it is connected.

How

  • Leverage the existing era advertised by the aggregator in the /status route
  • Compute the current supported era with an EraFetcher that can be used to create era-specific code:
    • Create the EraFetcher trait in the client library
    • Implement an EraFetcher which calls the aggregator with the aggregator client in the client library
    • Support the case where the fetched era is not known in the availablr at build time
    • Implement an EraFetcher which has a forced value and that can be used when the client CLI specifies a --era parameter
  • Create a small prototype with a new era to make sure the system works as expected?
  • Update the documentation if needed
  • Update the ADR if needed

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions