hiero-ledger / hiero-ledger/hiero-consensus-node
CLPR: LedgerConfiguration In MessageBundle
- 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
Assessment
This issue has not been assessed yet.