Diario de desarrollo de contratos inteligentes Rust (11): Análisis del mecanismo de propuestas de Sputnik DAO
Sputnik-DAO, como infraestructura del Protocolo NEAR, está impulsando el desarrollo del ecosistema NEAR hacia la descentralización. Actualmente, esta plataforma ha facilitado la creación de múltiples proyectos NEAR que establecen comunidades autónomas descentralizadas y ofrece un completo y flexible plan de gobernanza para la toma de decisiones comunitarias.
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: la propuesta (Proposal), y en artículos posteriores se presentarán los modelos de gobernanza de la comunidad DAO relacionados con la propuesta (Policy).
1. Iniciación de la propuesta
Cada miembro de Sputnik-DAO puede expresar opiniones o presentar propuestas sobre la gobernanza o gestión del proyecto. Luego, cada miembro de la comunidad que posea acciones puede revisar y votar sobre la propuesta. Los miembros pueden influir en el desarrollo futuro del proyecto votando sobre propuestas o iniciando nuevas propuestas.
Desde el nivel del contrato, los miembros del DAO pueden llamar al método add_proposal() del contrato sputnikdaov2 para iniciar una nueva propuesta. El proponente debe proporcionar los detalles de la propuesta(ProposalInput):
Descripción del texto de la propuesta (Description)
Tipo de propuesta ( kind )
add_proposal() método verificará y procesará la información de la propuesta, generando una propuesta completa (Proposal), y la vinculará con un único proposal_id, añadiéndola al pool de propuestas mantenido globalmente por el contrato.
La información completa de las propiedades contenidas en la propuesta es:
description: descripción
kind: tipo
proposer: proponente
status: estado
submission_time: tiempo de envío
vote_counts: estadísticas de votación
votes: detalles de la votación
Sputnik-DAO exige a los proponentes que bloqueen una cierta cantidad de tokens NEAR como garantía al presentar una propuesta. Este depósito se devolverá al proponente al finalizar normalmente la propuesta.
2. Estado de la propuesta
Las propuestas estándar en Sputnik-DAO pueden pasar por los siguientes estados:
En progreso: 进行中
Approved: Aprobado
Rechazado: 已拒绝
Eliminado: 已移除
Expired: Caducado
Moved: Ya transferido
El cambio de estado de la propuesta es impulsado por el método act_proposal(). Los miembros del DAO pueden realizar las siguientes acciones sobre la propuesta:
VoteApprove: Aprobación
VoteReject: en contra
VoteRemove: eliminar
Después de la votación, el contrato llamará a policy.proposal_status() para contar los votos. El estado de la propuesta que cumpla con el umbral de votación cambiará en consecuencia:
Aprobado: a través de internal_execute_proposal() ejecución
Rechazado/Eliminado: ejecutar acciones posteriores a través de internal_reject_proposal()
Las propuestas en estado de Removed serán eliminadas del grupo de propuestas y no se reembolsará el depósito. Las propuestas en estado de Rejected se mantendrán en el grupo y se reembolsará el depósito.
3. Ejecución de propuestas
Para las propuestas en estado Approved, act_proposal() llamará a internal_execute_proposal() para ejecutar el contenido de la propuesta.
Sputnik-DAO apoya varios tipos de propuestas, como ChangeConfig, ChangePolicy, FunctionCall, Transfer, etc.
A continuación se presentan los procesos de ejecución de dos tipos típicos de propuestas:
3.1 propuesta de ejecución de funciones de contrato(FunctionCall)
Las propuestas del tipo FunctionCall recibirán las operaciones de función específicas a ejecutar (actions) al ser creadas. 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 Promesa para llevar a cabo la ejecución de propuestas de tipo función de contrato.
3.2 Propuesta de transferencia de fondos del contrato ( Transferir )
Las propuestas de tipo Transfer pueden transferir los tokens acumulados en la cuenta del contrato (NEAR o los tokens estándar NEP-141 ) a la cuenta designada.
internal_execute_proposal() llamará a la función internal_payout(), implementando transferencias de diferentes tipos de tokens y cuentas receptoras.
4. Resumen
Este artículo presenta los conceptos centrales del contrato de Sputnik DAO - Propuesta (Proposal), explica cómo crear nuevas propuestas y votar para ejecutarlas, así como las reglas de cambio de estado de las propuestas. Posteriormente, se presentará una introducción más detallada sobre el modo 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.
8 me gusta
Recompensa
8
6
Republicar
Compartir
Comentar
0/400
quietly_staking
· 08-08 17:11
Solo una votación del alma
Ver originalesResponder0
ProposalDetective
· 08-06 17:22
Claramente, elegí a la persona equivocada.
Ver originalesResponder0
GasGasGasBro
· 08-06 06:18
Los contratos no me importan, solo me importa el dinero.
Ver originalesResponder0
FarmHopper
· 08-06 06:15
¿Todavía se utiliza el voto en dao?
Ver originalesResponder0
PriceOracleFairy
· 08-06 06:12
el juego dao de bruh near se está volviendo bastante emocionante, no voy a mentir
Análisis completo del mecanismo de propuestas de Sputnik DAO: desde la creación hasta el ciclo de vida de la ejecución
Diario de desarrollo de contratos inteligentes Rust (11): Análisis del mecanismo de propuestas de Sputnik DAO
Sputnik-DAO, como infraestructura del Protocolo NEAR, está impulsando el desarrollo del ecosistema NEAR hacia la descentralización. Actualmente, esta plataforma ha facilitado la creación de múltiples proyectos NEAR que establecen comunidades autónomas descentralizadas y ofrece un completo y flexible plan de gobernanza para la toma de decisiones comunitarias.
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: la propuesta (Proposal), y en artículos posteriores se presentarán los modelos de gobernanza de la comunidad DAO relacionados con la propuesta (Policy).
1. Iniciación de la propuesta
Cada miembro de Sputnik-DAO puede expresar opiniones o presentar propuestas sobre la gobernanza o gestión del proyecto. Luego, cada miembro de la comunidad que posea acciones puede revisar y votar sobre la propuesta. Los miembros pueden influir en el desarrollo futuro del proyecto votando sobre propuestas o iniciando nuevas propuestas.
Desde el nivel del contrato, los miembros del DAO pueden llamar al método add_proposal() del contrato sputnikdaov2 para iniciar una nueva propuesta. El proponente debe proporcionar los detalles de la propuesta(ProposalInput):
add_proposal() método verificará y procesará la información de la propuesta, generando una propuesta completa (Proposal), y la vinculará con un único proposal_id, añadiéndola al pool de propuestas mantenido globalmente por el contrato.
La información completa de las propiedades contenidas en la propuesta es:
Sputnik-DAO exige a los proponentes que bloqueen una cierta cantidad de tokens NEAR como garantía al presentar una propuesta. Este depósito se devolverá al proponente al finalizar normalmente la propuesta.
2. Estado de la propuesta
Las propuestas estándar en Sputnik-DAO pueden pasar por los siguientes estados:
El cambio de estado de la propuesta es impulsado por el método act_proposal(). Los miembros del DAO pueden realizar las siguientes acciones sobre la propuesta:
Después de la votación, el contrato llamará a policy.proposal_status() para contar los votos. El estado de la propuesta que cumpla con el umbral de votación cambiará en consecuencia:
Las propuestas en estado de Removed serán eliminadas del grupo de propuestas y no se reembolsará el depósito. Las propuestas en estado de Rejected se mantendrán en el grupo y se reembolsará el depósito.
3. Ejecución de propuestas
Para las propuestas en estado Approved, act_proposal() llamará a internal_execute_proposal() para ejecutar el contenido de la propuesta.
Sputnik-DAO apoya varios tipos de propuestas, como ChangeConfig, ChangePolicy, FunctionCall, Transfer, etc.
A continuación se presentan los procesos de ejecución de dos tipos típicos de propuestas:
3.1 propuesta de ejecución de funciones de contrato(FunctionCall)
Las propuestas del tipo FunctionCall recibirán las operaciones de función específicas a ejecutar (actions) al ser creadas. 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 Promesa para llevar a cabo la ejecución de propuestas de tipo función de contrato.
3.2 Propuesta de transferencia de fondos del contrato ( Transferir )
Las propuestas de tipo Transfer pueden transferir los tokens acumulados en la cuenta del contrato (NEAR o los tokens estándar NEP-141 ) a la cuenta designada.
internal_execute_proposal() llamará a la función internal_payout(), implementando transferencias de diferentes tipos de tokens y cuentas receptoras.
4. Resumen
Este artículo presenta los conceptos centrales del contrato de Sputnik DAO - Propuesta (Proposal), explica cómo crear nuevas propuestas y votar para ejecutarlas, así como las reglas de cambio de estado de las propuestas. Posteriormente, se presentará una introducción más detallada sobre el modo de gobernanza de Sputnik-DAO basado en la propuesta (Policy).