hiero-ledger / hiero-ledger/hiero-consensus-node
Query-only sync
- Dominant language
- Java
- Stars
- 406
- Forks
- 226
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 210
Description
Consider implementing an alterantive sync mechanism described as
```
public interface SyncService {
/**
* Called by one neighbor to synchronize with the node receiving this method call. The neighbor will send all their
* tips. The receiving node will then compare the tips to its own tips, and return the union of events from both
* itself of the neighbor that it knows about. The neighbor will then have everything it needs to determine the
* minimal subset of events to send to the node.
*
* @param currentBirthRound the current birth round of the node offering its tips.
* @param tips the tips from the neighbor offering to send this node its events.
* @return The union of events from the neighbor and this node that this node knows about.
*/
SyncInfo offer(long currentBirthRound, List tips);
void submit(Event event); // called by a neighbor when it has events for this node
}
```
Contributor guide
Research direction
Start by locating the existing synchronization service and implementations of SyncService in the repository. Compare their current protocol and tests with the proposed offer and submit methods. Done should mean the query-only synchronization mechanism is integrated, tested, and its event and tip exchange behavior is specified.
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
- 25/100