Buku Harian Pengembangan Kontrak Cerdas Rust (11): Analisis Mekanisme Proposal DAO Sputnik
Sputnik-DAO sebagai infrastruktur NEAR Protocol, sedang mendorong ekosistem NEAR menuju arah desentralisasi. Saat ini, platform ini telah memfasilitasi beberapa proyek NEAR untuk membangun komunitas otonomi terdesentralisasi, dan menyediakan solusi tata kelola keputusan komunitas yang fleksibel dan efisien.
Sputnikdaov2 adalah smart contract yang digunakan untuk pemungutan suara dalam pengelolaan komunitas Sputnik-DAO. Artikel ini akan memperkenalkan konsep inti dari kontrak tersebut: Proposal (, dan dalam artikel selanjutnya akan memperkenalkan mode pengelolaan komunitas DAO terkait dengan proposal )Policy (.
1. Pengajuan Proposal
Setiap anggota di Sputnik-DAO dapat memberikan pendapat atau mengajukan proposal mengenai pengelolaan proyek. Anggota yang memiliki saham dapat memberikan suara untuk meninjau proposal. Anggota dapat mempengaruhi arah proyek melalui pemungutan suara atau mengajukan proposal.
Di tingkat kontrak, anggota DAO dapat memanggil metode add_proposal)( dari kontrak sputnikdaov2 untuk mengajukan proposal baru. Pengusul harus memberikan rincian proposal )ProposalInput(:
Deskripsi teks proposal )Description(
Jenis proposal ) kind (
Informasi proposal akan diteruskan sebagai parameter ke metode add_proposal)(, setelah diverifikasi dan diproses, akan menghasilkan sebuah proposal lengkap )Proposal(, dan terikat dengan proposal_id yang unik, ditambahkan ke dalam peta Contract.proposals yang dikelola secara global oleh kontrak.
Informasi lengkap atribut proposal meliputi:
description: Deskripsi Proposal
jenis:Jenis proposal
proposer: pengusul
status: Status proposal, awalnya InProgress
submission_time: Waktu pengajuan
vote_counts:jumlah suara
votes: rincian pemungutan suara
Perlu dicatat bahwa Sputnik-DAO memiliki konsep deposit proposal )proposal_bond(. Kontrak mengharuskan pengusul untuk mempertaruhkan sejumlah token NEAR sebagai jaminan saat memanggil add_proposal)(. Deposit tersebut akan dikembalikan kepada pengusul saat proposal berakhir dengan normal.
Proposal dalam Sputnik-DAO dapat mengalami berbagai status, dengan status awal adalah InProgress. Perubahan status proposal didorong oleh metode act_proposal)(.
Anggota DAO dapat memanggil act_proposal)( untuk melakukan operasi berikut pada proposal:
VoteApprove: menunjukkan persetujuan
VoteReject: menunjukkan penolakan
VoteRemove: menganggap proposal ini tidak berarti, perlu dihapus
Setelah pemungutan suara, program akan memanggil policy.proposal_status)( untuk menghitung suara. Untuk proposal yang memenuhi ambang suara, status akan berubah sesuai:
Disetujui: melalui internal_execute_proposal)( eksekusi
Ditolak/Dihapus: Lakukan tindakan selanjutnya setelah internal_reject_proposal)(
Perbedaan antara status Rejected dan Removed adalah, proposal dengan status Removed akan dihapus dari kolam proposal dan tidak akan mengembalikan deposit. Proposal dengan status Rejected akan tetap berada di kolam dan deposit akan dikembalikan.
Jika status proposal adalah Disetujui, act_proposal)( akan memanggil internal_execute_proposal)( untuk melaksanakan isi proposal.
Sputnik-DAO mendukung berbagai jenis proposal, bagian ini akan memperkenalkan dua jenis alur penanganan yang khas:
) 3.1 Proposal Eksekusi Fungsi Kontrak###FunctionCall(
Proposal tipe FunctionCall telah diberikan fungsi spesifik yang akan dilaksanakan )actions( saat ditambahkan. Setiap action dapat menentukan nama metode kontrak dan parameter. Sputnik-DAO menggunakan bentuk Promise Batch Actions untuk menyelesaikan pelaksanaan proposal semacam ini.
) 3.2 Proposal Transfer Dana Kontrak###Transfer(
Proposal jenis Transfer digunakan untuk memindahkan token yang terakumulasi di akun kontrak ke akun yang ditentukan. internal_execute_proposal)( akan memanggil fungsi internal_payout)(, untuk melakukan operasi transfer untuk berbagai jenis Token yang Dapat Diperdagangkan dan akun penerima.
Artikel ini memperkenalkan konsep inti dari kontrak Sputnik DAO—proposal )Proposal(, menjelaskan bagaimana cara membuat, memberikan suara, dan melaksanakan proposal, serta aturan perubahan status proposal. Selanjutnya, akan ada deskripsi yang lebih rinci berdasarkan proposal tentang model tata kelola Sputnik-DAO )Policy(.
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
13 Suka
Hadiah
13
5
Posting ulang
Bagikan
Komentar
0/400
DegenRecoveryGroup
· 6jam yang lalu
Melakukan voting harus menggunakan kontrak, benar-benar merepotkan.
Lihat AsliBalas0
quiet_lurker
· 16jam yang lalu
Saya agak tidak mengerti bagaimana benda ini beroperasi.
Lihat AsliBalas0
ForkItAllDay
· 16jam yang lalu
near bermain dengan baik menciptakan
Lihat AsliBalas0
ApeWithNoFear
· 16jam yang lalu
Bermain di ekosistem near ya, dukung satu tangan.
Lihat AsliBalas0
GasFeeCrybaby
· 16jam yang lalu
Voting on-chain sangat mahal, saya tidak bisa membeli makanan lagi.
Analisis Smart Contract Sputnik DAO: Penjelasan Mekanisme Proposal
Buku Harian Pengembangan Kontrak Cerdas Rust (11): Analisis Mekanisme Proposal DAO Sputnik
Sputnik-DAO sebagai infrastruktur NEAR Protocol, sedang mendorong ekosistem NEAR menuju arah desentralisasi. Saat ini, platform ini telah memfasilitasi beberapa proyek NEAR untuk membangun komunitas otonomi terdesentralisasi, dan menyediakan solusi tata kelola keputusan komunitas yang fleksibel dan efisien.
Sputnikdaov2 adalah smart contract yang digunakan untuk pemungutan suara dalam pengelolaan komunitas Sputnik-DAO. Artikel ini akan memperkenalkan konsep inti dari kontrak tersebut: Proposal (, dan dalam artikel selanjutnya akan memperkenalkan mode pengelolaan komunitas DAO terkait dengan proposal )Policy (.
1. Pengajuan Proposal
Setiap anggota di Sputnik-DAO dapat memberikan pendapat atau mengajukan proposal mengenai pengelolaan proyek. Anggota yang memiliki saham dapat memberikan suara untuk meninjau proposal. Anggota dapat mempengaruhi arah proyek melalui pemungutan suara atau mengajukan proposal.
Di tingkat kontrak, anggota DAO dapat memanggil metode add_proposal)( dari kontrak sputnikdaov2 untuk mengajukan proposal baru. Pengusul harus memberikan rincian proposal )ProposalInput(:
Informasi proposal akan diteruskan sebagai parameter ke metode add_proposal)(, setelah diverifikasi dan diproses, akan menghasilkan sebuah proposal lengkap )Proposal(, dan terikat dengan proposal_id yang unik, ditambahkan ke dalam peta Contract.proposals yang dikelola secara global oleh kontrak.
Informasi lengkap atribut proposal meliputi:
Perlu dicatat bahwa Sputnik-DAO memiliki konsep deposit proposal )proposal_bond(. Kontrak mengharuskan pengusul untuk mempertaruhkan sejumlah token NEAR sebagai jaminan saat memanggil add_proposal)(. Deposit tersebut akan dikembalikan kepada pengusul saat proposal berakhir dengan normal.
![])https://img-cdn.gateio.im/webp-social/moments-84ee9ca630a4cdcdb0d2eb63450a7cf4.webp(
2. Status Proposal
Proposal dalam Sputnik-DAO dapat mengalami berbagai status, dengan status awal adalah InProgress. Perubahan status proposal didorong oleh metode act_proposal)(.
Anggota DAO dapat memanggil act_proposal)( untuk melakukan operasi berikut pada proposal:
Setelah pemungutan suara, program akan memanggil policy.proposal_status)( untuk menghitung suara. Untuk proposal yang memenuhi ambang suara, status akan berubah sesuai:
Perbedaan antara status Rejected dan Removed adalah, proposal dengan status Removed akan dihapus dari kolam proposal dan tidak akan mengembalikan deposit. Proposal dengan status Rejected akan tetap berada di kolam dan deposit akan dikembalikan.
![])https://img-cdn.gateio.im/webp-social/moments-427716593b21fa32b47855ceb5e101fc.webp(
3. Pelaksanaan Proposal
Jika status proposal adalah Disetujui, act_proposal)( akan memanggil internal_execute_proposal)( untuk melaksanakan isi proposal.
Sputnik-DAO mendukung berbagai jenis proposal, bagian ini akan memperkenalkan dua jenis alur penanganan yang khas:
) 3.1 Proposal Eksekusi Fungsi Kontrak###FunctionCall(
Proposal tipe FunctionCall telah diberikan fungsi spesifik yang akan dilaksanakan )actions( saat ditambahkan. Setiap action dapat menentukan nama metode kontrak dan parameter. Sputnik-DAO menggunakan bentuk Promise Batch Actions untuk menyelesaikan pelaksanaan proposal semacam ini.
) 3.2 Proposal Transfer Dana Kontrak###Transfer(
Proposal jenis Transfer digunakan untuk memindahkan token yang terakumulasi di akun kontrak ke akun yang ditentukan. internal_execute_proposal)( akan memanggil fungsi internal_payout)(, untuk melakukan operasi transfer untuk berbagai jenis Token yang Dapat Diperdagangkan dan akun penerima.
![])https://img-cdn.gateio.im/webp-social/moments-ef0b959c42e1f5fc6263cd4a86fd078e.webp(
4. Ringkasan
Artikel ini memperkenalkan konsep inti dari kontrak Sputnik DAO—proposal )Proposal(, menjelaskan bagaimana cara membuat, memberikan suara, dan melaksanakan proposal, serta aturan perubahan status proposal. Selanjutnya, akan ada deskripsi yang lebih rinci berdasarkan proposal tentang model tata kelola Sputnik-DAO )Policy(.
![])https://img-cdn.gateio.im/webp-social/moments-eb73d5e15f6161f0a4b442cd4b99a91e.webp(