Caso de uso: Proyecto Lisk de construcción de la cadena organizativa descentralizada

octubre 09, 2020 VICTOR HUGO LAZARTE 0 Comments

 


Descripción

Uno de los desafíos de las nuevas empresas emergentes es obtener la financiación inicial necesaria para el alquiler, los equipos y los salarios. La cadena organizativa descentralizada (DOC) permite a las empresas iniciar su propia cadena de bloques y recibir financiación mediante la venta de tokens a los inversores. Los inversores, a su vez, tienen la oportunidad de tomar e influir en las decisiones de la empresa mediante la creación de encuestas, o ejecutar un nodo de falsificación creando una cadena descentralizada y obteniendo recompensas. Cualquiera que haya comprado suficientes tokens puede convertirse en miembro de la junta y crear encuestas. Además, los poseedores de tokens pueden registrarse como inversores para poder votar en las encuestas. Una vez finalizada la encuesta, se espera que la empresa siga la respuesta más votada.

Ejemplo:

Nueva encuesta: ¿Deberíamos contratar 2 empleados adicionales de I + D?Opciones: [Sí] [No]

La aplicación DOC está construida con Lisk SDK y consta de un servidor y un cliente, ambos escritos en Javascript. El servidor ejecuta la cadena de bloques real utilizando NodeJS y una base de datos PostgreSQL. La parte del cliente actúa como una interfaz para el servidor y está construida usando NodeJS, React, bootstrap y Lisk Elements. Puede acceder a la interfaz en http://doc.korben3.com

Descubrí que podía reutilizar partes de las transacciones personalizadas de mi Prueba de concepto anterior, Global Data Chain . Después de un tiempo, varios desarrolladores realizarán muchas transacciones personalizadas, lo que hará que sea más fácil y rápido construir una cadena de bloques adaptada a sus necesidades.

Reglas

Las siguientes reglas son parte del DOC:

  • 🔴 Los fundadores poseen una cantidad significativa de tokens, que también se pueden utilizar para la financiación futura de la empresa.
  • 🔴 La Oferta Inicial de Token (ITO) permite a las partes interesadas invertir en la empresa de inicio e incluso ocupar un puesto de miembro de la junta.
  • 🔴 Las ganancias trimestrales se utilizan para recomprar y luego quemar tokens de los intercambios, lo que aumenta el precio del token para los inversores y también disminuye la cantidad existente de tokens.
  • 🔴 Una vez que finaliza una encuesta, la empresa debe seguir la decisión más votada.
  • 🔴 Si se violan las reglas anteriores, los inversores perderán la fe, venderán sus tokens y disminuirán el valor de los tokens de Founders.

Uso

Ver encuestas

Puede encontrar todas las encuestas haciendo clic en Resumen de encuestas en el menú en la parte superior izquierda de la página. Desde allí, busque en las diferentes páginas o filtre para ver Todas las encuestas, las encuestas abiertas o las encuestas cerradas.

Para votar en una encuesta, vaya a Encuestas abiertas y haga clic en una pregunta de encuesta. Esto lo llevará a la página de detalles de Encuestas. Incluso puede compartir el enlace a la encuesta copiando la URL, por ejemplo: doc.korben3.com/poll/8097342680131618285L.

Iniciar sesión

Antes de poder crear una encuesta, primero debe iniciar sesión. Vaya a la parte superior derecha de la página e ingrese una frase de contraseña válida para la cadena organizativa descentralizada. Alternativamente, use la frase de contraseña ya completa, que pertenece a una cuenta de inversionista y le permite votar. Luego haga clic en el botón Iniciar sesión.

Después de iniciar sesión, aparece una opción de menú adicional llamada Información de cuenta. Aquí puede verificar cuántos tokens DOC tiene la cuenta y si está registrada como inversionista o miembro de la junta. Dependiendo de su tipo de usuario, puede votar o votar y crear nuevas encuestas.



Registrar Cuenta

Si posee suficientes tokens DOC, puede registrar su cuenta iniciando sesión primero y luego yendo a Información de la cuenta. Allí puede hacer clic en el enlace llamado Registrarse como inversor o miembro de la junta. O vaya a doc.korben3.com/register


Para registrarse, cree un buen nombre de usuario y elija un tipo de usuario: inversor o miembro de la junta . Si la cuenta tiene suficiente saldo, se registrará después de hacer clic en el botón Registrar cuenta.


Votar en una encuesta

Para votar en una encuesta, seleccione una de las encuestas abiertas que puede encontrar en el Resumen de encuestas. Lea la pregunta y haga clic en la opción del círculo antes de la respuesta que le gustaría elegir. Luego haga clic en el botón Votar. Recuerde que para votar primero debe iniciar sesión, debe tener saldo suficiente y debe estar registrado como inversionista o miembro de la junta. También puede ver cuánto tiempo queda antes de que se cierre la encuesta.


Crea una nueva encuesta

Para crear una nueva encuesta, primero debe estar registrado como miembro de la junta. Si quieres probarlo, solo pide una cuenta a korben3 en Discord . Vaya a Crear encuesta y complete una buena pregunta relacionada con el negocio y al menos 2 respuestas. Asegúrese de revisar la encuesta y luego haga clic en el botón Enviar encuesta. Creará la encuesta en una dirección única. Puede encontrar la encuesta creada yendo a Resumen de encuestas y seleccionando Encuestas abiertas. Haga clic en la encuesta y copie la URL para compartirla con otros.


Transacciones personalizadas

Se utilizan las siguientes transacciones personalizadas:

Puede encontrar el código fuente en GitHub: korben3 - Cadena organizativa descentralizada 

Registrarse como inversor

Nombre de archivo: register-investor_transaction.js

Esta transacción permite que los propietarios de tokens se registren como inversores. Los inversores pueden votar en las encuestas creadas por los miembros de la junta. La tarifa está establecida en 1000 DOC, por lo que el umbral para participar es bajo.

En el método validateAsset () nos aseguramos de que la transacción cumpla con las siguientes reglas:

  • 🔴 La propiedad user.name está presente y es igual o menor a 32 caracteres
  • 🔴 La propiedad user.type está presente y el valor se establece en "inversor".
  • 🔴 La transacción contiene solo 1 objeto de activo y solo 2 propiedades de usuario

A continuación se muestra el código que asegura que el user.type esté configurado como "inversor" o de lo contrario arrojará un error.

Una vez validada la transacción (tx), el tipo de inversor se aplicará a la cuenta del usuario. Y el usuario podrá votar en una encuesta.

Registrarse como miembro de la junta

Nombre de archivo: register-board-member_transaction.js

Registrarse como miembro de la junta cuesta 100000 DOC, esta es una tarifa alta prevista porque los miembros pueden crear nuevas encuestas que cambian la dirección de la empresa. Tanto la empresa como los inversores se benefician de las buenas decisiones, por lo que cualquier nueva encuesta se toma muy en serio. Los miembros de la junta también pueden votar.

Agregar nueva encuesta

Nombre de archivo: add-poll_transaction.js

Con esta transacción, los miembros de la junta pueden crear nuevas encuestas para 1000 DOC. Una encuesta está abierta durante 7 días después de los cuales no es posible votar sobre ninguna de las respuestas. Cuando se cierra la votación, se espera que la empresa siga el resultado, que es la respuesta con la mayor cantidad de votos. Si la empresa decide ignorar el resultado, disminuirá la confianza y los inversores podrían decidir vender gran parte de sus tokens, disminuyendo el valor.

El código de transacción de la encuesta realiza varias verificaciones para asegurarse de que se envíen encuestas válidas:

  • 🔴 Una pregunta debe estar presente y tener la longitud correcta.
  • 🔴 Se permiten al menos 2 y un máximo de 5 respuestas y deben tener la longitud correcta.
  • 🔴 No se permiten trampas, por lo que no puede comenzar con votos presentes.
  • 🔴 El remitente debe estar registrado como miembro de la junta.
  • 🔴 Si la dirección de la encuesta ya contiene una encuesta. No se permite sobrescribir.

Por ejemplo, el siguiente código verifica si el remitente está registrado como miembro de la junta.

Voto emitido

Nombre de archivo: cast-vote_transaction.js

Los propietarios de tokens registrados como inversores o miembros de la junta pueden votar en cualquier votación abierta. Un voto cuesta 100 tokens DOC. Se permiten varios votos en una respuesta porque esto muestra que alguien está dispuesto a gastar muchas fichas para tomar una determinada decisión. Los poseedores de tokens solo se benefician de las buenas decisiones, por lo que cualquier voto se considera cuidadosamente. Una vez que se cierra la encuesta, ya no es posible votar y el voto es rechazado por blockchain. La transacción de voto emitido verifica si el activo de voto es válido, si la votación aún está abierta y si el remitente está registrado como miembro de la junta o inversionista.

El código siguiente en el método applyAsset agrega el voto.

  • 🔴 Si no hay votos, simplemente agrega un nuevo activo de voto con el primer voto del remitente.
  • 🔴 Si la respuesta ya está votada, aumenta el recuento de votos de esa respuesta.
  • 🔴 Si ya hay votos pero esta es una nueva respuesta, almacena todos los votos anteriores y agrega la nueva respuesta con un valor de 1.

API

La API pública está disponible en: 167.179.98.242:4000 . Para obtener una lista de los puntos finales disponibles, consulte la documentación de la API en Lisk.io

Ejemplos de llamadas:

Recuperar el saldo de una cuenta: http://167.179.98.242:4000/api/accounts?address=10572594784286738319L

Ver el estado del nodo: http://167.179.98.242:4000/api/node/status

Extensión de DOC

La versión actual de la cadena organizativa descentralizada podría ampliarse con pequeñas funciones, como establecer una duración de encuesta personalizada, agregar un tipo de usuario para los fundadores o crear una página "Crear nueva cuenta". O con nuevas formas de mover más estructura y comunicación de una empresa a la cadena de bloques DOC además de las encuestas. Por ejemplo: Permitir a los fundadores publicar noticias mensuales en formato de blog. Agregar tipos de usuarios de empleados y otorgarlos automáticamente por ciertos logros o pagarles una bonificación mensual en tokens DOC. Crear objetivos empresariales a corto y largo plazo y activar determinadas acciones ante el éxito o el fracaso.

Hay tantas posibilidades con las transacciones personalizadas del Lisk SDK. Tener una cadena de bloques de empresa descentralizada puede aumentar la confianza, la transparencia y la eficiencia. ¡Siéntete libre de usar el código en GitHub para explorar y crear tus propias versiones!

Para obtener más detalles sobre el proyecto de Cadena organizativa descentralizada y el código, consulte su  repositorio de GitHub . 

Si se siente inspirado y desea crear su propia aplicación de cadena de bloques de prueba de concepto, consulte el programa Lisk Builders. Puede encontrar más información sobre el programa y el procedimiento de solicitud en la página web de Lisk para el programa Lisk Builders .

 Fuente: Blog de Lisk

  Descripción Uno de los desafíos de las nuevas empresas emergentes es obtener la financiación inicial necesaria para el alquiler, los equip...