waku-org / js-waku

JavaScript implementation of Waku v2
https://js.waku.org
Apache License 2.0
162 stars 41 forks source link

feat: add rpc url to nwaku, persist rln tree in docker and ci #1997

Closed adklempner closed 1 month ago

adklempner commented 2 months ago

Problem

Tests that run against cluster id 1 (The Waku Network) require running an nwaku node with a sepolia RPC url. When adding this parameter, the nwaku node will not be "ready" (/health returns status 200) until the RLN tree is synced. If starting from scratch, this process takes a long time (up to 5 minutes, and will only take longer as more blocks are mined on Sepolia).

Solution

Add a step to the CI that: - checks if the `rln_tree.db` is stored as an artifact. If so, pull it. - run an nwaku node in docker that mounts the `rln_tree.db` until the `/health` endpoint returns 200 (basically syncs the rln_tree to latest block on sepolia) - store the synced `rln_tree.db` as an artifact For now, the step is disabled. When we have tests that run against TWN, we will enable this job and have it be a prereq for running those tests. ## Notes

Contribution checklist:

github-actions[bot] commented 2 months ago

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
Waku node 181.24 KB (0%) 3.7 s (0%) 17.4 s (-11.06% 🔽) 21 s
Waku Simple Light Node 181.32 KB (0%) 3.7 s (0%) 21.8 s (+4.35% 🔺) 25.4 s
ECIES encryption 23.12 KB (0%) 463 ms (0%) 6.1 s (+5.81% 🔺) 6.6 s
Symmetric encryption 22.53 KB (0%) 451 ms (0%) 2.4 s (-50.93% 🔽) 2.8 s
DNS discovery 72.5 KB (0%) 1.5 s (0%) 8.1 s (+4.11% 🔺) 9.6 s
Peer Exchange discovery 74.09 KB (0%) 1.5 s (0%) 6.2 s (-63.48% 🔽) 7.7 s
Local Peer Cache Discovery 67.63 KB (0%) 1.4 s (0%) 9.8 s (-33.36% 🔽) 11.2 s
Privacy preserving protocols 38.88 KB (0%) 778 ms (0%) 7.6 s (-35.25% 🔽) 8.4 s
Waku Filter 111.72 KB (0%) 2.3 s (0%) 18.5 s (+16.75% 🔺) 20.8 s
Waku LightPush 110.26 KB (0%) 2.3 s (0%) 19.2 s (-4.57% 🔽) 21.4 s
History retrieval protocols 110.76 KB (0%) 2.3 s (0%) 12.8 s (-11.58% 🔽) 15 s
Deterministic Message Hashing 7.24 KB (0%) 145 ms (0%) 1.6 s (-54.35% 🔽) 1.8 s