Analisis Smart Contract Sputnik DAO: Penjelasan Mekanisme Proposal

robot
Pembuatan abstrak sedang berlangsung

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.

![])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:

  • 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.

![])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(

ACT1.72%
Lihat Asli
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.
  • Hadiah
  • 5
  • Posting ulang
  • Bagikan
Komentar
0/400
DegenRecoveryGroupvip
· 6jam yang lalu
Melakukan voting harus menggunakan kontrak, benar-benar merepotkan.
Lihat AsliBalas0
quiet_lurkervip
· 16jam yang lalu
Saya agak tidak mengerti bagaimana benda ini beroperasi.
Lihat AsliBalas0
ForkItAllDayvip
· 16jam yang lalu
near bermain dengan baik menciptakan
Lihat AsliBalas0
ApeWithNoFearvip
· 16jam yang lalu
Bermain di ekosistem near ya, dukung satu tangan.
Lihat AsliBalas0
GasFeeCrybabyvip
· 16jam yang lalu
Voting on-chain sangat mahal, saya tidak bisa membeli makanan lagi.
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)