HelloZeroNet / HelloZeroNet/ZeroNet

ZeroNet as a platform for overlay networks.

Ouverte
#1,820 9 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
18.8k
Forks
2.3k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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?

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

L’issue n’identifie ni fichiers, ni tests, ni point d’entrée pour l’implémentation. Déterminez d’abord si ZeroNet prend en charge le modèle de réseau overlay et l’API proposés, puis définissez l’architecture et les critères d’acceptation pour la découverte des pairs, la messagerie, le stockage et des permissions équivalentes pour les nœuds.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Domaine
distributed-systems, networking
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
20/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.