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 la evolución del ecosistema NEAR hacia una dirección descentralizada. Actualmente, esta plataforma ha facilitado que numerosos proyectos de NEAR logren la autonomía descentralizada, al mismo tiempo que ofrece un completo, flexible y eficiente esquema 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á el concepto central 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. Inicio de la propuesta
Cada miembro de la comunidad Sputnik-DAO puede expresar su opinión o presentar propuestas sobre la gobernanza o gestión del proyecto. Luego, cada miembro de la comunidad que posea acciones en el DAO puede revisar y votar sobre la propuesta. En otras palabras, cada miembro de Sputnik-DAO puede influir en el futuro del proyecto votando sobre las propuestas de otros miembros o iniciando nuevas propuestas de gestión.
En el nivel del contrato, los miembros de la comunidad DAO pueden llamar al método add_proposal() proporcionado por el contrato sputnikdaov2 para iniciar una nueva propuesta. El proponente debe proporcionar los detalles de la propuesta (ProposalInput), que incluye:
Descripción del texto de la propuesta (Description )
Tipo de propuesta (kind )
Esta información se pasará como parámetro al método add_proposal(), que realizará las verificaciones y el procesamiento correspondientes, y generará una propuesta completa (Proposal). Finalmente, esta propuesta se vinculará con un único proposal_id y se añadirá al grupo de propuestas mantenido globalmente por el contrato.
La información completa de las propiedades de la propuesta incluye:
descripción(description)
tipo (kind )
proponente (proposer )
estado(status)
tiempo de envío ( submission_time )
Estado de votación ( conteos de votos, votos )
Es importante tener en cuenta que en Sputnik-DAO existe el concepto de depósito de propuesta (proposal_bond), el cual será gestionado de acuerdo con el modelo específico de gobernanza comunitaria. El contrato requiere que el proponente de la propuesta deposite una cierta cantidad de tokens NEAR como garantía para la nueva propuesta al invocar el método add_proposal(). Este depósito será devuelto al proponente al finalizar correctamente la propuesta.
2. Estado de la propuesta
Las propuestas en Sputnik-DAO pueden pasar por varios estados, siendo el estado inicial InProgress. Los cambios de estado específicos son impulsados por el método act_proposal() del contrato.
Los miembros del DAO pueden llamar al método act_proposal() para realizar las siguientes operaciones en la propuesta:
VoteApprove: indica aprobación
VoteReject: indica oposición
VoteRemove: considera que esta propuesta no tiene un significado práctico y debe ser eliminada
Estado de la propuesta cambiado a:
Si está aprobado, se ejecutará a través de internal_execute_proposal()
Si es Rechazado o Eliminado, se realizarán las operaciones posteriores a través de internal_reject_proposal()
La diferencia entre el estado Rejected y Removed es que las propuestas en estado Removed se eliminarán directamente del fondo de propuestas y no se devolverá el depósito. En cambio, las propuestas en estado Rejected se mantendrán en el fondo de propuestas y se devolverá el depósito.
3. Ejecución de la propuesta
Si el estado de la propuesta es Aprobado, el método act_proposal() llamará internamente a la función internal_execute_proposal() para ejecutar el contenido de la propuesta.
Sputnik-DAO apoya varios tipos de propuestas, este artículo se centra en el proceso de manejo de dos tipos típicos de propuestas:
3.1 Propuesta de ejecución de funciones de contratos
Para las propuestas del tipo FunctionCall, el proponente ya ha pasado las acciones específicas a ejecutar en add_proposal(), que son (actions). internal_execute_proposal() completará la ejecución de la función del contrato en forma de Promesas de Acciones por Lotes.
3.2 propuesta de transferencia de fondos del contrato
Para las propuestas de tipo Transfer, internal_execute_proposal() llamará a la función internal_payout() para realizar operaciones de transferencia de diferentes tipos de Token Fungible y diferentes tipos de receiver_id.
4. Resumen
Este artículo presenta el concepto central del contrato Sputnik DAO: la propuesta (Proposal), que incluye la creación de propuestas, las reglas de votación y ejecución, y los cambios de estado. Artículos posteriores ofrecerán una descripción más detallada de la implementación y configuración del 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.
18 me gusta
Recompensa
18
8
Republicar
Compartir
Comentar
0/400
TokenDustCollector
· 07-24 18:30
una que no hace trampa
Ver originalesResponder0
SelfSovereignSteve
· 07-23 07:13
Es bastante dinero, me da mareos solo de verlo.
Ver originalesResponder0
GateUser-1a2ed0b9
· 07-21 22:53
La propuesta también requiere un depósito alcista.
Ver originalesResponder0
GasFeeCry
· 07-21 20:05
No puedo pagar la tarifa de gas del trabajo.
Ver originalesResponder0
CantAffordPancake
· 07-21 20:03
El mecanismo de propuestas es bastante riguroso.
Ver originalesResponder0
ImaginaryWhale
· 07-21 19:59
¿Cuánto tiempo ha pasado desde que no se ha especulado sobre near?
Ver originalesResponder0
ChainSherlockGirl
· 07-21 19:59
¡Ha llegado de nuevo el momento de comer pipas en la gobernanza de la comunidad! Hablando de depósitos, esto es demasiado real... no voy a actuar como los expertos.
Ver originalesResponder0
TestnetFreeloader
· 07-21 19:38
¿Gobernanza? ¿Propuestas? ¿Contratos inteligentes? ¿Entiendes algo de esto?
Análisis del mecanismo de propuestas de Sputnik DAO: el núcleo de la gobernanza descentralizada del ecosistema NEAR
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 la evolución del ecosistema NEAR hacia una dirección descentralizada. Actualmente, esta plataforma ha facilitado que numerosos proyectos de NEAR logren la autonomía descentralizada, al mismo tiempo que ofrece un completo, flexible y eficiente esquema 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á el concepto central 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. Inicio de la propuesta
Cada miembro de la comunidad Sputnik-DAO puede expresar su opinión o presentar propuestas sobre la gobernanza o gestión del proyecto. Luego, cada miembro de la comunidad que posea acciones en el DAO puede revisar y votar sobre la propuesta. En otras palabras, cada miembro de Sputnik-DAO puede influir en el futuro del proyecto votando sobre las propuestas de otros miembros o iniciando nuevas propuestas de gestión.
En el nivel del contrato, los miembros de la comunidad DAO pueden llamar al método add_proposal() proporcionado por el contrato sputnikdaov2 para iniciar una nueva propuesta. El proponente debe proporcionar los detalles de la propuesta (ProposalInput), que incluye:
Esta información se pasará como parámetro al método add_proposal(), que realizará las verificaciones y el procesamiento correspondientes, y generará una propuesta completa (Proposal). Finalmente, esta propuesta se vinculará con un único proposal_id y se añadirá al grupo de propuestas mantenido globalmente por el contrato.
La información completa de las propiedades de la propuesta incluye:
Es importante tener en cuenta que en Sputnik-DAO existe el concepto de depósito de propuesta (proposal_bond), el cual será gestionado de acuerdo con el modelo específico de gobernanza comunitaria. El contrato requiere que el proponente de la propuesta deposite una cierta cantidad de tokens NEAR como garantía para la nueva propuesta al invocar el método add_proposal(). Este depósito será devuelto al proponente al finalizar correctamente la propuesta.
2. Estado de la propuesta
Las propuestas en Sputnik-DAO pueden pasar por varios estados, siendo el estado inicial InProgress. Los cambios de estado específicos son impulsados por el método act_proposal() del contrato.
Los miembros del DAO pueden llamar al método act_proposal() para realizar las siguientes operaciones en la propuesta:
Estado de la propuesta cambiado a:
La diferencia entre el estado Rejected y Removed es que las propuestas en estado Removed se eliminarán directamente del fondo de propuestas y no se devolverá el depósito. En cambio, las propuestas en estado Rejected se mantendrán en el fondo de propuestas y se devolverá el depósito.
3. Ejecución de la propuesta
Si el estado de la propuesta es Aprobado, el método act_proposal() llamará internamente a la función internal_execute_proposal() para ejecutar el contenido de la propuesta.
Sputnik-DAO apoya varios tipos de propuestas, este artículo se centra en el proceso de manejo de dos tipos típicos de propuestas:
3.1 Propuesta de ejecución de funciones de contratos
Para las propuestas del tipo FunctionCall, el proponente ya ha pasado las acciones específicas a ejecutar en add_proposal(), que son (actions). internal_execute_proposal() completará la ejecución de la función del contrato en forma de Promesas de Acciones por Lotes.
3.2 propuesta de transferencia de fondos del contrato
Para las propuestas de tipo Transfer, internal_execute_proposal() llamará a la función internal_payout() para realizar operaciones de transferencia de diferentes tipos de Token Fungible y diferentes tipos de receiver_id.
4. Resumen
Este artículo presenta el concepto central del contrato Sputnik DAO: la propuesta (Proposal), que incluye la creación de propuestas, las reglas de votación y ejecución, y los cambios de estado. Artículos posteriores ofrecerán una descripción más detallada de la implementación y configuración del modelo de gobernanza de Sputnik-DAO basado en la propuesta (Policy).