Analisis Inti Kontrak Pintar Sputnik DAO: Penjelasan Mekanisme Proposal

robot
Pembuatan abstrak sedang berlangsung

Rust smart contract pengembangan jurnal (10-3) Analisis mekanisme proposal Sputnik DAO

Sputnik-DAO sebagai infrastruktur NEAR Protocol, sedang mendorong ekosistem NEAR menuju arah "desentralisasi". Saat ini, platform ini telah memfasilitasi banyak proyek NEAR untuk membentuk komunitas otonom "desentralisasi", sekaligus menyediakan solusi tata kelola keputusan komunitas yang lengkap, fleksibel, dan efisien.

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 berikutnya akan membahas tentang "proposal" serta mode tata kelola komunitas DAO yang relevan )Policy(.

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

1. Pengajuan Proposal )Add Proposal (

Anggota komunitas Sputnik-DAO dapat memberikan pendapat atau mengajukan proposal mengenai tata kelola atau pengelolaan proyek. Setiap anggota komunitas yang memiliki saham dapat meninjau dan memberikan suara pada proposal. Anggota komunitas dapat mempengaruhi arah masa depan proyek melalui pemungutan suara atau dengan mengajukan proposal manajemen baru.

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

karat u64

Pengusul harus memberikan rincian lengkap tentang proposal )ProposalInput(:

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

metode add_proposal)( akan melakukan proses verifikasi, menghasilkan sebuah proposal lengkap )Proposal(, dan mengikatnya dengan proposal_id yang unik, menambahkannya ke dalam kolam proposal yang dikelola secara global oleh kontrak.

Informasi lengkap atribut proposal mencakup:

  • Deskripsi )description(
  • jenis )kind (
  • pengusul)proposer(
  • 状态)status(
  • Waktu pengajuan ) waktu_pengajuan (
  • Status suara )jumlah_suara, suara (

Perlu dicatat bahwa Sputnik-DAO mengharuskan pengusul untuk mempertaruhkan sejumlah token NEAR sebagai jaminan saat mengajukan proposal. Deposit tersebut akan dikembalikan kepada pengusul setelah proposal selesai dengan baik.

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

2. Status Proposal)Proposal Status(

Proposal dalam Sputnik-DAO dapat mengalami berbagai status, dengan status awal adalah InProgress. Perubahan status proposal didorong oleh metode act_proposal)(.

Anggota komunitas dapat melakukan tindakan berikut terhadap proposal:

  • VoteApprove: Menunjukkan setuju
  • VoteReject: Menunjukkan penolakan
  • VoteRemove: menganggap proposal ini tidak berarti, perlu dihapus

Setelah pemungutan suara, akan dilakukan penghitungan suara, status proposal yang memenuhi ambang batas pemungutan suara akan berubah sesuai.

  • Disetujui: Melalui pemanggilan internal_execute_proposal)( untuk mengeksekusi proposal
  • Ditolak/Dihapus: Melalui pemanggilan internal_reject_proposal)( untuk mengeksekusi operasi akhir.

Perbedaan antara status Rejected dan Removed adalah bahwa proposal dengan status Removed akan langsung dihapus dari kolam proposal dan tidak akan mengembalikan deposit.

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

3. Eksekusi Proposal)Execute Proposal(

Untuk proposal yang berstatus Disetujui, akan memanggil fungsi internal_execute_proposal)( untuk mengeksekusi isi proposal.

Sputnik-DAO mendukung berbagai jenis proposal, artikel ini berfokus pada dua jenis tipikal:

) 3.1 Proposal Eksekusi Fungsi Kontrak(ProposalKind::FunctionCall)

Proposal tipe FunctionCall dapat mengeksekusi fungsi kontrak yang ditentukan. Proposal ini mencakup operasi fungsi yang akan dieksekusi ###actions(, dapat menentukan beberapa objek ActionCall, masing-masing menentukan nama metode kontrak yang sesuai dan parameter.

Akhirnya menyelesaikan eksekusi fungsi kontrak dalam bentuk Tindakan Batch Promise.

) 3.2 Proposal Pemindahan Dana Kontrak(ProposalKind::Transfer)

Proposal tipe Transfer dapat memindahkan token yang terakumulasi di akun kontrak ###NEAR atau token standar NEP-141 ( ke akun yang ditentukan.

internal_execute_proposal)( akan memanggil fungsi internal_payout)(, untuk melaksanakan operasi transfer untuk berbagai jenis token dan akun penerima.

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

4. Kesimpulan

Artikel ini memperkenalkan konsep inti dari kontrak Sputnik DAO - Proposal ), termasuk pembuatan proposal, eksekusi pemungutan suara, dan aturan perubahan status. Artikel selanjutnya akan memberikan deskripsi yang lebih rinci tentang model tata kelola Sputnik-DAO berdasarkan proposal (.

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

ACT1.57%
BATCH1.38%
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
  • 6
  • Bagikan
Komentar
0/400
RugResistantvip
· 8jam yang lalu
hmm menemukan beberapa pola impl yang mencurigakan... perlu audit menyeluruh jujur
Lihat AsliBalas0
WhaleMistakervip
· 8jam yang lalu
Kontrak pintar ini terlihat sangat rumit.
Lihat AsliBalas0
GateUser-ccc36bc5vip
· 8jam yang lalu
Mekanisme proposal ini juga terlalu sederhana.
Lihat AsliBalas0
MEVVictimAlliancevip
· 8jam yang lalu
dao masuk harus dilihat baik-baik
Lihat AsliBalas0
ponzi_poetvip
· 8jam yang lalu
Gulungan itu memang tidak bisa dihindari, melihat sebuah smart contract saja sudah menggunakan judul dalam bahasa Inggris, sudah mendingan~
Lihat AsliBalas0
BankruptcyArtistvip
· 9jam yang lalu
Ini lagi tentang DAO, saya benar-benar tidak mengerti.
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)