js-waku
js-waku copied to clipboard
feat: support creating node using application info
Problem
All functions to create a node allow it to be setup for either autosharding or static sharding depending on which options are passed. However, we want to encourage users to run nodes with autosharding. Requiring specific configuration options in order to set up a node to run autosharding makes it more difficult to do so.
Solution
This commit adds SDK functions for creating a node configured to use autosharding by providing an application/version or a list of content topics.
Notes
- Resolves #1783
- Depends on #1780
size-limit report 📦
| Path | Size | Loading time (3g) | Running time (snapdragon) | Total time |
|---|---|---|---|---|
| Waku node | 185.25 KB (0%) | 3.8 s (0%) | 981 ms (-19.03% 🔽) | 4.7 s |
| Waku Simple Light Node | 185.27 KB (0%) | 3.8 s (0%) | 632 ms (-24.74% 🔽) | 4.4 s |
| ECIES encryption | 22.89 KB (0%) | 458 ms (0%) | 141 ms (-63.75% 🔽) | 599 ms |
| Symmetric encryption | 22.34 KB (0%) | 447 ms (0%) | 368 ms (+12.49% 🔺) | 814 ms |
| DNS discovery | 70.06 KB (0%) | 1.5 s (0%) | 430 ms (-37.22% 🔽) | 1.9 s |
| Privacy preserving protocols | 39.84 KB (0%) | 797 ms (0%) | 515 ms (+19.91% 🔺) | 1.4 s |
| Light protocols | 20.58 KB (0%) | 412 ms (0%) | 222 ms (-16.25% 🔽) | 634 ms |
| History retrieval protocols | 19.34 KB (0%) | 387 ms (0%) | 236 ms (+18.56% 🔺) | 623 ms |
| Deterministic Message Hashing | 4.96 KB (0%) | 100 ms (0%) | 32 ms (-31.97% 🔽) | 131 ms |
@adklempner do you think we should proceed with this PR or take a step back and reconsider?
Let's close this PR as a lot of things has changed and we'd need to re-evaluate this approach.