Actualités du développement Safe 🇫🇷 29 juin 2023

Ceci est une traduction automatique. L’original en anglais est ici: Update 29 June, 2023

Une bonne semaine de corrections de bogues et d’ajustements en préparation de notre prochain testnet : NodeDiscoveryNet, qui examinera comment les nœuds se retrouvent sur le réseau.

Nous avons trouvé une cause d’utilisation excessive de la mémoire. Nous pensions que les nœuds n’envoyaient des messages qu’aux huit nœuds les plus proches d’eux, alors qu’ils envoyaient en réalité des messages à 20 nœuds. Nous ne savons pas exactement quels étaient tous les effets d’entraînement, mais pour tout appel où nous supposions un groupe proche, il y avait beaucoup de messages gaspillés - ce qui se traduit par une utilisation accrue de la mémoire et pourrait bien avoir également affecté la réplication des données.

Parce que nous exécutons de nombreux nœuds par machine sur les réseaux de test, nous avons peu de tolérance pour l’inattendu. Nous avons vu certains nœuds mourir de manière inattendue, et cette utilisation accrue de la mémoire est une raison possible.

L’autre endroit où nous avons vu la mort des nœuds concernait la réplication - cela avait à voir avec les processus par défaut Kademlia/libp2p ajoutant de la merde à la table de routage, y compris les nœuds qui sont derrière NAT et ne peuvent pas être atteints. Cela signifiait que les nœuds pensaient qu’ils étaient connectés au réseau mais ne l’étaient pas - une cause probable du problème « J’ai rejoint mais je n’ai pas de données », ainsi que des nœuds mourant de manière inattendue. Donc, maintenant, nous ajoutons manuellement des entrées à la table de routage au lieu de compter sur Kademlia pour le faire lorsqu’une connexion est détectée. Parfois, il suffit de se retrousser les manches et de le faire soi-même. :roll_eyes: Il se peut que les nœuds qui se retrouvent coincés dans le monde souterrain devront redémarrer pour accéder correctement au réseau, mais cela ne devrait pas être nécessaire, selon nous.

Progrès général

@Chriso a passé la semaine à travailler sur les améliorations UX du processus d’installation et de journalisation, grâce aux commentaires du dernier testnet.

@ aed900 travaille sur un fichier batch pour extraire le nombre de messages/erreurs de journal significatifs des répertoires de nœuds testnet, similaire à ce que @Shu a fait pour créer ses graphiques. Il travaille également avec @Chriso pour rendre l’outil testnet plus utile, avec la possibilité de lancer des testnets via l’interface utilisateur github à venir.

@Anselme a pratiquement terminé la mise en œuvre des opérations PUT et GET et la réplication des registres suite à ses travaux précédents sur les morceaux et les dépenses. Grande nouvelle car elle ouvre la voie à l’infrastructure pour les DBC ! Il a également refactorisé et rationalisé les caisses associées pour aider aux travaux futurs ici.

@bzee supprime notre code personnalisé pour gérer les communications avec les pairs (numérotation dans le jargon) sans nécessiter d’identifiant, le remplaçant par la fonctionnalité native libp2p qui empêche de composer un pair si la messagerie a déjà été initiée. Il a également changé nos API afin de ne pas avoir besoin d’un ID pair.

Avec @joshuef, Benno a également cherché à insérer manuellement des entrées dans la table de routage plutôt que de le faire automatiquement. Ce processus, nous l’avons remarqué, insère parfois des fichiers inutiles (voir ci-dessus) avec des effets secondaires malheureux.

@qi_ma travaille sur divers scénarios pour savoir qui vérifie quoi lorsqu’un client paie pour des morceaux. Comme toujours, nous voulons charger le plus possible sur le client, mais pas au point de tromper le système.

Et @bochaco et @roland suppriment les pare-balles du code DBC et les intègrent dans les processus de paiement. C’est une étape dont nous pensons que nous pouvons maintenant nous passer avec l’avantage significatif de simplifier d’autres processus (et l’un des avantages douteux car le coût du magasin sera connu, dévoilant efficacement de larges pans des transactions sur le réseau).


Liens utiles

N’hésitez pas à répondre ci-dessous avec des liens vers les traductions de cette mise à jour de développement et les modérateurs les ajouteront ici.

En tant que projet open source, nous sommes toujours à la recherche de commentaires, de commentaires et de contributions de la communauté. Ne soyez donc pas timide, rejoignez-nous et créons ensemble le réseau sécurisé!