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

[litep2p-milestone]: Improve litep2p robustness #140

Open
54 of 68 tasks
lexnv opened this issue Jun 4, 2024 · 0 comments
Open
54 of 68 tasks

[litep2p-milestone]: Improve litep2p robustness #140

lexnv opened this issue Jun 4, 2024 · 0 comments

Comments

@lexnv
Copy link
Collaborator

lexnv commented Jun 4, 2024

The Vision

Improve the robustness and fault-tolerance of the litep2p crate and bring the crate to a higher level of maturity.

The goal is to stabilize the litep2p and use it as the default backend of Substrate-based chains.

The Plan

To achieve this, we'll focus our efforts on:

  • Feature Completeness
    • Implement missing features (validate ping payloads, generate unique random ping payloads, ensure kad records TTL)
  • Robustness
    • Ensure core code logic does not panic upon unexpected/malicious user behaviors, panics, unwraps, undocumented expects, array indexing without length validation etc
    • Fix incorrect functionality and divergences from the libp2p specification
    • Repair bugs and limit the surface of race conditions
  • Maintenance: keep the code simple
    • Avoid code duplicates (transport layer)
    • Coherent APIs and errors
    • Adopt rust clippy and best practices
    • Improve and add documentation
  • Performance Improvements
    • Avoid unnecessary clones
    • Improve the query engine
    • Analyze memory and CPU consumption
  • Testing
    • increase code coverage by unit-testing sensitive components (multiselect / noise, kad etc)
    • improve our integration testing scenarios
    • add fuzzing
    • create a plan for continuous testing and triaging in our test stack and keep track of triage reports

Robustness

Preview Give feedback
  1. lexnv
  2. 2 of 2
    dmitry-markin lexnv
  3. bug
    lexnv
  4. 2 of 2
    bug
    lexnv
  5. bug
    lexnv
  6. lexnv
  7. enhancement
    lexnv
  8. lexnv
  9. lexnv
  10. lexnv
  11. bug
    dmitry-markin
  12. enhancement
    lexnv
  13. bug
    lexnv
  14. bug
    lexnv
  15. bug enhancement
    lexnv
  16. bug
    lexnv
  17. enhancement
    lexnv
  18. enhancement
    lexnv
  19. bug
    lexnv
  20. bug
    dmitry-markin
  21. enhancement
    lexnv
  22. enhancement
    lexnv
  23. enhancement
    lexnv
  24. enhancement
    lexnv
  25. lexnv
  26. lexnv
  27. bug
    lexnv
  28. bug
    lexnv
  29. bug
    lexnv
  30. enhancement
    lexnv

Maintenance

Preview Give feedback
  1. 2 of 2
    enhancement
    lexnv
  2. lexnv
  3. enhancement
    lexnv

Performance

Preview Give feedback
  1. enhancement
    lexnv
  2. lexnv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant