-
Notifications
You must be signed in to change notification settings - Fork 191
Feature/decentralized chat reputation #1000
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
base: main
Are you sure you want to change the base?
Feature/decentralized chat reputation #1000
Conversation
- Implement spam-resistant chat using gossipsub with peer reputation tracking - Add comprehensive reputation system with scoring, decay, and persistence - Include multi-layered spam detection (rate limiting, content analysis, duplicates) - Create interactive demo showing bad actors getting down-scored - Add unit tests and comprehensive documentation - Demonstrate NAT traversal + peerstore + peer scoring integration Resolves: libp2p#878 (ETH-Delhi Hackathon Implementation)
|
@SuchitraSwain Thanks for using py-libp2p in this chat app. (venv) luca@r17:~/PNL_Launchpad_Curriculum/Libp2p/py-libp2p$ python -m examples.decentralized_chat.spam_demo
2025-11-20 03:45:40,840 [INFO] [spam_demo] Starting Spam Demo for Decentralized Chat
2025-11-20 03:45:40,840 [INFO] [spam_demo] This demo shows how the reputation system handles different peer behaviors
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/home/luca/Informatica/Learning/PNL_Launchpad_Curriculum/Libp2p/py-libp2p/examples/decentralized_chat/spam_demo.py", line 327, in <module>
trio.run(run_spam_demo)
~~~~~~~~^^^^^^^^^^^^^^^
File "/home/luca/Informatica/Learning/PNL_Launchpad_Curriculum/Libp2p/py-libp2p/venv/lib/python3.13/site-packages/trio/_core/_run.py", line 2549, in run
raise runner.main_task_outcome.error
File "/home/luca/Informatica/Learning/PNL_Launchpad_Curriculum/Libp2p/py-libp2p/examples/decentralized_chat/spam_demo.py", line 286, in run_spam_demo
alice_task = trio.start_soon(alice.start)
^^^^^^^^^^^^^^^
File "/home/luca/Informatica/Learning/PNL_Launchpad_Curriculum/Libp2p/py-libp2p/venv/lib/python3.13/site-packages/trio/_deprecate.py", line 166, in __getattr__
raise AttributeError(msg.format(module_name, name))
AttributeError: module 'trio' has no attribute 'start_soon'The code uses Fix for
|
AI Pull Request Review: PR #1000PR Title: Feature/decentralized chat reputation 1. Summary of ChangesThis PR implements a decentralized chat application with peer reputation system as part of the ETH-Delhi Hackathon implementation. The PR adds:
Related Issues:
Affected Modules:
Breaking Changes: None Deprecations: None 2. Branch Sync Status and Merge ConflictsBranch Sync Status
Merge Conflict Analysis
Conflicting Files:
Conflict Summary:
Resolution Recommendations:
3. Strengths
4. Issues FoundCritical
Major
Minor
5. Security Review
Overall Security Impact: Low to Medium - The implementation is reasonable for an example application, but production use would require additional security hardening. 6. Documentation and ExamplesStrengths
Issues
7. Newsfragment Requirement
Recommendation:
8. Tests and ValidationLinting (
|
Chat with Peer Reputation System
Resolves: #878 (ETH-Delhi Hackathon Implementation)"