Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: mulitcast #752

Open
wants to merge 10 commits into
base: feat/p2p-mtm
Choose a base branch
from
Open

feat: mulitcast #752

wants to merge 10 commits into from

Conversation

boecklim
Copy link
Collaborator

Description of Changes

Rebased version of #728

Add Hybrid Blockchain Communication Using Multicast Groups

Key Changes

1. Hybrid Communication Mode

  • Introduced a new communication method called hybrid, which combines p2p communication with a multicast group-based mechanism.
  • Services can now switch between classic (current approch with p2p connection only) and hybrid communication modes,

2. Transparent Integration for Services

  • The communication method is abstracted from the services, ensuring seamless integration without requiring modifications to service logic when communication mode is changed.
  • To achieve this, mediating structures, such as a mediator in metamorph, were implemented to handle message translation and routing between p2p and multicast groups.

3. New Structures and Improvements

  • Designed and implemented the multicast communication logic, including message handling and group management.
  • Enhanced modularity and maintainability by encapsulating the communication logic in dedicated components.

Benefits

  • Flexibility: Provides a flexible and future-proof communication layer that can adapt to different blockchain network configurations.
  • Backward Compatibility: Transparent integration ensures compatibility with existing p2p setups.

Linked Issues / Tickets

Reference any related issues or tickets, e.g. "Closes #123".

Testing Procedure

Describe the tests you've added or any testing steps you've taken.

  • I have added new unit tests
  • All tests pass locally
  • I have tested manually in my local environment

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have updated CHANGELOG.md with my changes

@boecklim boecklim changed the title Feat/mulitcast feat: mulitcast Jan 17, 2025
@boecklim boecklim changed the base branch from main to feat-p2p-mtm January 17, 2025 15:40
@boecklim boecklim changed the base branch from feat-p2p-mtm to feat/p2p-mtm January 17, 2025 15:40
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
53.8% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@boecklim boecklim self-assigned this Jan 17, 2025
@boecklim boecklim mentioned this pull request Jan 17, 2025
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants