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 terdesentralisasi, dan menyediakan solusi pengelolaan komunitas yang lengkap dan fleksibel.
sputnikdaov2 adalah smart contract untuk pemungutan suara pemerintahan komunitas Sputnik-DAO. Artikel ini akan memperkenalkan konsep inti dari kontrak tersebut: Proposal (, artikel selanjutnya akan membahas mode pemerintahan komunitas DAO yang relevan )Policy (.
1. Pengajuan Proposal
Setiap anggota di Sputnik-DAO dapat memberikan pendapat atau mengajukan proposal tentang pengelolaan proyek. Setiap anggota komunitas yang memiliki saham dapat meninjau dan memberikan suara pada proposal, sehingga mempengaruhi arah masa depan proyek.
Di tingkat kontrak, anggota 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 )Deskripsi(
Jenis proposal ) kind (
Informasi ini akan digunakan sebagai parameter untuk metode add_proposal)(, yang akan melakukan pemrosesan verifikasi, menghasilkan satu proposal lengkap )Proposal(, dan mengikatnya dengan proposal_id yang unik, menambahkannya ke dalam kolam proposal yang dikelola secara global oleh kontrak.
Informasi atribut lengkap dari proposal mencakup:
description: Deskripsi
kind: jenis
proposer: pengusul
status: status
submission_time: Waktu pengiriman
vote_counts: hitung suara
votes: Catatan suara
Perlu diperhatikan bahwa di dalam Sputnik-DAO terdapat konsep deposit proposal )proposal_bond(, di mana pengusul harus mempertaruhkan sejumlah token NEAR sebagai jaminan saat memanggil add_proposal)(. Deposit ini akan dikembalikan setelah proposal berakhir dengan normal.
Proposal di Sputnik-DAO dapat mengalami berbagai status:
InProgress: Sedang berlangsung
Disetujui: 已批准
Ditolak:已拒绝
Dihapus: Sudah dihapus
Perubahan status proposal dipicu oleh metode act_proposal)(. Anggota DAO dapat memanggil metode ini untuk melakukan tindakan berikut pada proposal:
VoteApprove: Setuju
VoteReject: menolak
VoteRemove: Hapus
Setelah pemungutan suara, akan memanggil policy.proposal_status)( untuk menghitung suara. Status proposal yang memenuhi syarat akan diubah menjadi Approved, Rejected, atau Removed.
Proposal dengan status Approved akan dieksekusi, sedangkan status Rejected dan Removed akan menjalankan operasi penyelesaian. Proposal dengan status Removed akan dihapus dari kolam proposal dan deposit tidak akan dikembalikan.
Untuk proposal dengan status Approved, act_proposal)( akan memanggil internal_execute_proposal)( untuk mengeksekusi konten proposal.
Sputnik-DAO mendukung berbagai jenis proposal, yang terutama terkait dengan pembaruan konfigurasi model tata kelola DAO. Artikel ini menyoroti dua jenis proses penanganan proposal yang khas:
) 3.1 Proposal Eksekusi Fungsi Kontrak(FunctionCall)
Proposal tipe FunctionCall mengirimkan operasi fungsi yang akan dieksekusi ###actions( saat dibuat. internal_execute_proposal)( akan mengeksekusi pemanggilan fungsi ini dalam bentuk Promise Batch Actions.
) 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 dan akun penerima.
Artikel ini memperkenalkan konsep inti dari kontrak Sputnik DAO — proposal )Proposal(, termasuk proses pembuatan proposal, perubahan status, dan alur eksekusi. Artikel selanjutnya akan memberikan deskripsi yang lebih rinci tentang mekanisme proposal dan implementasi serta konfigurasi 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.
Analisis kontrak pintar Sputnik DAO: Penjelasan mekanisme proposal dan proses pelaksanaan
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 terdesentralisasi, dan menyediakan solusi pengelolaan komunitas yang lengkap dan fleksibel.
sputnikdaov2 adalah smart contract untuk pemungutan suara pemerintahan komunitas Sputnik-DAO. Artikel ini akan memperkenalkan konsep inti dari kontrak tersebut: Proposal (, artikel selanjutnya akan membahas mode pemerintahan komunitas DAO yang relevan )Policy (.
1. Pengajuan Proposal
Setiap anggota di Sputnik-DAO dapat memberikan pendapat atau mengajukan proposal tentang pengelolaan proyek. Setiap anggota komunitas yang memiliki saham dapat meninjau dan memberikan suara pada proposal, sehingga mempengaruhi arah masa depan proyek.
Di tingkat kontrak, anggota DAO dapat memanggil metode add_proposal)( dari kontrak sputnikdaov2 untuk mengajukan proposal baru:
karat u64
Pengusul harus memberikan rincian lengkap tentang proposal )ProposalInput(:
Informasi ini akan digunakan sebagai parameter untuk metode add_proposal)(, yang akan melakukan pemrosesan verifikasi, menghasilkan satu proposal lengkap )Proposal(, dan mengikatnya dengan proposal_id yang unik, menambahkannya ke dalam kolam proposal yang dikelola secara global oleh kontrak.
Informasi atribut lengkap dari proposal mencakup:
Perlu diperhatikan bahwa di dalam Sputnik-DAO terdapat konsep deposit proposal )proposal_bond(, di mana pengusul harus mempertaruhkan sejumlah token NEAR sebagai jaminan saat memanggil add_proposal)(. Deposit ini akan dikembalikan setelah proposal berakhir dengan normal.
![])https://img-cdn.gateio.im/webp-social/moments-84ee9ca630a4cdcdb0d2eb63450a7cf4.webp(
2. Status Proposal
Proposal di Sputnik-DAO dapat mengalami berbagai status:
Perubahan status proposal dipicu oleh metode act_proposal)(. Anggota DAO dapat memanggil metode ini untuk melakukan tindakan berikut pada proposal:
Setelah pemungutan suara, akan memanggil policy.proposal_status)( untuk menghitung suara. Status proposal yang memenuhi syarat akan diubah menjadi Approved, Rejected, atau Removed.
Proposal dengan status Approved akan dieksekusi, sedangkan status Rejected dan Removed akan menjalankan operasi penyelesaian. Proposal dengan status Removed akan dihapus dari kolam proposal dan deposit tidak akan dikembalikan.
![])https://img-cdn.gateio.im/webp-social/moments-427716593b21fa32b47855ceb5e101fc.webp(
3. Eksekusi Proposal
Untuk proposal dengan status Approved, act_proposal)( akan memanggil internal_execute_proposal)( untuk mengeksekusi konten proposal.
Sputnik-DAO mendukung berbagai jenis proposal, yang terutama terkait dengan pembaruan konfigurasi model tata kelola DAO. Artikel ini menyoroti dua jenis proses penanganan proposal yang khas:
) 3.1 Proposal Eksekusi Fungsi Kontrak(FunctionCall)
Proposal tipe FunctionCall mengirimkan operasi fungsi yang akan dieksekusi ###actions( saat dibuat. internal_execute_proposal)( akan mengeksekusi pemanggilan fungsi ini dalam bentuk Promise Batch Actions.
) 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 dan akun penerima.
![])https://img-cdn.gateio.im/webp-social/moments-ef0b959c42e1f5fc6263cd4a86fd078e.webp(
4. Kesimpulan
Artikel ini memperkenalkan konsep inti dari kontrak Sputnik DAO — proposal )Proposal(, termasuk proses pembuatan proposal, perubahan status, dan alur eksekusi. Artikel selanjutnya akan memberikan deskripsi yang lebih rinci tentang mekanisme proposal dan implementasi serta konfigurasi model tata kelola Sputnik-DAO )Policy(.
![])https://img-cdn.gateio.im/webp-social/moments-eb73d5e15f6161f0a4b442cd4b99a91e.webp(