From b87b5041742353c9c2289d9b4f72d8bebd184628 Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Tue, 10 Jun 2025 16:20:35 +1000 Subject: [PATCH] Add FURPS for RLN API --- FURPS/core/rln_api.md | 15 ++++++++++++--- draft-roadmap/README.md | 2 +- draft-roadmap/integrate_rln_with_waku_api.md | 17 +++++++++++++++-- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/FURPS/core/rln_api.md b/FURPS/core/rln_api.md index e16757b..8b35d0c 100644 --- a/FURPS/core/rln_api.md +++ b/FURPS/core/rln_api.md @@ -1,12 +1,18 @@ # Waku RLN API FURPS -TODO - ## Functionality +1. Accepts RLN network configuration at initialization. +2. API to pass messages for proof validation. +3. API to import RLN credentials, compatible with RLN Membership management. +4. API to accept Waku Message and generate proof. +5. API to inform on configured rate limit parameters and remaining quota. ## Usability +1. TWN RLN configuration is applied by default. +2. No boilerplate code beyond initialization is necessary to pass RLN instance in a Waku API implementation. +3. Rate usage is persisted across restarts. ## Reliability @@ -14,7 +20,10 @@ TODO ## Supportability +1. library can be used in Go applications; available on pkg.go.dev. +2. library can be used in Rust applications; import via git path. +3. library can be used in Nim applications; import via git path. ## + (Privacy, Anonymity, Deployments) -1. ... \ No newline at end of file +1. Only one set of credentials can be used at a given time. \ No newline at end of file diff --git a/draft-roadmap/README.md b/draft-roadmap/README.md index f23886c..94b8f8e 100644 --- a/draft-roadmap/README.md +++ b/draft-roadmap/README.md @@ -93,7 +93,7 @@ In order of priority. |----------|-----------------------------------------------------------------------------------------|----------|----------|---------|-------|-------------| | 1 | [Define Incentivisation for RLNaaS](define_incentivisation_for_rlnaas.md) | 31 Jul | 1.5 | | | | | 2 | [Improve DevEx: API, TWN, Metrics, Docs](improve_devex_api_twn_metrics_docs.md) | TBD | TBD | TBD | TBD | 0.16.. | -| 3 | [Introduce mixnet for message sending](introduce_mixnet_for_message_sending.md) | 30 Sep | 1*3m | | | | +| 3 | [Introduce mixnet for message sending](introduce_mixnet_for_message_sending.md) | 30 Sep | 0.5 | | | | | 4 | [Formalize and Expand Waku Web Apps](formalize_and_expand_waku_web_apps.md) | 19 Dec | | | | 1.5 | | 5 | [Create Chat SDK MVP](create_chat_sdk_mvp.md) | 30 Sep | | | | 2 dev/1 res | | 6 | [Integrate RLN with Waku API](integrate_rln_with_waku_api.md) | TBD | TBD | 1*2m | TBD | | diff --git a/draft-roadmap/integrate_rln_with_waku_api.md b/draft-roadmap/integrate_rln_with_waku_api.md index a6198c6..96707e1 100644 --- a/draft-roadmap/integrate_rln_with_waku_api.md +++ b/draft-roadmap/integrate_rln_with_waku_api.md @@ -89,11 +89,24 @@ TODO **Owner**: nwaku -TODO **Feature**: [Waku RLN API](/FURPS/core/rln_api.md) **FURPS**: -- {F1. copy-paste full furps statement} +- F1. Accepts RLN network configuration at initialization. +- F2. API to pass messages for proof validation. +- F3. API to import RLN credentials, compatible with RLN Membership management. +- F4. API to accept Waku Message and generate proof. +- F5. API to inform on configured rate limit parameters and remaining quota. + +- U1. TWN RLN configuration is applied by default. +- U2. No boilerplate code beyond initialization is necessary to pass RLN instance in a Waku API implementation. +- U3. Rate usage is persisted across restarts. + +- S1. library can be used in Go applications; available on pkg.go.dev. +- S2. library can be used in Rust applications; import via git path. +- S3. library can be used in Nim applications; import via git path. + +- +1. Only one set of credentials can be used at a given t **Checklist**: - [ ] Specs: link to specs and/or API definition