rndlabs / pm

Project Management Repository
0 stars 0 forks source link

scope: relay #7

Open significance opened 1 year ago

significance commented 1 year ago
mfw78 commented 1 year ago

Target use case: Web browsers that do NOT run a bee node

User flow

The below diagram demonstrates the flow back and forth to the user

flowchart TB
    User <--->|Waku: Secure Websockets| Relay
    Relay <--->|Local: Rest API| Bee
    Bee <--->|Native| Swarm

Components required

  1. swarm-waku relay, a microservice implemented in rust, using waku-bindings, effectively embedding go-waku within the swarm-waku binary.
  2. bee node with modified /chunk API endpoint for pushing pre-signed chunks.

State

Define what state needs to be maintained.

Issues

  1. Delay between a user purchasing a batch and it becoming usable for upload.
  2. Whether or not to send replies on pushsync / retrieval protocol between swarm-waku relayer and user if a push or retrieval failed (does client implement it's own timeout?).
significance commented 1 year ago

for the job running state:

for each chunk, what is the current state [arrived, waiting, sending, sent, validated, paid], and some metadata about the chunks [stamp, payload, address, ...]