Code4GovTech / C4GT

C4GT has been conceptualised as a summer coding program to create a community that can build and contribute to global digital public goods.
MIT License
268 stars 343 forks source link

An open p2p Beckn network #288

Open venkatramanm opened 5 months ago

venkatramanm commented 5 months ago

Ticket Contents

Description

Today Beckn is a server to server protocol. In a typical open network , aggregators and tech providers provision cloud space for sellers to onboard and participate in a network.

Am attempt is made here to create network with out aggregators or cloud platforms.

Users machine's resources will be used to make peer to peer communication between transacting parties(e.g buyer and seller)

With this goal, we have come up with a design using ice and stun protocol (hole punching).

  1. A free hosted stunserver can be used to identify a seller app (public (host/ udp port) that got opened when that seller app tried to connect to the stun server.
  2. This port is kept alive by stun server and published in the Beckn registry by the seller app..
  3. Same would happen on the buyer side
  4. Search engines would index seller catalogs that a seller wishes to publish.
  5. Buyer would use search engines to discover sellers and then use the seller's open port to transact.

Goals

Expected Outcome

A complete beckn transaction between buyer and seller apps on different nat firewalled machines.

Acceptance Criteria

No response

Implementation Details

Ice, stun, turn, udp hole punching , http3 Http Proxy server

Mockups/Wireframes

No response

Product Name

Beckn stun agent

Organisation Name

Beckn Open Collective

Domain

No response

Tech Skills Needed

Docker, Java

Mentor(s)

@venkatramanm

Complexity

High

Category

Poc

Sub Category

Backend

StillAbeginnerr commented 5 months ago

Can you assign me on this issue? I have the necessary experience in Java and Docker. @venkatramanm

keval-kanp-1011 commented 4 months ago

Interested to work! @venkatramanm