Actualización de Safe Network Dev 🇪🇸 18 de marzo de 2021 2021

Esta es una traducción automática. El original en inglés está aquí: Safe Network Dev Update - March 18, 2021

Resumen

Estas son algunas de las cosas principales a destacar desde la última actualización de desarrollo:

  • ¡Nos complace anunciar la creación del Fondo BambooGarden que se utilizará para iniciativas que ayuden a la implementación y adopción de la Red! Detalles completos en una publicación separada del foro aquí
  • Los flujos de mensajería perezosa se están uniendo en sn_node, con resultados prometedores hasta ahora, además de código simplificado.
  • Estamos seguros de que finalmente hemos resuelto las divisiones de la billetera de la sección, al ver esto en acción sin problemas hoy. Esto nos permite volver a habilitar las reubicaciones y, por lo tanto, recompensar los pagos, pasando a abordar cualquier problema que surja allí.
  • A todo el mundo le encanta un poco de @jimcollinson: echa un vistazo a su nuevo screencast que demuestra cómo estamos diseñando cosas con el objetivo de que sea sencillo empezar a ganar tokens de red segura, incluso para quienes no confían en las computadoras.
  • @dimitar fue un invitado en el podcast criptográfico búlgaro “Cyber ​​people” que se lanzó esta semana. Si hablas búlgaro, puedes ver el episodio completo aquí; de lo contrario, ** tienes ** que ver su “huevo de pascua” en 58 minutos en aquí :joy: :clap:
  • Esté atento al hilo Me gusta este Tweet en el foro para obtener una excelente orientación sobre cómo ayudar a promover la Red segura, y componentes circundantes, con un simple clic de botón! :bird:

Anunciando el BambooGarden Fund :mega:

Estamos encantados de anunciar la creación de un fondo que se utilizará en iniciativas que ayudarán directamente con el despliegue de Safe Network o crearán una base de usuarios para Safe Network una vez que esté en funcionamiento.

Hemos creado una publicación separada en el foro aquí con mucho más detalle.

El paso 1 para poder aceptar solicitudes de financiamiento es encontrar miembros del comité de fondos de la comunidad, que puedan ofrecer su tiempo como voluntarios para ayudar a establecer el alcance de las primeras áreas que deben ser seleccionadas y, por supuesto, revisar y votar. solicitudes de financiación. Si desea ser voluntario para unirse al comité de fondos, encontrará todos los detalles en la publicación del foro de fondos.

Cliente seguro, nodos, enrutamiento y qp2p

Plan del proyecto Safe Network Transfers
Plan de proyecto de cliente seguro
Plan de proyecto de nodo de red segura
Plan de proyecto de enrutamiento seguro

Mensajes perezosos

Hemos estado analizando más a fondo los nodos en la última semana, con los nuevos flujos de mensajería perezosa en mente y cómo podemos implementarlos. Como resultado, hemos realizado algunos cambios importantes en el código del nodo para simplificar un poco las cosas, lo que nos permite retener más concretamente alguna relación con el mensaje que desencadenó una acción de nodo determinada, por lo que podemos fallar con este contexto, según sea necesario.

Ha sido una refactorización buena y rápida allí, lo que parece habernos llevado a un buen punto. Ahora estamos integrando los cambios de mensajería asociados en “sn_routing” para enrutar correctamente y / o generar errores si nuestra mensajería no está sincronizada con la red. Una vez que tengamos eso, deberíamos estar en un buen lugar para comenzar a lanzar errores a través del patrón de mensajería perezosa cuando surgen en los nodos.

División de billetera de sección

Lidiar con la división de la billetera de la sección fue un hueso duro de roer cuando se trataba de que una constelación antigua (los Ancianos de la sección principal) firmara la transferencia a las nuevas secciones de hermanos.

Lo que terminamos haciendo fue reutilizar el flujo de génesis, donde la nueva sección Elders simplemente propone la creación de una nueva billetera.

Hoy conseguimos que las divisiones funcionen para varias divisiones posteriores (no se ve un final allí). Esto significa que ahora podemos volver a habilitar las reubicaciones y, por lo tanto, los pagos de recompensa correspondientes, que se deshabilitaron durante el desarrollo de las divisiones.

Pagos de recompensas

Tuvimos pagos de recompensas exitosos antes de la refactorización del código, pero actualmente hay algunas correcciones que hacer para que vuelva a funcionar. Ya estamos profundizando en eso.

Tamaño mayor

El PR para aumentar el tamaño de personas mayores a 7 ha estado en espera porque necesitaba algunos cambios en las bibliotecas del cliente. Se han implementado ahora y se están probando. Una vez que verifiquemos que todo funciona correctamente, podemos fusionar inmediatamente este PR.

Documentación

Comenzamos a trabajar en la documentación técnica detallada para sn_routing. Su objetivo es ser una fuente canónica única de información sobre el funcionamiento interno del enrutamiento y sus diversos algoritmos, para que los nuevos desarrolladores que quieran sumergirse en él lo hagan más fácilmente. Nosotros también want para facilitar la prueba formal de esos algoritmos. La documentación se está puliendo y revisando actualmente y se publicará pronto.

API y CLI

Similar a lo que hemos hecho recientemente con nuestra abstracción FilesContainer en sn_api, es decir, tener todo el contenido almacenado en Blobs y mantener solo el enlace Safe en FilesContainer, ahora estamos comenzando a realizar el mismo tipo de cambios en nuestro contenedor NRS. implementación. Esto no afectará la forma en que los usuarios interactúan, crean y / o acceden a los nombres y subnombres de NRS, sino simplemente cómo se almacenan los datos en la red. Cada nueva versión de las asignaciones creadas para un nombre NRS ahora se serializará y almacenará en un Blob inmutable público, manteniendo solo un enlace desde el contenedor NRS a cada uno de estos Blobs. De esta manera, el contenedor NRS seguirá realizando un seguimiento del historial de cambios mientras restringe la cantidad de contenido almacenado en la parte mutable de contenido para que sean simplemente enlaces seguros.

Como se explica en la sección siguiente, también nos estamos alejando del tipo de datos Sequence al nuevo tipo de datos Register, que es un CRDT más simple y robusto para soportar operaciones concurrentes de diferentes clientes, por lo que los contenedores NRS se almacenarán en Registers, en lugar de que Maps como está actualmente. Con esto en su lugar, tendremos todas nuestras implementaciones de abstracción de datos basadas en CRDT.

CRDT

El trabajo de Bounded Counter ha progresado de manera constante. Ahora tenemos la teoría establecida para pagar para asignar operaciones con anticipación y garantizar que todas las operaciones siempre tengan la oportunidad de persistir de manera duradera en una supermayoría de Ancianos. Lo que queda es validar esta teoría a través de algún código PoC para asegurarnos de que no nos falta nada en los detalles.

MerkleReg: Nos hemos decidido por una API transversal para MerkleReg, esto nos da la capacidad de retroceder a través del historial de bifurcaciones de un registro, así como de consultar cualquier dato más nuevo que se haya escrito en el registro. rust-crdt # 116

Con esto ahora en su lugar, comenzamos a migrar desde el tipo de datos Sequence al nuevo tipo de datos Register. Los cambios para nuestra caja sn_data_types están listos (PR # 352), y ahora estamos trabajando para adaptar la contraparte sn_client, más sn_messaging en consecuencia (PR # 65).

Aplicación Safe Network y UX of Farming

Para su dosis semanal de UX, vea este video de @jimcollinson que demuestra cómo estamos diseñando cosas con el objetivo de que sea sencillo comenzar a ganar tokens de red segura, incluso para aquellos que no tienen mucha confianza con las computadoras.

Muestra la incorporación de estilo conversacional que estamos ideando para áreas clave de la aplicación para el uso por primera vez, con el objetivo de guiar a las personas a través de algunos de los flujos más matizados sin ser demasiado prolijos.

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.