hiero-ledger / hiero-ledger/hiero-consensus-node
Falcon Environment
- Dominant language
- Java
- Stars
- 406
- Forks
- 226
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 210
Description
Implement the Falcon Environment. It is a third Otter environment for deterministic simulation testing: seeded, replayable, randomized runs at high repetition.
The core idea is to use a stripped-down version of the consensus layer for a node, reducing it to the most critical building blocks: event hasher, `OrphanBuffer`, Hashgraph algorithm, and `EventCreator`. We use the default implementations, which are also used in production, and connect them using a `DeterministicWiringModel` with the default wiring configuration.
The network will be simulated using the same approach we use for the Turtle environment.
The key goals of this environment are deterministic behavior and fast execution. This will allow us to run randomized tests repeatedly, helping us reliably discover rarely occurring issues. Each new feature has to be evaluated against these goals. Some features may be implemented as optional and only on request, so that tests that do not require the new feature are unaffected.
Contributor guide
Research direction
Start by reading the existing Turtle environment and the default consensus components named in the issue: the event hasher, OrphanBuffer, Hashgraph algorithm, EventCreator, and DeterministicWiringModel. The work is complete when a Falcon environment supports deterministic, seeded, replayable randomized simulations with fast execution and preserves the stated optional-feature behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100