hiero-ledger / hiero-ledger/hiero-consensus-node

CLPR: LedgerConfiguration In MessageBundle

Open
#23,964 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
406
Forks
226
Avg merge
3d 4h
Merged PRs (30d)
210

Description

In order to eliminate the overhead of handling ClprLedgerConfiguration messages as potentially unprofitable costs, the ClprLedgerConfiguration content is being folded into the ClprMessageBundle.

The ClprSetLedgerConfiguration transaction is still a legitimate public transaction that is paid for by the transaction submitter.

What is changing is the the ClprEndpointClients are no longer generating the transactions. They are only generating the exchange of ClprMessageBundle, and only when there is a new message to send.

ClprMessageBundles are now expanded with an optional state proven ClprLedgerConfiguration.

Before submitting message bundles to the remote network, the ClprEndpointClient should query for the latest ClprLedgerConfiguration for the local ledger to see if it needs to be updated in the remote ledger. Alternatively, it could always packaged the latest ClprLedgerConfiguration state proof and the receiving node or network can simply ignore it if it doesn't advance the configuration.

If there is no ClprMessagePayload content to send to the remote ledger, it is possible for the configuration to become stale and connectivity between ledgers breaks due to roster composition changes. The proper way to repair connectivity is through a manual transaction submission of the state proven ClprLedgerConfiguration to the latest configuration. This transaction is paid for by the submitter.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.