Hợp đồng thông minh Sputnik DAO: Phân tích độ sâu cơ chế đề xuất

robot
Đang tạo bản tóm tắt

Nhật ký phát triển hợp đồng thông minh Rust (11) Phân tích cơ chế đề xuất của Sputnik DAO

Sputnik-DAO là cơ sở hạ tầng do NEAR Protocol cung cấp, thúc đẩy hệ sinh thái NEAR phát triển theo hướng phi tập trung. Hiện tại, nền tảng này đã tạo điều kiện cho nhiều dự án NEAR thành lập cộng đồng tự trị phi tập trung, cung cấp giải pháp quản trị quyết định cộng đồng hoàn chỉnh và linh hoạt.

Sputnikdaov2 là hợp đồng thông minh được sử dụng cho việc bỏ phiếu quản trị cộng đồng Sputnik-DAO. Bài viết này sẽ giới thiệu các khái niệm cốt lõi của hợp đồng: đề xuất (Proposal), các bài viết tiếp theo sẽ xoay quanh đề xuất giới thiệu các mô hình quản trị cộng đồng DAO (Policy).

1. Khởi xướng đề xuất

Các thành viên trong cộng đồng Sputnik-DAO có thể đưa ra ý kiến hoặc nộp đề xuất, các thành viên nắm giữ khác có thể xem xét và bỏ phiếu cho các đề xuất. Các thành viên có thể ảnh hưởng đến hướng đi tương lai của dự án thông qua việc bỏ phiếu hoặc khởi xướng đề xuất mới.

Tại cấp hợp đồng, thành viên có thể gọi phương thức add_proposal() của hợp đồng sputnikdaov2 để khởi xướng đề xuất mới:

gỉ u64

Người đề xuất cần cung cấp thông tin chi tiết của đề xuất (ProposalInput):

  • Mô tả văn bản đề xuất (Description)
  • Loại đề xuất ( kind )

Thông tin đề xuất được truyền vào phương thức add_proposal() dưới dạng tham số, sau khi kiểm tra và xử lý sẽ tạo ra đề xuất hoàn chỉnh (Proposal), và được liên kết với proposal_id duy nhất, thêm vào bể đề xuất do hợp đồng toàn cầu duy trì.

Thông tin thuộc tính đầy đủ của đề xuất bao gồm:

  • description: mô tả
  • kind: loại
  • proposer: Đề xuất viên
  • status: trạng thái ( mặc định là InProgress )
  • submission_time:Thời gian nộp
  • vote_counts: số phiếu bầu ( ban đầu là trống )
  • votes: chi tiết bỏ phiếu ( ban đầu trống )

Khái niệm về tiền đặt cọc đề xuất (proposal_bond) tồn tại trong Sputnik-DAO, người đề xuất cần đặt cọc một số lượng token NEAR nhất định làm tiền bảo đảm khi gọi add_proposal(). Tiền đặt cọc này sẽ được hoàn trả cho người đề xuất khi đề xuất kết thúc bình thường.

2. Trạng thái đề xuất

Các đề xuất trong Sputnik-DAO có thể trải qua nhiều trạng thái, trạng thái ban đầu là InProgress. Sự thay đổi trạng thái được điều khiển bởi phương thức act_proposal().

Thành viên có thể gọi act_proposal() để thực hiện các thao tác sau đối với đề xuất:

  • VoteApprove: tán thành
  • VoteReject: Phản đối
  • VoteRemove: loại bỏ

Sau khi bỏ phiếu, chương trình sẽ gọi policy.proposal_status() để tiến hành kiểm phiếu. Trạng thái đề xuất đạt ngưỡng bỏ phiếu sẽ được thay đổi tương ứng:

  • Approved: thông qua internal_execute_proposal() thực hiện
  • Bị từ chối/Xóa: xử lý thông qua internal_reject_proposal()

Các đề xuất có trạng thái Removed sẽ bị loại bỏ khỏi hồ sơ đề xuất và không được hoàn lại tiền đặt cọc, trong khi các đề xuất có trạng thái Rejected sẽ được giữ lại và hoàn lại tiền đặt cọc.

3. Thực hiện đề xuất

Các đề xuất ở trạng thái Approved sẽ gọi internal_execute_proposal() để thực hiện nội dung quyết định. Sputnik-DAO hỗ trợ nhiều loại đề xuất, bài viết này giới thiệu hai loại điển hình:

( 3.1 Đề xuất thực hiện hàm hợp đồng ) FunctionCall ###

Đề xuất loại FunctionCall đã được truyền vào các thao tác hàm cần thực hiện (actions) khi tạo. internal_execute_proposal() thực hiện các thao tác này dưới dạng Promise Batch Actions.

( 3.2 Đề xuất chuyển tiền hợp đồng ) Chuyển ###

Đề xuất loại Transfer được sử dụng để chuyển token tích lũy trong tài khoản hợp đồng đến tài khoản chỉ định. internal_execute_proposal() sẽ gọi hàm internal_payout() để thực hiện các thao tác chuyển khoản của các loại token khác nhau.

4. Tóm tắt

Bài viết này giới thiệu về các khái niệm cốt lõi của hợp đồng thông minh Sputnik DAO - Đề xuất (Proposal), bao gồm việc tạo đề xuất, thay đổi trạng thái và quy trình thực hiện. Sau đó sẽ dựa trên đề xuất để giới thiệu thêm về mô hình quản trị của Sputnik-DAO (Policy).

ACT-0.67%
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 2
  • Chia sẻ
Bình luận
0/400
Hash_Banditvip
· 08-01 17:45
khai thác gần giao thức vào năm 2020... thời gian tốt thật sự
Xem bản gốcTrả lời0
RuntimeErrorvip
· 08-01 17:32
Khi nào tôi có thể sử dụng phiên bản mới!
Xem bản gốcTrả lời0
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)