Skip to content

Commit c2e3a05

Browse files
authored
Merge pull request #331 from waku-org/new-rln-milestone
New RLN-related milestone from dogfooding
2 parents 1bcfb5d + 62f0e75 commit c2e3a05

File tree

5 files changed

+130
-7
lines changed

5 files changed

+130
-7
lines changed

FURPS/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,5 @@ All Waku core FURPS are assumed to be deployed and enabled on The Waku Network.
4040
- [Signal Network](application/signal_network.md)
4141
- [Status Communities](application/status_communities.md)
4242
- [status-go](application/status_go.md)
43-
- [Status Private Chats](application/status_private_chats.md)
43+
- [Status Private Chats](application/status_private_chats.md)
44+
- [ERC-20 Testnet Token for RLN Deposit](application/erc-20_testnet_token_for_rln_deposit.md)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# ERC-20 Testnet Token for RLN Deposit
2+
3+
## Functionality
4+
5+
1. Contract owner can mint tokens to any address for free.
6+
2. White-listed wallet addresses can mint tokens to any address for free.
7+
3. Contract owner can add or remove wallet addresses to the white-list.
8+
4. Eth (Sepolia) is burnt to mint tokens to any address.
9+
10+
## Usability
11+
12+
1. Token name is `TST`.
13+
2. Usage of Metamask Faucet (usually 0.1 Linea Sepolia Eth) should enable enough `TST` token minting to acquire 2-3 RLN memberships.
14+
15+
## Reliability
16+
17+
## Supportability
18+
19+
## + (Privacy, Anonymity, Censorship-Resistance, Deployments)
20+
21+
1. Deployed on Linea Sepolia.
22+
2. Used as ERC-20 deposit token for Linea Sepolia RLN smart contract deployment.

FURPS/core/rln_smart_contract.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
1. New node setup with an RLN membership can be ready to verify RLN proof within 5s,
2424
no matter the size of the membership set **(Vac-DST)**.
25+
2. Rate limit variables, in combination with good defaults on software side, enable around 5,000 registrations.
2526

2627
## Supportability
2728

draft-roadmap/README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,13 @@ Note: low allocation on nwaku due to
111111
| 3 | [Introduce mixnet for message sending](introduce_mixnet_for_message_sending.md) | 30 Sep | 1*3m | | | | | 0.7 |
112112
| 4 | [Formalize and Expand Waku Web Apps](formalize_and_expand_waku_web_apps.md) | 19 Dec | | | | 1.5*6m | | 2.1 |
113113
| 5 | [Create Chat SDK MVP](create_chat_sdk_mvp.md) | 30 Sep | | | | 3*3m | | 2.1 |
114-
| 6 | [Integrate RLN with Waku API](integrate_rln_with_waku_api.md) | 30 Sep | 1*1m | 1*2m | 2*2m | | | 1.7 |
115-
| 7 | [Streamline DevEx: Mobile, Rust and Web dev](streamline_dev_ex_local_dev_rust.md) | 30 Nov | | 2*6w | 3*6w | | | 1.2 |
116-
| 8 | [Extend Chat SDK with Group Conversations](extend_chat_sdk_with_group_conversations.md) | 19 Dec | | | | 2*3m | | 1.4 |
117-
| 9 | [Incentivisation and Marketplace Follow-up Outline](incentivisation_follow_up.md) | TBD | 2.5*5m | | | | | 3 |
118-
| 10 | [Nim Usage Improvements](nim_usage_improvements.md) | 19 Dec | | | 1*2m | | | 0.5 |
119-
| 11 | [BD - Acquire 10 Customers](acquire_first_10_customers.md) | 19 Dec | | | | 0.5*6m | 1*6m | 2.1 |
114+
| 6 | [Harden RLN Testnet Deployment](harden_rln_testnet.md) | 30 Sep | 1*1.5m | 1*1m | | | TODO |
115+
| 7 | [Integrate RLN with Waku API](integrate_rln_with_waku_api.md) | 30 Sep | 1*1m | 1*2m | 2*2m | | | 1.7 |
116+
| 8 | [Streamline DevEx: Mobile, Rust and Web dev](streamline_dev_ex_local_dev_rust.md) | 30 Nov | | 2*6w | 3*6w | | | 1.2 |
117+
| 9 | [Extend Chat SDK with Group Conversations](extend_chat_sdk_with_group_conversations.md) | 19 Dec | | | | 2*3m | | 1.4 |
118+
| 10 | [Incentivisation and Marketplace Follow-up Outline](incentivisation_follow_up.md) | TBD | 2.5*5m | | | | | 3 |
119+
| 11 | [Nim Usage Improvements](nim_usage_improvements.md) | 19 Dec | | | 1*2m | | | 0.5 |
120+
| 12 | [BD - Acquire 10 Customers](acquire_first_10_customers.md) | 19 Dec | | | | 0.5*6m | 1*6m | 2.1 |
120121

121122
✱ Capacity: How may people assigned in a 6 months window. Adjusted to 70% allocation for support.
122123

@@ -138,6 +139,7 @@ gantt
138139
section core research (6)
139140
Define Incentivisation for RLNaaS: 2025-07-01, 2025-08-01
140141
Improve DevEx: 2025-08-01, 2025-08-31
142+
Harden RLN Testnet Deployment: 2025-08-01, 2025-09-30
141143
Integrate RLN with Waku API: 2025-09-01, 2025-09-30
142144
Mixnet: 2025-07-01, 2025-09-30
143145
Incentivisation and Marketplace Follow-up: 2025-08-01, 2025-12-31
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# Harden RLN Testnet Deployment
2+
3+
**Estimated date of completion**: 30 Sep 2025
4+
5+
**Resources Required for 2025H2**:
6+
- 1 js-waku dev for 4 weeks.
7+
- 1 core researcher for 6 weeks.
8+
9+
The recent deployment and dogfooding of the [new RLN smart contract](https://github.com/waku-org/pm/milestone/34) on Linea Sepolia has unveiled several issues:
10+
11+
- Attempt to use a JavaScript RLN library in https://rln.waku.org for credential generation led to interop issue with nwaku/zerokit
12+
- Some zerokit quirk around endianness that is different from Web3 RPC practice
13+
- Spamming of the contract due to "free mint" of the Sepolia ERC-20 token (representing DAI for test purposes)
14+
15+
With this milestone, we tackle the lesson learned from dogfooding by:
16+
17+
- Using zerokit in the browser, and working with Vac-ACZ team to reach adequate UX
18+
- Apply restrictions on testnet contract to allow dogfooding, without exhausting the rate limit due to the fact that testnet is free (as in cheap).
19+
20+
## Strategic Objective
21+
22+
Logos Vision: Core Values Alignment
23+
24+
## FURPS
25+
26+
- [RLN Membership Management](/FURPS/application/rln_membership_management.md): R1
27+
28+
## Risks
29+
30+
| Risk | (Accept, Own, Mitigation) |
31+
|------------------------|------------------------------------------------------------------------------------------------------------------|
32+
| Smart contract Changes | Iterative delivery of smart contract changes to allow dogfooding without excessive smart contract logic |
33+
| Zerokit | Close collaboration with Vac-ACZ and clear expression of [requirements](https://github.com/waku-org/pm/pull/329) |
34+
35+
## Deliverables
36+
37+
### Zerokit is used in the Browser for Credentials Management
38+
39+
**Owner**: js-waku
40+
41+
**Feature**: [RLN Membership Management](/FURPS/application/rln_membership_management.md)
42+
43+
**FURPS**:
44+
- R1. Import and exports are interoperable across all implementations.
45+
46+
**Checklist**:
47+
- [ ] Specs: link to specs and/or API definition
48+
- [ ] Code: link to GitHub issues/PRs/Epic
49+
- [ ] Dogfood: link to dogfooding session/artefact
50+
- [ ] Docs: links to README.md or docs.waku.org (TBD)
51+
52+
### Minting of (Sepolia) ERC-20 Tokens for RLN Deposits is permissioned
53+
54+
**Owner**: core research
55+
56+
**Feature**: [ERC-20 Testnet Token for RLN Deposit](/FURPS/application/erc-20_testnet_token_for_rln_deposit.md)
57+
58+
**FURPS**:
59+
- F1. Contract owner can mint tokens to any address for free.
60+
- F2. White-listed wallet addresses can mint tokens to any address for free.
61+
- F3. Contract owner can add or remove wallet addresses to the white-list.
62+
- F4. Eth (Sepolia) is burnt to mint tokens to any address.
63+
64+
- U1. Token name is `TST`.
65+
66+
- +1. Deployed on Linea Sepolia.
67+
- +2. Used as ERC-20 deposit token for Linea Sepolia RLN smart contract deployment.
68+
69+
**Feature**: [RLN Smart Contract](/FURPS/core/rln_smart_contract.md)
70+
71+
- P2. Rate limit variables, in combination with good defaults on software side, enable around 5,000 registrations.
72+
73+
**Checklist**:
74+
- [ ] Specs: link to specs and/or API definition
75+
- [ ] Code: link to GitHub issues/PRs/Epic
76+
- [ ] Dogfood: link to dogfooding session/artefact
77+
- [ ] Docs: links to README.md or docs.waku.org (TBD)
78+
-
79+
### Minting of (Sepolia) ERC-20 Tokens for RLN Deposits Burns Sepolia Eth
80+
81+
**Owner**: core research
82+
83+
**Feature**: [ERC-20 Testnet Token for RLN Deposit](/FURPS/application/erc-20_testnet_token_for_rln_deposit.md)
84+
85+
**FURPS**:
86+
- F3. Eth (Sepolia) is burnt to mint tokens to any address.
87+
88+
- U2. Usage of Metamask Faucet (usually 0.1 Linea Sepolia Eth) should enable enough `TST` token minting to acquire 2-3 RLN memberships.
89+
90+
- +1. Deployed on Linea Sepolia.
91+
- +2. Used as ERC-20 deposit token for Linea Sepolia RLN smart contract deployment.
92+
93+
**Checklist**:
94+
- [ ] Specs: link to specs and/or API definition
95+
- [ ] Code: link to GitHub issues/PRs/Epic
96+
- [ ] Dogfood: link to dogfooding session/artefact
97+
- [ ] Docs: links to README.md or docs.waku.org (TBD)

0 commit comments

Comments
 (0)