- Editado
Bolicoin Orbital
Propuesta DAO a superbloque 764,336 para desarrollo API y APPs periféricas alrededor del núcleo.
Exposición de motivos
Las aplicaciones alrededor del núcleo o periféricas son un conjunto de programas interdependientes, que se ejecutan paralelamente al nodo de Bolivarcoin, las cuales además de poseer todas las características incluidas en la interfaz actual, poseerán algunos agregados adicionales y facilidad de uso que se traduce en mejor usabilidad, prácticidad, eficiencia y comodidad en distintas funcionalidades.
El núcleo (Core) de bolivarcoin tiene todo lo necesario para características como:
Billeteras multifirma/multisignature, también conocidas como “billeteras compartidas”: Son un tipo de billeteras que requieren mas de una aprobación por parte de dos o mas personas para autorizar una transacción o transferencia de monedas. La intención es habilitar de manera gráfica, sencilla y práctica su implementación, la cual servirá enormemente al uso actual y futuro en establecimientos compartiendo billeteras, contralorías o administración cuando se requiera de la “firma” de mas de una persona para acceder o transferir fondos.
Control y monitoreo absoluto de masternodos: Como bien saben, el control de los masternodos se accede en la pestaña “masternodes” de la interfaz oficial, esta provee lo necesario para verificar el estado del masternodo arrancarlo o detenerlo, también permite ver el estado de otros masternodos en toda la red, sin embargo, algunas funciones no se encuentran disponibles, las cuales son:
- A) Monitoreo real de la actividad del masternodo desde la vista del VPS o el equipo donde se está ejecutando. En ocasiones ocurre que el masternodo reporta en la interfaz un estado “NEW_START_REQUIRED”, sin embargo el estatus real del masternodo llamado desde la consola RPC del VPS reporta "status": "Masternode successfully started" y "AssetName": "MASTERNODE_SYNC_FINISHED" además de "IsSynced": true. En el análisis hecho para esta situación se observó que, al parecer el problema radica en el tiempo que tardan los centinelas (sentinel) en reportar correctamente a la cadena de bloques el estado real del masternodo y coincide en la mayoría de los casos con la “cadena detenida”, lo cual, aunque no es un problema mayor, evita la instalación correcta o reporte de los estados de los masternodos haciendo que la interfaz erróneamente lo indique.
Estatus de DAO, Gobernanza y votaciones: El “alma” de nuestro sistema democrático en Bolivarcoin es gozar de las votaciones y observar o auditar de manera pública el estado de la gobernanza, de hecho son las funciones más importantes de la DAO, por lo que propongo...
A) Postulación de propuestas: (como esta que estoy escribiendo) la cual para postular se requiere entrar a la “consola de debug” de la interfaz y colocar, o mejor dicho conjurar algunos hechizos para lograr hacer la postulación correctamente y pedir de rodillas que el administrador apruebe. La intención es crear una dirección web que permita hacer los pasos previos técnicos necesarios para hacer la postulación via Blockchain y luego de eso ser estudiada y verificada para su aprobación.
Para que lo expuesto en este punto utilizaremos, ya que heredamos de DASH la mayoría de los criterios, la referencia, mejorando o adaptando los formularios existentes los cuales pueden ser accedidos desde:
Plantilla de proyecto de propuesta
https://github.com/dashpay/docs/raw/master/binary/Dash%20Project%20Proposal%20Template%20v1.0.docxPlantilla de actualización del estado del proyecto
https://github.com/dashpay/docs/raw/master/binary/Dash%20Project%20Status%20Update%20Template%20v1.0.docxB) Estado de la gobernanza: Aunque los valores de gobernanza se mantienen estables e invariables como adjunto en la gráfica, no tenemos información por ninguna parte de la interfaz que indiqué: 1) Anterior superbloque, 747.720 en el ejemplo y tampoco el siguiente superbloque a salir, el 764.336 en el ejemplo, por cierto el que usted, mi estimado lector va a aprobar en esta propuesta.
getgovernanceinfo { "governanceminquorum": 10, "masternodewatchdogmaxseconds": 7200, "proposalfee": 5.00000000, "superblockcycle": 16616, "lastsuperblock": 747720, "nextsuperblock": 764336, "maxgovobjdatasize": 16384 }
La intención es agregar esa información a la aplicación y como adicional estaríamos incorporando el valor máximo por espera de postulaciones, recordemos que los superbloques solo reciben propuestas hasta 1.616 bloques antes de salir ya que lo hacen cada 16.616 por lo que tener un aviso de “Faltan tantos bloques para aceptar propuestas DAO” y otro aviso “Ya no se reciben mas propuestas” o algo similar le da prácticidad y lo estaríamos colocando en la web que describimos en el punto (A).
C) Votaciones y visualización de propuestas: Si los poseedores de masternodos o sus gestores han leído el punto (A) se sentirán identificados cuando en ocasiones uno pide de rodillas a que no se escape un número o letra en el HEX de la codificación del voto y generalmente se hace un voto muy manualmente escribiendo en consola algo como:
- 1) gobject vote-many 37847caa1ad3376c16ef2a1943c002d562de185e3807f56f5bfff7ffd30529f0 funding yes - 2) gobject vote-many 37847caa1ad3376c16ef2a1943c002d562de185e3807f56f5bfff7ffd30529f0 funding no - 3) gobject vote-many 37847caa1ad3376c16ef2a1943c002d562de185e3807f56f5bfff7ffd30529f0 funding abstain
Siendo 1 para Si, 2 para No, 3 para abstención. Por cierto que curiosamente el comando
gobject vote-many
obliga que que todos los masternodos bajo esa cuenta hagan el mismo voto.La intención es crear una interfaz mas práctica y explicativa conteniendo toda la información de cada propuesta, pasada, presente y las que esten en proceso de votaciones, mostrando la cantidad de votos obtenidos, cuántos bloques faltan para cerrar las votaciones, el enlace desde donde se puede ver la información cada una de ellas incluyendo los comentarios, observaciones e interacciones de los usuarios. Eventualmente la misma aplicación pudiera conectarse con el foro y formar parte activa del usuario hacia el sistema, de manera anónima incluso.
Adicionalmente, se evaluará algún mecanismo “push” para informar a los nodos abiertos el momento de los resultados de las votaciones o hasta la implementación de un “monitor” de votos.
D) Notas complementarias: Aunque no es parte de esta propuesta ya que pudiera estar fuera del alcance del presupuesto, sugiero que se pueda tomar en consideración para futuro cercano y posterior a la realización de la API de Gobernanza diseñar y construir un portal Web al estilo de la predecesora, DASH para tener de manera mejor organizada y públicamente expuesto todo lo referente a gobernanza. Pueden revisar aquí: https://app.dashnexus.org/proposals/leaderboard
Modalidad multi-nodo: Dada las características del núcleo de poder tener varios “daemon” o servicios del nodo en ejecución se creará una interfaz capaz de manejar múltiples nodos con distintas wallets simultáneamente, disminuyendo el uso de memoria y desde una misma interfaz se puedan controlar, nodos de masternodos, nodos de billeteras personales, etc.
API: Aplication Program Interface. Actualmente Bolivarcoin carece de una API, pero...
¿Qué es una API?
- El término API es una abreviatura de Application Programming Interfaces, que en español significa interfaz de programación de aplicaciones. Se trata de un conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar el software de las aplicaciones, permitiendo la comunicación entre dos aplicaciones de software a través de un conjunto de reglas.
- Así pues, podemos hablar de una API como una especificación formal que establece cómo un módulo de un software se comunica o interactúa con otro para cumplir una o muchas funciones. Todo dependiendo de las aplicaciones que las vayan a utilizar, y de los permisos que les dé el propietario de la API a los desarrolladores de terceros.
- Se propone crear una API o un conjunto APIs que sean escalables, de amplitud de uso general o específico. Lo que permitirá desarrollar muchas y mas aplicaciones de tipo periféricas o alrededor del núcleo extendiendo las funcionalidades del Core de Bolivarcoin y de las limitaciones actuales de la interfaz oficial.
- El desarrollo de una API de Bolivarcoin es un “Must Have”, el cual asomé por primera vez la idea en 2017 e hice la prueba de concepto exitosa un año mas tarde, por lo que demorarlo sería limitar el crecimiento de nuestra Blockchain.
Requerimientos:
El desarrollo de lo antes propuesto requiere de la dedicación de programadores/desarrolladores en distintas áreas específicas y se ha determinado de la siguiente manera:
1 Director de proyecto: Quién dirige, planifica, orienta y mantiene el enfoque en los objetivos de los desarrolladores. También crea código por lo que en determinados momentos funge como Backend o Frontend si fuese necesario y participa en todas las áreas o plataformas elegidas para el desarrollo.
2 Desarrolladores Backend: Personas encargadas de preparar la base o API sobre la cual se conectarán todos los otros componentes y se comunica directamente con los nodos para obtener y enviar información tanto a la Blockchain, los masternodos en los VPS como a la interfaz (el Frontend).
2 Desarrolladores Frontend: Quienes crean la interfaz gráfica que es “lo que ve el usuario” en forma de aplicación Desktop (PC), movil (Android) o browsers haciendo uso de la maquinaria del Backend para comunicarse a los distintos “endpoints” provistos por la, o las API.
Tiempo de desarrollo
Para lograr lo antes expuesto se requiere desarrollar primero que todo la API, y aunque no se tiene estimado en su totalidad se piensa que con los dos únicos desarrolladores actualmente existentes el proceso puede extenderse de 3 a 4 meses. Esto, es técnicamente desarrollo Backend.
Luego que la API tenga funcionalidad y algunos endpoints suficientes generales entonces se comienza a trabajar en una interfaz gráfica para equipos PC y Navegadores (browsers) Web, y es aquí donde entran los desarrolladores Frontend que serán los encargados de darle el aspecto visual a las aplicaciones. Se calcula que es un proceso que puede tardar 2 a 3 meses.
Recursos a disposición
El director de proyectos, Asdrúbal Velásquez Lagrave colabora desde su propiedad un repositorio privado en la dirección https://labs.bolivarcoin.tech donde reposará todo el código con acceso restringido solo a “Devs” y contraloría para el tiempo de desarrollo y luego el código será liberado al repositorio oficial de Bolivarcoin https://github.com/BOLI-Project . Este repositorio consta de VPS y sistemas de respaldo adecuados para ese fin y ya se encuentra operativo.
- Se tiene a un desarrollador Backend, Isaac Peña, quien acaba de incorporarse.
- Se ha conversado con Jesus Castelo, quien aún no teniendo suficientes conocimientos ni la experiencia con lo que se va a desarrollar, se entrenará e irá aportando ideas mas lógica de desarrollo. Entra en calidad de “Aprendiz” y a modo de prueba.
- Se ha conversado extraoficialmente con Gustavo Duke, quien es el desarrollador actual de la Faucet y otros desarrollos para evaluar su entrada al equipo como desarrollador Frontend.
EDICIÓN 09/04/2021 por recomendación de varios miembros de la comunidad se hará una nueva distribución de costos y reajuste del presupuesto solicitado
Monto solicitado a la DAO
Total: A DEFINIR - Monedas Distribuidas en varios superbloques
ACTUALIZACIÓN 22/05/2021
Monto total solicitado: 100.000 Monedas
Forma de pago: Superbloques hasta principios de 2022
Reporte de avances: Entrega de avances por valuaciones antes de las siguientes votaciones de cada Superbloque
ACTUALIZACIÓN 23/05/2021
Administrador: Propuesta aceptada y propagada en la red, los dueños de Nodos Maestros pueden votar desde la consola de su nodo escribiendo:
Para el bloque 764.336 se requiere de sus votaciones antes que ocurra y se calcula aproximadamente a mediados de junio de 2021.
Para voto a favor:
gobject vote-many 8f45c88a9421f12538b0a9f04b78495aba617455ce7fe5902904c62c1ae74e9c funding yes
Para voto en contra:
gobject vote-many 8f45c88a9421f12538b0a9f04b78495aba617455ce7fe5902904c62c1ae74e9c funding no
Abstención de votar (voto nulo):
gobject vote-many 8f45c88a9421f12538b0a9f04b78495aba617455ce7fe5902904c62c1ae74e9c funding abstain
Datos de la propuesta en el sistema de masternodos:
HASH: 8f45c88a9421f12538b0a9f04b78495aba617455ce7fe5902904c62c1ae74e9c
CreationTime: 1621738800 / Saturday, May 22, 2021 11:00:00 PM GMT-04:00
start_epoch: 1622023200 / Wednesday, May 26, 2021 6:00:00 AM GMT-04:00
end_epoch: 1645869600 / Saturday, February 26, 2022 6:00:00 AM GMT-04:00
payment_amount: 20.000 (primer pago en el superbloque 764.336)
payment_address: bT2o7guE2tum32WR9j3hbduWdrbQV5pUw4
Obtener información desde la consola:
gobject get 8f45c88a9421f12538b0a9f04b78495aba617455ce7fe5902904c62c1ae74e9c
Esperamos su aprobación para esta propuesta!!!
Gracias
Por Asdrúbal Velásquez Lagrave
Abril / 2021
Segundo año SARS-CoV-2