HelloZeroNet / HelloZeroNet/ZeroNet
ZeroNet as a platform for overlay networks.
- Ngôn ngữ chính
- JavaScript
- Star
- 18.8k
- Fork
- 2.3k
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Can ZeroNet be used as a library to create an overlay network of nodes interested in topic `foo/1.2.3` and let them exchange with arbitrary messages? Number of nodes: ~1M. Message size: < 1 KB.
For example, I want to make a distributed p2p version of a books catalogue. Ther catalogue has a well-known name, e.g. `books/1.2.3`. Nodes use this name to discover other nodes connected to this overlay network. Once connected, they download the list of book ids from a peer. If someone wants to add a book, they send its id to a few peers, they add it to the local storage and re-transmit to other peers. An important property of this system is that all the nodes are equal: there is no admin who has special rights. There is no special private key that has special rights in this catalogue.
API needed for this:
- `join("books/1.2.3")` finds a few peers in this overlay network
- `peers("books/1.2.3")` returns the list of online peers we're currently connected to
- `send("books/1.2.3", peerId, "howdy")` sends a message to the given peer
- `listen("books/1.2.3", callback)` gets messages sent by other peers with the `send()` API
Thoughts?
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Issue không xác định các tệp, bài kiểm thử hoặc điểm bắt đầu triển khai. Trước tiên, hãy xác định liệu ZeroNet có hỗ trợ mô hình mạng overlay và API được đề xuất hay không, sau đó xác định kiến trúc và tiêu chí nghiệm thu cho việc phát hiện peer, nhắn tin, lưu trữ và quyền hạn ngang nhau của các node.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Lĩnh vực
- distributed-systems, networking
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 20/100