Skip to content

feat: local development environment #2670

@weboko

Description

@weboko

Description

We need to provide package for spinning local Waku network for local development.
RLN is out of question.

Proposed Solution / Feature Design

npx @waku/run start # starts 2 Waku nodes and prints out their coordinates to be used in createLigthNode
npx @waku/run stop # stops running nodes or ignores the command
npx @waku/run info # outputs coordinates of running nodes if present, otherwise outputs nothing

Provide 2 presets npx @waku/run start --preset=*:

  • local - runs local cluster of 2 nodes
  • tws - runs TWN cluster consumers must use nwaku-compose for it

Later we can provide configuration for clusterId and shards. - For now out of question.

Notes

FURPS

  • F1. Runs local Waku node to test Web application without relying on external connectivity.
  • F2. js-waku runs in NodeJS for testing and CI purposes.
  • U1. Developer only need to run a script or preset to start local Waku node and have their web app connect to it.
  • U2. Potential WSS/HTTPS issues are worked around so that developer does need to manually generate or import SSL certificates.
  • U3. There is an easy option for the developer to bootstrap and connect to local node, instead of external peers.
  • S1. Linux and Mac development environments.
  • S2. Local network without RLN.
  • S3. Chrome and Firefox browsers.

Metadata

Metadata

Assignees

Labels

effort/weeksWeek+ effort or large task.

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions