Diario de desarrollo de contratos inteligentes en Rust (11) Análisis del mecanismo de propuestas de Sputnik DAO
Sputnik-DAO como infraestructura del NEAR Protocol está impulsando la evolución del ecosistema NEAR hacia una dirección descentralizada. 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, flexible y eficiente.
Sputnikdaov2 es un contrato inteligente utilizado para la votación de gobernanza de la comunidad Sputnik-DAO. Este artículo presentará los conceptos centrales de dicho contrato: propuesta (Proposal), y artículos posteriores se centrarán en la presentación de los modelos de gobernanza de la comunidad DAO (Policy).
1. Inicio de la propuesta
Los miembros de la comunidad Sputnik-DAO pueden expresar opiniones o presentar propuestas sobre la gobernanza o gestión del proyecto. Los miembros que poseen acciones pueden revisar y votar sobre las propuestas, lo que influye en la dirección futura del proyecto.
En el nivel del contrato, los miembros del DAO pueden llamar al método add_proposal() del contrato sputnikdaov2 para iniciar una nueva propuesta:
óxido
u64
El proponente debe proporcionar detalles de la propuesta (ProposalInput):
Descripción del texto de la propuesta (Description)
Tipo de propuesta ( kind )
add_proposal() método realizará un procesamiento de verificación, generando una propuesta completamente inicializada (Proposal), que estará vinculada al único proposal_id y se añadirá al mapeo Contract.proposals mantenido globalmente por el contrato.
La propuesta incluye la siguiente información completa de atributos:
descripción: Descripción de la propuesta
tipo: tipo de propuesta
proposer: proponente
estado: estado de la propuesta
submission_time: tiempo de envío
vote_counts: conteo de votos
votes: Detalles de la votación
Es importante tener en cuenta que existe el concepto de depósito de propuesta (proposal_bond) en Sputnik-DAO, gestionado por un modelo de gobernanza comunitaria específico (Policy). El proponente debe depositar una cierta cantidad de tokens NEAR como garantía al llamar a add_proposal(). Este depósito será devuelto al finalizar correctamente la propuesta.
2. Estado de la propuesta
Las propuestas en Sputnik-DAO pueden pasar por varios estados:
En Progreso: Estado inicial, votación en curso
Aprobado: Voto aprobado
Rechazado: la votación no pasó
Removed: Fue removido
Expired: Caducado
Moved: Ya ha sido migrado
Fallido: ejecución fallida
El cambio de estado de la propuesta es impulsado por el método act_proposal(). Los miembros del DAO pueden llamar a este método para realizar operaciones de votación sobre la propuesta.
VoteApprove: Aprobado
VoteReject: Oposición
VoteRemove: eliminar
Después de la votación, se llamará a policy.proposal_status() para contar los votos y actualizar el estado de la propuesta cuando se cumplan las condiciones.
3. Ejecución de propuestas
La propuesta aprobada ( en estado Approved ) llamará a la función internal_execute_proposal() para ejecutar el contenido de la decisión.
Sputnik-DAO apoya varios tipos de propuestas, principalmente relacionadas con la actualización de la configuración del modelo de gobernanza de la DAO. Aquí se presentan dos tipos típicos de manejo de propuestas:
( 3.1 propuesta de ejecución de funciones de contrato
Las propuestas de tipo FunctionCall permiten ejecutar funciones de contrato específicas. La propuesta incluye las operaciones de función a ejecutar )actions###, y se pueden especificar múltiples llamadas a funciones consecutivas.
Sputnik-DAO utiliza la forma de Acciones por Lotes de Promesas para realizar la ejecución de funciones de contratos.
( 3.2 propuesta de transferencia de fondos del contrato
La propuesta de tipo Transfer se utiliza para transferir los tokens acumulados en la cuenta del contrato a la cuenta designada.
internal_execute_proposal)### llamará a la función internal_payout(), para realizar operaciones de transferencia de diferentes tipos de Fungible Token y cuentas receptoras.
4. Resumen
Este artículo presenta los conceptos clave del contrato de Sputnik DAO - Propuesta (Proposal), que incluye la creación de propuestas, votaciones, cambios de estado y el proceso de ejecución. Posteriormente, se realizará una descripción más detallada del modelo de gobernanza de Sputnik-DAO basado en el mecanismo de propuestas (Policy).
Ver originales
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 del contrato inteligente Sputnik DAO: diseño e implementación del mecanismo de propuestas
Diario de desarrollo de contratos inteligentes en Rust (11) Análisis del mecanismo de propuestas de Sputnik DAO
Sputnik-DAO como infraestructura del NEAR Protocol está impulsando la evolución del ecosistema NEAR hacia una dirección descentralizada. 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, flexible y eficiente.
Sputnikdaov2 es un contrato inteligente utilizado para la votación de gobernanza de la comunidad Sputnik-DAO. Este artículo presentará los conceptos centrales de dicho contrato: propuesta (Proposal), y artículos posteriores se centrarán en la presentación de los modelos de gobernanza de la comunidad DAO (Policy).
1. Inicio de la propuesta
Los miembros de la comunidad Sputnik-DAO pueden expresar opiniones o presentar propuestas sobre la gobernanza o gestión del proyecto. Los miembros que poseen acciones pueden revisar y votar sobre las propuestas, lo que influye en la dirección futura del proyecto.
En el nivel del contrato, los miembros del DAO pueden llamar al método add_proposal() del contrato sputnikdaov2 para iniciar una nueva propuesta:
óxido u64
El proponente debe proporcionar detalles de la propuesta (ProposalInput):
add_proposal() método realizará un procesamiento de verificación, generando una propuesta completamente inicializada (Proposal), que estará vinculada al único proposal_id y se añadirá al mapeo Contract.proposals mantenido globalmente por el contrato.
La propuesta incluye la siguiente información completa de atributos:
Es importante tener en cuenta que existe el concepto de depósito de propuesta (proposal_bond) en Sputnik-DAO, gestionado por un modelo de gobernanza comunitaria específico (Policy). El proponente debe depositar una cierta cantidad de tokens NEAR como garantía al llamar a add_proposal(). Este depósito será devuelto al finalizar correctamente la propuesta.
2. Estado de la propuesta
Las propuestas en Sputnik-DAO pueden pasar por varios estados:
El cambio de estado de la propuesta es impulsado por el método act_proposal(). Los miembros del DAO pueden llamar a este método para realizar operaciones de votación sobre la propuesta.
Después de la votación, se llamará a policy.proposal_status() para contar los votos y actualizar el estado de la propuesta cuando se cumplan las condiciones.
3. Ejecución de propuestas
La propuesta aprobada ( en estado Approved ) llamará a la función internal_execute_proposal() para ejecutar el contenido de la decisión.
Sputnik-DAO apoya varios tipos de propuestas, principalmente relacionadas con la actualización de la configuración del modelo de gobernanza de la DAO. Aquí se presentan dos tipos típicos de manejo de propuestas:
( 3.1 propuesta de ejecución de funciones de contrato
Las propuestas de tipo FunctionCall permiten ejecutar funciones de contrato específicas. La propuesta incluye las operaciones de función a ejecutar )actions###, y se pueden especificar múltiples llamadas a funciones consecutivas.
Sputnik-DAO utiliza la forma de Acciones por Lotes de Promesas para realizar la ejecución de funciones de contratos.
( 3.2 propuesta de transferencia de fondos del contrato
La propuesta de tipo Transfer se utiliza para transferir los tokens acumulados en la cuenta del contrato a la cuenta designada.
internal_execute_proposal)### llamará a la función internal_payout(), para realizar operaciones de transferencia de diferentes tipos de Fungible Token y cuentas receptoras.
4. Resumen
Este artículo presenta los conceptos clave del contrato de Sputnik DAO - Propuesta (Proposal), que incluye la creación de propuestas, votaciones, cambios de estado y el proceso de ejecución. Posteriormente, se realizará una descripción más detallada del modelo de gobernanza de Sputnik-DAO basado en el mecanismo de propuestas (Policy).