Analisis Mekanisme Proposal Kontrak Pintar Sputnik DAO: Dari Pengajuan hingga Eksekusi Seluruh Proses

robot
Pembuatan abstrak sedang berlangsung

Rust smart contract pengembangan jurnal (11): Analisis mekanisme proposal Sputnik DAO

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 otonom dan menyediakan solusi tata kelola keputusan komunitas yang lengkap dan fleksibel.

Sputnikdaov2 adalah smart contract yang digunakan untuk pemungutan suara dalam tata kelola komunitas Sputnik-DAO. Artikel ini akan memperkenalkan konsep inti dari kontrak tersebut: Proposal(, dan dalam artikel selanjutnya akan menjelaskan tentang model tata kelola 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 meninjau dan memberikan suara pada proposal. Anggota dapat mempengaruhi arah masa depan proyek melalui voting atau mengajukan proposal.

Pada tingkat kontrak, anggota dapat memanggil metode add_proposal)( dari kontrak sputnikdaov2 untuk mengajukan proposal baru:

karat u64

Pengusul harus memberikan rincian proposal )ProposalInput(:

  • Deskripsi teks proposal )Description(
  • Jenis proposal)kind(

metode add_proposal)( akan melakukan pemeriksaan, menghasilkan proposal)Proposal( dengan informasi awal yang lengkap, dan mengikatnya dengan proposal_id yang unik, menambahkannya ke dalam pemetaan Contract.proposals yang dikelola secara global oleh kontrak.

Informasi atribut lengkap proposal mencakup:

  • deskripsi )description(
  • tipe )kind (
  • pengusul)proposer(
  • 状态)status(
  • Waktu dimulainya ) waktu_pengajuan (
  • Status pemungutan suara ) vote_counts, votes (

Kontrak mengharuskan pengusul untuk mempertaruhkan sejumlah token NEAR sebagai jaminan saat memanggil add_proposal)(. Deposit tersebut akan dikembalikan saat proposal berakhir dengan normal melalui internal_return_bonds)(.

![])https://img-cdn.gateio.im/webp-social/moments-84ee9ca630a4cdcdb0d2eb63450a7cf4.webp(

2. Status Proposal

Proposal di Sputnik-DAO mungkin mengalami status berikut:

  • Dalam Proses) Status Awal(
  • Disetujui
  • Ditolak
  • Dihapus
  • Kadaluarsa
  • Dipindahkan
  • Gagal

Perubahan status proposal didorong oleh metode act_proposal)(. Anggota dapat melakukan tindakan berikut pada proposal:

  • VoteApprove: suara setuju
  • VoteReject: suara menolak
  • VoteRemove: dianggap tidak berarti, perlu dihapus

Internal akan memanggil policy.proposal_status)( untuk menghitung suara, mengubah status proposal yang memenuhi ambang.

  • Proposal status yang disetujui akan dilaksanakan
  • Menjalankan operasi akhir untuk status Ditolak atau Dihapus
  • Dihapus status proposal akan dihapus dari kolam proposal, tidak mengembalikan deposit
  • Proposal dengan status Rejected disimpan dalam pool proposal, deposit akan dikembalikan.

![])https://img-cdn.gateio.im/webp-social/moments-427716593b21fa32b47855ceb5e101fc.webp(

3. Eksekusi Proposal

Proposal dengan status Approved akan dieksekusi melalui internal_execute_proposal)( untuk keputusan konten. Jenis proposal yang didukung termasuk:

  • ChangeConfig
  • ChangePolicy
  • TambahAnggotaKePeran
  • HapusAnggotaDariPeran
  • FunctionCall
  • UpgradeSelf
  • UpgradeRemote
  • Transfer
  • SetStakingContract
  • AddBounty
  • BountyDone
  • Suara
  • FactoryInfoUpdate
  • ChangePolicyAddOrUpdateRole
  • ChangePolicyRemoveRole
  • ChangePolicyUpdateDefaultVotePolicy
  • ChangePolicyUpdateParameters

Berikut adalah dua jenis proses penanganan proposal yang khas:

) 3.1 Proposal Eksekusi Fungsi Kontrak

Proposal tipe FunctionCall menerima operasi fungsi yang akan dieksekusi (actions) saat dibuat. Dapat berisi beberapa objek ActionCall di dalamnya, yang menentukan nama metode kontrak dan parameter.

Sputnik-DAO menggunakan bentuk Promise Batch Actions untuk menyelesaikan pelaksanaan proposal jenis fungsi kontrak.

3.2 Proposal Pemindahan Dana Kontrak

Proposal tipe Transfer digunakan untuk memindahkan token yang terakumulasi di akun kontrak ke receiver_id yang ditentukan.

internal_execute_proposal() Penanganan proposal tipe Transfer akan memanggil fungsi internal_payout###(, yang mengimplementasikan operasi transfer untuk berbagai jenis Fungible Token dan receiver_id.

![])https://img-cdn.gateio.im/webp-social/moments-ef0b959c42e1f5fc6263cd4a86fd078e.webp(

4. Ringkasan

Artikel ini memperkenalkan konsep inti dari kontrak Sputnik DAO proposal )Proposal(, termasuk pembuatan proposal, eksekusi pemungutan suara, dan aturan perubahan status. Selanjutnya, akan dijelaskan secara rinci tentang implementasi dan konfigurasi mode tata kelola Sputnik-DAO )Policy(.

![])https://img-cdn.gateio.im/webp-social/moments-eb73d5e15f6161f0a4b442cd4b99a91e.webp(

ACT-5.27%
BATCH-1.83%
TOKEN-10.53%
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
  • Bagikan
Komentar
0/400
SleepyValidatorvip
· 08-04 05:57
近几天rust学dapatkan likuidasi 好起来了
Lihat AsliBalas0
TestnetScholarvip
· 08-04 04:35
Sudah melakukan proses standarisasi DAO lagi
Lihat AsliBalas0
AirdropHunter007vip
· 08-04 04:34
dao near ini tidak menarik, langsung dijual.
Lihat AsliBalas0
rekt_but_vibingvip
· 08-04 04:34
Terlalu banyak proposal, jadi tidak bisa memilih, ngapain sih?
Lihat AsliBalas0
StableGeniusDegenvip
· 08-04 04:12
rust kembali menggebrak, agak keras ya
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)