Diario de desarrollo de contratos inteligentes en Rust (11) - Explicación del mecanismo de propuestas del Sputnik DAO
Sputnik-DAO como una infraestructura clave del Protocolo NEAR, está impulsando el ecosistema NEAR hacia un desarrollo descentralizado. Actualmente, esta plataforma ha facilitado la creación de múltiples proyectos NEAR que establecen comunidades autónomas descentralizadas, proporcionando un esquema de gobernanza de decisiones comunitarias completo y flexible.
Sputnikdaov2 es un contrato inteligente utilizado para la votación de gobernanza de la comunidad Sputnik-DAO. Este artículo presentará los conceptos clave de dicho contrato: propuesta (Proposal), y artículos posteriores se centrarán en la introducción de los modelos de gobernanza comunitaria de DAO (Policy).
1. Inicio de propuesta
Los miembros de la comunidad Sputnik-DAO pueden expresar opiniones o presentar propuestas sobre la gobernanza o gestión del proyecto. Cada miembro accionista puede revisar y votar sobre las propuestas, influyendo así en la dirección futura del proyecto.
En el nivel del contrato, los miembros pueden llamar al método add_proposal() del contrato sputnikdaov2 para iniciar una nueva propuesta:
óxido
u64
El proponente debe proporcionar la siguiente información detallada:
Descripción del texto de la propuesta (Description)
Tipo de propuesta (kind )
Esta información se pasará como parámetros al método add_proposal(), y después de ser procesada, generará una propuesta completa (Proposal), que se vinculará con un único proposal_id y se añadirá al pool de propuestas mantenido globalmente por el contrato.
Los atributos completos de la propuesta incluyen: proponente, estado, tiempo de inicio, estado de votación, etc.
Es importante tener en cuenta que el Sputnik-DAO requiere que los proponentes depositen una cierta cantidad de tokens NEAR como garantía. Este depósito se reembolsará al proponente al finalizar normalmente la propuesta.
2. Estado de la propuesta
Las propuestas en Sputnik-DAO pueden experimentar varios estados, siendo el estado inicial InProgress. Los cambios de estado son impulsados por el método act_proposal().
Los miembros pueden llamar a act_proposal() para realizar las siguientes acciones en la propuesta:
VoteApprove: indica aprobación
VoteReject: indica oposición
VoteRemove: considera que la propuesta no tiene sentido y debe ser eliminada
Después de la votación, el contrato llamará a policy.proposal_status() para contar los votos, y el estado de la propuesta que cumpla con las condiciones cambiará en consecuencia.
Las propuestas en estado Aprobado serán ejecutadas
Propuestas en estado Rechazado o Eliminado realizarán operaciones de cierre.
Las propuestas en estado Removed se eliminarán directamente del grupo de propuestas y no se reembolsará el depósito. Las propuestas en estado Rejected permanecerán en el grupo y se reembolsará el depósito.
3. Ejecución de la propuesta
Las propuestas en estado Aprobado llamarán a la función internal_execute_proposal() para ejecutar el contenido de la decisión.
Sputnik-DAO apoya varios tipos de propuestas, este artículo se centra en dos tipos típicos:
( 3.1 Propuesta de ejecución de funciones de contratos
Las propuestas del tipo FunctionCall pueden ejecutar métodos de contrato específicos. El proponente pasa las operaciones de función a ejecutar a través de ProposalInput al crear la propuesta )actions###.
Cada acción puede especificar el nombre del método del contrato y los parámetros. Sputnik-DAO utiliza la forma de Acciones por Lote de Promesas para completar la ejecución de funciones.
( 3.2 Propuesta de transferencia de fondos del contrato
Las propuestas de tipo Transfer pueden transferir los tokens acumulados en la cuenta del contrato )NEAR o tokens estándar NEP-141 ### a una cuenta designada.
internal_execute_proposal() llamará a la función internal_payout(), para realizar operaciones de transferencia de diferentes tipos de tokens y cuentas receptoras.
4. Resumen
Este artículo presenta los conceptos clave del contrato de Sputnik DAO, incluyendo la creación de propuestas, votación, cambios de estado y el proceso de ejecución de la propuesta (Proposal). Artículos posteriores describirán en detalle el modelo de gobernanza de Sputnik-DAO basado en la propuesta (Policy).
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.
9 me gusta
Recompensa
9
3
Republicar
Compartir
Comentar
0/400
airdrop_whisperer
· hace20h
la comunidad near se vuelve cada vez más atractiva
Análisis de contratos inteligentes de Sputnik DAO: diseño e implementación del mecanismo de propuestas
Diario de desarrollo de contratos inteligentes en Rust (11) - Explicación del mecanismo de propuestas del Sputnik DAO
Sputnik-DAO como una infraestructura clave del Protocolo NEAR, está impulsando el ecosistema NEAR hacia un desarrollo descentralizado. Actualmente, esta plataforma ha facilitado la creación de múltiples proyectos NEAR que establecen comunidades autónomas descentralizadas, proporcionando un esquema de gobernanza de decisiones comunitarias completo y flexible.
Sputnikdaov2 es un contrato inteligente utilizado para la votación de gobernanza de la comunidad Sputnik-DAO. Este artículo presentará los conceptos clave de dicho contrato: propuesta (Proposal), y artículos posteriores se centrarán en la introducción de los modelos de gobernanza comunitaria de DAO (Policy).
1. Inicio de propuesta
Los miembros de la comunidad Sputnik-DAO pueden expresar opiniones o presentar propuestas sobre la gobernanza o gestión del proyecto. Cada miembro accionista puede revisar y votar sobre las propuestas, influyendo así en la dirección futura del proyecto.
En el nivel del contrato, los miembros pueden llamar al método add_proposal() del contrato sputnikdaov2 para iniciar una nueva propuesta:
óxido u64
El proponente debe proporcionar la siguiente información detallada:
Esta información se pasará como parámetros al método add_proposal(), y después de ser procesada, generará una propuesta completa (Proposal), que se vinculará con un único proposal_id y se añadirá al pool de propuestas mantenido globalmente por el contrato.
Los atributos completos de la propuesta incluyen: proponente, estado, tiempo de inicio, estado de votación, etc.
Es importante tener en cuenta que el Sputnik-DAO requiere que los proponentes depositen una cierta cantidad de tokens NEAR como garantía. Este depósito se reembolsará al proponente al finalizar normalmente la propuesta.
2. Estado de la propuesta
Las propuestas en Sputnik-DAO pueden experimentar varios estados, siendo el estado inicial InProgress. Los cambios de estado son impulsados por el método act_proposal().
Los miembros pueden llamar a act_proposal() para realizar las siguientes acciones en la propuesta:
Después de la votación, el contrato llamará a policy.proposal_status() para contar los votos, y el estado de la propuesta que cumpla con las condiciones cambiará en consecuencia.
Las propuestas en estado Removed se eliminarán directamente del grupo de propuestas y no se reembolsará el depósito. Las propuestas en estado Rejected permanecerán en el grupo y se reembolsará el depósito.
3. Ejecución de la propuesta
Las propuestas en estado Aprobado llamarán a la función internal_execute_proposal() para ejecutar el contenido de la decisión.
Sputnik-DAO apoya varios tipos de propuestas, este artículo se centra en dos tipos típicos:
( 3.1 Propuesta de ejecución de funciones de contratos
Las propuestas del tipo FunctionCall pueden ejecutar métodos de contrato específicos. El proponente pasa las operaciones de función a ejecutar a través de ProposalInput al crear la propuesta )actions###.
Cada acción puede especificar el nombre del método del contrato y los parámetros. Sputnik-DAO utiliza la forma de Acciones por Lote de Promesas para completar la ejecución de funciones.
( 3.2 Propuesta de transferencia de fondos del contrato
Las propuestas de tipo Transfer pueden transferir los tokens acumulados en la cuenta del contrato )NEAR o tokens estándar NEP-141 ### a una cuenta designada.
internal_execute_proposal() llamará a la función internal_payout(), para realizar operaciones de transferencia de diferentes tipos de tokens y cuentas receptoras.
4. Resumen
Este artículo presenta los conceptos clave del contrato de Sputnik DAO, incluyendo la creación de propuestas, votación, cambios de estado y el proceso de ejecución de la propuesta (Proposal). Artículos posteriores describirán en detalle el modelo de gobernanza de Sputnik-DAO basado en la propuesta (Policy).