Skip to content

feat: Implement libp2p-mix and integrate with lightpush in js-waku #2634

@chaitanyaprem

Description

@chaitanyaprem

Description

As explained here, in order for libp2p-mix protocol to be used in js-waku there are 2 main implementations that need to be done.

Note that mix implementation should allow easy integration of any existing req-resp protocol to use mix with minimal changes to the API and protocol implementation.

User Story

js-mix specific items (Still require detailed analysis to identify if anything else is required)

  • Mix implementation in js. (Either it is part of js-libp2p or separate repo TBD)
  • Implement EntryConnection abstraction
  • Implement Send functionality equivalent to AnonymousLocalSend
  • Implement a mix node pool and its maintenance logic which can be integrated with discovery protocols in upper layer(js-waku)
  • Implement reply logic ie building SURB and processing of SURB

js-waku specific items

  • Node initialization to support option to enable mix and perform initializing functions
  • Lightpush API to be updated to support an option to send using mix
  • Publish lightpush messages via mix.
  • Use preconfigured mix nodes
  • Use discovered mix nodes and maintain a local mix node pool
  • Replies for lightpush also use mix SURB.
  • Integrate Store to use mix
  • Have an app that helps in dogfooding mix (maybe a chat app)

Proposed Solution / Feature Design

TBD

Optional: Diagram or Draft of Design

TBD

Notes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Priority

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions