Implementar el servidor de la API de shell con los extremos `/ push`,` / validators` y `/ validators / {address}` (Stoa API Server), agregar inscripciones a los bloques de génesis codificados, etc.

Dev. Actualización del equipo Sprint 19

Implementaciones de funcionalidad

Implementar el servidor de la API de shell con los extremos `/ push`,` / validators` y `/ validators / {address}` (Stoa API Server) # 9

Este trabajo estaba relacionado con un nuevo proyecto que acabamos de lanzar llamado Stoa. Stoa tiene una API que permitirá a los usuarios interactuar con Agora sin tener que preocuparse por los detalles esenciales. A modo de comparación, Stoa puede comunicarse con Horizon de Stellar o Infura de Ethereum. Así como un Stoa actuaba como una entrada al Ágora en la antigua Grecia, la API de Stoa actuará como un punto de entrada para cualquier proveedor de servicios externo a la red Agora.

Agregar inscripciones a los bloques de génesis codificados de forma rígida <×#907

Este problema dependió de la finalización del # 821. Nuestros bloques de génesis deben tener Inscripciones en sí mismos para que sean válidos y utilizables. Actualmente, la falta de inscripción significa que tuvimos que encontrar una solución alternativa única para nuestras pruebas. En una nota al margen, problemas como el # 822 terminaron siendo ralentizados por esto.

Las participaciones de los nodos se tienen en cuenta al formar quórumes <×#963

Ahora que se implementó el # 785, comenzamos a tener en cuenta las apuestas del nodo. Los nodos que tienen una mayor cantidad de participación deberían tener una mayor probabilidad de ser incluidos en el quórum de un nodo. La implementación de esta funcionalidad es solo una serie de muchos problemas menores relacionados con el equilibrio del quórum.

No se debe aceptar un bloqueo sin inscripciones si el conjunto de validación se vaciará <×#822

Considere este caso de ejemplo:

Ahora que la cadena de bloques se ha detenido permanentemente. El bloque 1009 nunca se creará porque no hay validadores activos que puedan llegar a un consenso y firmar un nuevo bloque. La reinscripción tampoco es posible en este momento, porque las inscripciones deben escribirse en un bloque para que se consideren activas.

Tenemos que idear algún tipo de regla. Por ejemplo, si todos los validadores están a punto de vencer, no cree un bloque a menos que haya nuevas inscripciones en el bloque.

Además, es posible que queramos hacer otra regla de protocolo: no permita que se inscriban menos de X validadores en todo momento. Por ejemplo: si solo quedan 2 validadores inscritos en el conjunto de validadores y esos dos validadores se desconectan permanentemente (o pierden su clave, etc.), la cadena de bloques se detiene permanentemente.

Desarrollo continuo

Implementaciones de funcionalidad

# 9 Implementar Shell API Server con puntos finales de API “/ push”, “/ validators” y “/ validators / {address}” (Stoa API Server)

Este trabajo involucra un nuevo proyecto recientemente lanzado llamado Stoa. Stoa es una API que permite a los usuarios interactuar con Agora sin tener que preocuparse por los detalles. Comparado con otros proyectos, Stoa es como Stellar’s Horizon o Ethereum’s Infura. Así como Stoa (el pasaje techado de la arquitectura griega antigua) se convirtió en la puerta de entrada al Ágora en la antigua Grecia, la API de Stoa será la puerta de entrada a la red Agora para proveedores de servicios externos.

# 907 Inscripción de validación de adición de bloque Génesis codificada

Trabajaremos después de resolver el problema # 821. Para que los bloques de génesis de Agora sean válidos y útiles, ellos mismos deben tener una inscripción de validación. Actualmente, la falta de propiedades de validación significa que se necesita una solución alternativa diferente para las pruebas. El número 822 se retrasó debido a esto.

# 963 Considerar los recursos compartidos de los nodos al construir el quórum

Con la implementación de # 785, comenzamos a considerar las apuestas de los nodos. Los nodos con más participaciones deberían tener una mayor probabilidad de estar en el quórum de nodos. Esta función es uno de los problemas menores con el equilibrio del quórum.

# 822 Si no hay validador, no se aceptarán bloques sin inscripción de validador

<”Consideraciones:

Ahora que la cadena de bloques está suspendida permanentemente, el bloque 1009 nunca se creará. Esto se debe a que no hay un validador activo para llegar a un consenso y firmar nuevos bloques. Tampoco es posible volver a registrarse en este momento, ya que la inscripción del validador debe agregarse al bloque para convertirse en un bloque activo.

Por tanto, necesitamos un nuevo tipo de regla. Por ejemplo, si todos los validadores han expirado, los bloques no se crean a menos que haya una nueva inscripción de validadores en el bloque.

Además de esto, necesitamos crear otra regla de protocolo, como ‘Asegúrese de que no se registren menos de X validadores todo el tiempo’. Por ejemplo: si solo hay 2 validadores registrados en el conjunto de validadores, y estos dos validadores están permanentemente fuera de línea (o pierden sus claves, etc.), la cadena de bloques se detiene permanentemente.

Desarrollo continuo

¡Únase a nuestros canales de comunicación de la siguiente manera!

Sitio web (Kor): https://bosagora.io/en
Sitio web (inglés): https://bosagora.io
Telegram (Kor): https://t.me/bpf_korea
Telegram (Eng): https://t.me/bpf_eng
Anuncio oficial de BOSAGORA: https://t.me/boa_announcement
Medio: medium.com/bosagora
Twitter: https: / /twitter.com/BOSAGORA1
Reddit: https://www.reddit.com/r/BOSAGORA_BOA/
Facebook: https://www.facebook.com/BOSAGORA/
Linkedin: https: / /www.linkedin.com/company/bpf-korea/
Youtube: http://bit.ly/2YFpd5r
Github: https://github.com/bpfkorea

EQUIPO BOSAGORA