Actualización de Safe Network Dev 🇪🇸 22 junio 2023

Esta es una traducción automática. El original en inglés está aquí: Update 22 June, 2023

Mientras hablamos, InstallNet sigue funcionando muy bien, y ya hemos extraído algunas lecciones útiles de él, probado algunas suposiciones y hecho planes para mejoras. La iteración actual es realmente para probar el proceso safeup que @ChrisO ha estado armando para automatizar la instalación del cliente safe, safenode y testnet en macOS, Windows, Linux y, en última instancia, también en más plataformas.

La inspiración, como sabrás, es Rustup, que hace lo mismo con el ecosistema del lenguaje Rust. Estoy seguro de que estarás de acuerdo en que, si bien hay algunas peculiaridades que resolver, ya es una mejor experiencia de usuario.

Gracias como siempre a todos los que se han metido. No podemos hacer esto sin ustedes.

InstallNet - hallazgos y acciones

  • Algunas de las fallas experimentadas por los probadores de la comunidad se deben a que las nuevas versiones de safe y safenode son incompatibles con las anteriores. Las actualizaciones son rápidas y abundantes y, a veces, contienen cambios importantes. En el futuro, las redes de prueba deberán estar vinculadas a versiones específicas aquí (hasta que tengamos actualizaciones que funcionen bien).

  • Uno de estos cambios importantes es que ahora anteponemos un RecordHeader a cada dato. Esto nos permite distinguir entre un chunk, DBC y un registro, ya que Kademlia almacena todo como un Registro en la red. Los nodos más antiguos no pueden manejar estos encabezados.

  • La instalación de safeup como root/sudo (Linux) coloca los archivos binarios en diferentes ubicaciones, de las que deberemos hacer un seguimiento.

  • El registro/rastreo necesita limpieza y estandarización: estamos en el proceso de considerar nuestras opciones aquí.

  • Los archivos binarios Safe y safenode tenían errores en iMac High Sierra 10.13.6, Arm v7. Ya existe una solución para eso, pero sigan llegando los informes y haremos todo lo posible para apoyarlos.

  • La ubicación de almacenamiento de fragmentos predeterminada debe dividirse en subdirectorios, uno por nodo en esa máquina.

  • ¡Funciona en Android!

  • Necesitamos refinar las instrucciones para los usuarios de Windows.

  • Aún no hemos solucionado el problema por el que los nodos tardan mucho en recibir fragmentos. Puede ser que a medida que se llenan los cubos de Kademila (grupos cerrados), se promueven nuevos nodos “cerrados” solo cuando otro par deja de responder, lo que sugiere que tenemos una agrupación de nodos en el inicio, tal vez debido a que proporcionamos solo un subconjunto limitado de nodos para el contacto inicial. Estamos cavando aquí.

Progreso general

@Joshuef y @qi_ma han estado investigando el problema de los nodos inactivos, lo que da como resultado una gran cantidad de bucles de conectividad a medida que los nodos intentan encontrar (los mismos) pares y ser aceptados (lo que a su vez puede causar picos de memoria). Esto implica una inmersión profunda en el funcionamiento de Kad, pensamientos sobre lo que un nodo necesita para hacerse notar en una red pequeña y posibles soluciones, como volver a intentarlo con PeerIds nuevos.

Qi también ha analizado algunos picos de memoria y problemas de velocidad observados en la última red de prueba (puede ver que se han realizado algunos avances en los nuevos gráficos de referencia )

@ChrisO compiló una lista de problemas de la última red de prueba y está trabajando en mejoras para safeup y el proceso de lanzamiento.

Mientras tanto, @anselme completó su trabajo sobre los gastos, verificó que se evitan los gastos dobles como se esperaba, y comenzó a almacenar registros en nuestro Kad RecordStore , trabajando en un prototipo de API barebones para imitar lo que hay para fragmentos y gastos.

@Bzee continúa analizando las complejidades de las conexiones libp2p para considerar cuántas E/S podemos controlar a nivel de nodo y @bochaco está trabajando en la verificación de las entradas de pagos de almacenamiento.

Y algunas noticias tentativas pero muy positivas de @aed900. Ha estado probando el soporte de libp2p para perforar agujeros a través de QUIC, que es un trabajo en progreso del equipo de libp2p. Informa que hasta ahora todo parece estar funcionando como se esperaba, pero se necesitan más pruebas antes de abrir el champán.


Enlaces útiles

No dude en responder a continuación con enlaces a las traducciones de esta actualización para desarrolladores y los moderadores las agregarán aquí.

Como proyecto de código abierto, siempre estamos buscando retroalimentación, comentarios y contribuciones de la comunidad, así que no sea tímido, únase y creemos la red segura juntos.