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

Dynamic Address Book - Phase 3 - Support Roster Changing by Round

Open
#5,307 3 comments 0 reactions 0 assignees View on GitHub
Epic New Feature Platform Platform Roster
Dominant language
Java
Stars
406
Forks
226
Avg merge
3d 4h
Merged PRs (30d)
210

Description

* Enable the system to adapt to address book changes without restart of components.
* Remove dependence on index of address in address book.

```[tasklist]
### Core Roster
- [ ] https://github.com/hashgraph/hedera-services/issues/8921
- [ ] https://github.com/hashgraph/hedera-services/issues/9577
- [ ] https://github.com/hashgraph/hedera-services/issues/8976
- [ ] https://github.com/hashgraph/hedera-services/issues/8922
- [ ] https://github.com/hashgraph/hedera-services/issues/10421
- [ ] https://github.com/hashgraph/hedera-services/issues/10494
- [ ] https://github.com/hashgraph/hedera-services/issues/9907
- [ ] https://github.com/hashgraph/hedera-services/issues/10006
- [ ] https://github.com/hashgraph/hedera-services/issues/10007
- [ ] https://github.com/hashgraph/hedera-services/issues/8925
- [ ] https://github.com/hashgraph/hedera-services/issues/8924
- [ ] https://github.com/hashgraph/hedera-services/issues/10837
- [ ] https://github.com/hashgraph/hedera-services/issues/11066
```

```[tasklist]
### Future Event Buffer (New Component)
- [x] Diagram featuring rewiring proposal for `Future Event Buffer`
- [x] Shadow Graph decoupling Gossip and Consensus (pre-requisite)
- [ ] Gossip tells peers the highest round it can validate events for
- [ ] Drop Future Events with a birthRound higher than the highest round that can be validated.
- [ ] https://github.com/hashgraph/hedera-services/issues/11111
- [ ] Metrics For Future Event Buffer
```

```[tasklist]
### (Red Wire) EventHorizon Address Books
- [ ] design refactor
- [ ] https://github.com/hashgraph/hedera-services/issues/10414
- [ ] https://github.com/hashgraph/hedera-services/issues/10415
- [ ] EventCreator sets birth round from `pendingConsensusRound`
- [ ] https://github.com/hashgraph/hedera-services/issues/8978
- [ ] https://github.com/hashgraph/hedera-services/issues/10008
- [ ] https://github.com/hashgraph/hedera-services/issues/8960
- [ ] https://github.com/hashgraph/hedera-services/issues/10013
- [ ] https://github.com/hashgraph/hedera-services/issues/10016
- [ ] https://github.com/hashgraph/hedera-services/issues/9903
```

```[tasklist]
### (Blue Wire) RosterDiffs For PendingConsensusRound Updates
- [ ] design refactor
- [ ] https://github.com/hashgraph/hedera-services/issues/10011
- [ ] https://github.com/hashgraph/hedera-services/issues/10015
- [ ] https://github.com/hashgraph/hedera-services/issues/5227
- [ ] https://github.com/hashgraph/hedera-services/issues/9803
- [ ] gossip protocol communicates most advanced birthRound that will be accepted and drops greater events.
```

```[tasklist]
### (Hot Wire) Integration With Services
- [ ] https://github.com/hashgraph/hedera-services/issues/8968
```

```[tasklist]
### Network Refactor
- [ ] design refactor
- [ ] https://github.com/hashgraph/hedera-services/issues/8926
- [ ] https://github.com/hashgraph/hedera-services/issues/8927
- [ ] https://github.com/hashgraph/hedera-services/issues/8977
- [ ] https://github.com/hashgraph/hedera-services/issues/10012
- [ ] Node determines identity in some other way, internal IP address can go away
```

```[tasklist]
### Metrics
- [ ] https://github.com/hashgraph/hedera-services/issues/8969
```

```[tasklist]
### Blocked by Wiring Framework Tasks
- [ ] https://github.com/hashgraph/hedera-services/issues/8982
- [ ] https://github.com/hashgraph/hedera-services/issues/8962
- [ ] https://github.com/hashgraph/hedera-services/issues/10014
```

```[tasklist]
### Testing
- [ ] https://github.com/hashgraph/hedera-services/issues/8964
- [ ] https://github.com/hashgraph/hedera-services/issues/8966
```

```[tasklist]
### Misc and Cleanup Items
- [ ] https://github.com/hashgraph/hedera-services/issues/10612
- [ ] Update `Shiftable` and `SequenceMap` interface documentation with new lower bound naming.
- [ ] Update the `AddressBookStateCommand` and `GenesisPlatformStateCommand` to be compatible Dynamic Address Book (Post Red Wire)
- [ ] https://github.com/hashgraph/hedera-services/issues/8930
- [ ] https://github.com/hashgraph/hedera-services/issues/9805
- [ ] https://github.com/hashgraph/hedera-services/issues/5387
```

```[tasklist]
### Not needed for MVP
- [ ] https://github.com/hashgraph/hedera-services/issues/10009
- [ ] https://github.com/hashgraph/hedera-services/issues/10010
```

Contributor guide

Open the contributing guide

Research direction

This is an umbrella issue for Dynamic Address Book Phase 3, spanning Core Roster, Future Event Buffer, EventHorizon Address Books, RosterDiffs, network, metrics, testing, and integration tasks. Start by reviewing the linked prerequisite issues and the unchecked tasklists to identify one scoped work item. Done is defined by completing a specific task and its related integration or testing work, not by this issue alone.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.