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

[Epic: js-waku] Provision RLN for light push clients PoC #2150

Closed
1 of 2 tasks
Tracked by #206
fryorcraken opened this issue Jan 10, 2024 · 4 comments
Closed
1 of 2 tasks
Tracked by #206

[Epic: js-waku] Provision RLN for light push clients PoC #2150

fryorcraken opened this issue Jan 10, 2024 · 4 comments
Assignees
Labels
epic Tracks a yearly team epic (only for waku-org/pm repo)

Comments

@fryorcraken
Copy link
Collaborator

fryorcraken commented Jan 10, 2024

Epic label: E:js-waku User Pays Own RLN Membership

Summary

Enable developers to build application where the users pays for their own credentials.

Acceptance Criteria

  • A developer can build a web app for which a user generate credentials and push them to the RLN smart contract.
  • The API needs to be simple enough so it is usable in a hackathon and can be documented.
  • Import/export to keystore JSON file is supported

Tasks

Notes

For the sake of developer experience, the API should be simple and easy to use (e.g. in less than 20 lines). This means that the library may need to be opinionated in the way contract events are handled, what web3 library is used (etherjs), etc.

Consideration needs to be made on how to handle that in the js-waku package ecosystem. For example. should this be part of the @waku/sdk (I would suggest yes).

Notes that waku-org/research#45 is not in the scope of the issue. The intent is to get RLN in the hands of developer, the second priority will be to fix the UX.

@fryorcraken fryorcraken added the epic Tracks a yearly team epic (only for waku-org/pm repo) label Jan 10, 2024
@weboko weboko self-assigned this Jan 10, 2024
@weboko
Copy link
Collaborator

weboko commented Jan 23, 2024

Execution plan

Step 1: improve bootstrapping and connection to ethereum

Metamask:

  • abstraction to get provider with triggering dialog from Metamask
  • ability to pass it from outside

RLN Instance:

  • dedicated step for starting: bootstraps RLN Contract
  • expose RLN contract from instance

Example showcasing it

PRs: waku-org/js-rln#92, waku-org/examples.waku.org#297

Step 2: improve cred management, verification

Keystore

  • easy way to import or hardcode credentials
  • easier way to register credential (use case: simple chat app, e.g light-js)
  • example showcasing Keystore and cred registration

Verification:

  • embed verification into DecodedMessage so that all messages received can be verified;

PR: waku-org/js-rln#93, waku-org/examples.waku.org#299

Step 3: include into @waku/sdk and improve RLN instance interface

RLN Instance:

  • make it resembling Waku node: rln contract exposed;
  • separation of member management and proof verification;

Files:

  • do basic reorganization: e.g rln.ts is too chunky

@weboko
Copy link
Collaborator

weboko commented Feb 5, 2024

Leftovers:

@chair28980 chair28980 changed the title [js-waku] User Pays Own RLN Membership [Epic: js-waku] User Pays Own RLN Membership Feb 14, 2024
@fryorcraken
Copy link
Collaborator Author

fryorcraken commented Jun 5, 2024

This is descoped in favour of deliverable "Provision RLN for light push clients PoC" cc @weboko

@weboko
Copy link
Collaborator

weboko commented Jun 17, 2024

Closing as the only leftover is waku-org/js-rln#76 and can be done separately when in priority again.

@weboko weboko closed this as completed Jun 17, 2024
@chair28980 chair28980 changed the title [Epic: js-waku] User Pays Own RLN Membership [Epic: js-waku] Provision RLN for light push clients PoC Jun 18, 2024
@chair28980 chair28980 transferred this issue from waku-org/pm Oct 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Tracks a yearly team epic (only for waku-org/pm repo)
Projects
Status: Done
Development

No branches or pull requests

2 participants