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
34 of 65 tasks
lexnv opened this issue Jun 4, 2024 · 0 comments
Open
34 of 65 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

Feature Completeness

  1. 2 of 2
    easy enhancement
    lexnv
  2. bug
  3. bug easy
    lexnv
  4. easy enhancement
  5. easy enhancement
    dmitry-markin
  6. easy enhancement
    dmitry-markin
  7. enhancement medium
  8. enhancement
  9. enhancement
    lexnv
  10. enhancement
  11. enhancement
  12. enhancement
  13. enhancement
    dmitry-markin
  14. enhancement
  15. 1 of 1
    enhancement
    lexnv
  16. enhancement
    lexnv
  17. 1 of 1
    enhancement
    lexnv
  18. 1 of 1
    enhancement
    lexnv
  19. lexnv
  20. altonen
  21. lexnv

Performance

  1. easy enhancement
  2. easy enhancement
  3. enhancement
    lexnv
  4. lexnv

Outstanding

  1. bug
  2. bug
  3. bug easy enhancement
  4. bug enhancement medium
  5. bug enhancement hard
  6. enhancement medium
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