Diario de desarrollo de contratos inteligentes en Rust (11): Análisis del mecanismo de propuestas de DAO Sputnik
Sputnik-DAO como infraestructura del NEAR Protocol, está impulsando la evolución del ecosistema NEAR hacia una dirección descentralizada. La plataforma ha facilitado la formación de múltiples proyectos de NEAR en comunidades autónomas y ha proporcionado soluciones completas para la gobernanza comunitaria.
Este artículo presentará los conceptos centrales del contrato inteligente Sputnik-DAO - Propuesta (Proposal), y los artículos posteriores se centrarán en explorar a fondo los modelos de gobernanza de la comunidad DAO relacionados con la propuesta.
1. Inicio de la propuesta
Los miembros de la comunidad Sputnik-DAO pueden iniciar nuevas propuestas llamando al método add_proposal(). El proponente debe proporcionar información detallada sobre la propuesta, incluyendo:
Descripción de la propuesta: Mostrar públicamente en el front-end, ayudar a entender el propósito de la propuesta
Tipo de propuesta: como llamada a funciones de contrato, transferencia de fondos, control de permisos, etc.
Una vez que se crea la propuesta, se le asignará un ID único y se añadirá a la piscina de propuestas.
La propuesta también incluye otros atributos:
Proponente: se configura automáticamente como el llamador del método
Estado: Inicialmente "En progreso"
Hora de inicio: Timestamp del bloque actual
Estado de votación: inicial vacío
Es importante tener en cuenta que para iniciar una propuesta, se debe bloquear una cantidad determinada de tokens NEAR como garantía. Esta garantía se devolverá al finalizar la propuesta, pero la parte excesiva no será reembolsada.
2. Estado de la propuesta
Las propuestas pueden pasar por varios estados: en curso, aprobada, rechazada, eliminada, etc. Los cambios de estado son impulsados por el método act_proposal().
Los miembros de la comunidad pueden votar sobre las propuestas en curso:
A favor
Oposición
Eliminar ( considera que la propuesta no tiene sentido )
Después de la votación, se llevará a cabo el conteo de votos y el estado de las propuestas que cumplan con los requisitos se actualizará en consecuencia:
Aprobado: ejecutar el contenido de la propuesta
Rechazado/Eliminado: ejecutar operaciones de finalización
Las propuestas eliminadas se eliminarán del fondo de propuestas y no se reembolsará el depósito. Las propuestas rechazadas permanecerán en el fondo y se reembolsará el depósito.
3. Ejecución de la propuesta
Para las propuestas aprobadas, se llamará a internal_execute_proposal() para ejecutar el contenido de la decisión. Soporta varios tipos de propuestas, tales como:
Cambiar configuración
Cambiar la política de gobernanza
Agregar/Quitar roles de miembros
Llamada a funciones de contratos inteligentes
Actualización de contratos
Transferencia de fondos
etc.
A continuación se detalla el proceso de ejecución de dos propuestas típicas:
3.1 Propuesta de ejecución de funciones de contrato
Este tipo de propuesta ya especifica las operaciones de función a ejecutar en el momento de su creación. Se completará la llamada a múltiples funciones consecutivas en forma de Acciones de Lote de Promesas.
3.2 propuesta de transferencia de fondos del contrato
Este tipo de propuesta se utiliza para transferir los tokens acumulados en la cuenta del contrato a la cuenta designada. Se admiten tokens nativos de NEAR y otros tokens que cumplan con el estándar NEP-141, que se pueden transferir a cuentas externas u otros contratos.
4. Resumen
Este artículo presenta los conceptos clave del contrato de Sputnik DAO - propuestas, que incluyen la creación de propuestas, cambios de estado y el proceso de ejecución. Artículos posteriores explorarán en profundidad la implementación del modelo de gobernanza de Sputnik-DAO basado en propuestas.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Análisis profundo de los contratos inteligentes del Sputnik DAO: análisis completo del mecanismo de propuestas
Diario de desarrollo de contratos inteligentes en Rust (11): Análisis del mecanismo de propuestas de DAO Sputnik
Sputnik-DAO como infraestructura del NEAR Protocol, está impulsando la evolución del ecosistema NEAR hacia una dirección descentralizada. La plataforma ha facilitado la formación de múltiples proyectos de NEAR en comunidades autónomas y ha proporcionado soluciones completas para la gobernanza comunitaria.
Este artículo presentará los conceptos centrales del contrato inteligente Sputnik-DAO - Propuesta (Proposal), y los artículos posteriores se centrarán en explorar a fondo los modelos de gobernanza de la comunidad DAO relacionados con la propuesta.
1. Inicio de la propuesta
Los miembros de la comunidad Sputnik-DAO pueden iniciar nuevas propuestas llamando al método add_proposal(). El proponente debe proporcionar información detallada sobre la propuesta, incluyendo:
Una vez que se crea la propuesta, se le asignará un ID único y se añadirá a la piscina de propuestas.
La propuesta también incluye otros atributos:
Es importante tener en cuenta que para iniciar una propuesta, se debe bloquear una cantidad determinada de tokens NEAR como garantía. Esta garantía se devolverá al finalizar la propuesta, pero la parte excesiva no será reembolsada.
2. Estado de la propuesta
Las propuestas pueden pasar por varios estados: en curso, aprobada, rechazada, eliminada, etc. Los cambios de estado son impulsados por el método act_proposal().
Los miembros de la comunidad pueden votar sobre las propuestas en curso:
Después de la votación, se llevará a cabo el conteo de votos y el estado de las propuestas que cumplan con los requisitos se actualizará en consecuencia:
Las propuestas eliminadas se eliminarán del fondo de propuestas y no se reembolsará el depósito. Las propuestas rechazadas permanecerán en el fondo y se reembolsará el depósito.
3. Ejecución de la propuesta
Para las propuestas aprobadas, se llamará a internal_execute_proposal() para ejecutar el contenido de la decisión. Soporta varios tipos de propuestas, tales como:
A continuación se detalla el proceso de ejecución de dos propuestas típicas:
3.1 Propuesta de ejecución de funciones de contrato
Este tipo de propuesta ya especifica las operaciones de función a ejecutar en el momento de su creación. Se completará la llamada a múltiples funciones consecutivas en forma de Acciones de Lote de Promesas.
3.2 propuesta de transferencia de fondos del contrato
Este tipo de propuesta se utiliza para transferir los tokens acumulados en la cuenta del contrato a la cuenta designada. Se admiten tokens nativos de NEAR y otros tokens que cumplan con el estándar NEP-141, que se pueden transferir a cuentas externas u otros contratos.
4. Resumen
Este artículo presenta los conceptos clave del contrato de Sputnik DAO - propuestas, que incluyen la creación de propuestas, cambios de estado y el proceso de ejecución. Artículos posteriores explorarán en profundidad la implementación del modelo de gobernanza de Sputnik-DAO basado en propuestas.