Phân tích cốt lõi hợp đồng thông minh Sputnik DAO: Giải thích 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 (10-3) Phân tích cơ chế đề xuất Sputnik DAO

Sputnik-DAO như một cơ sở hạ tầng của NEAR Protocol, đang 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 xây dựng các cộng đồng tự trị "phi tập trung", đồng thời cung cấp giải pháp quản trị quyết định cộng đồng hoàn chỉnh, linh hoạt và hiệu quả.

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), và trong các bài viết tiếp theo sẽ giới thiệu các mô hình quản trị cộng đồng DAO liên quan đến "Đề xuất" (Policy).

1. Khởi xướng đề xuất ( Thêm đề xuất )

Các thành viên trong cộng đồng Sputnik-DAO có thể đưa ra ý kiến hoặc đề xuất về việc quản lý hoặc quản trị dự án. Mỗi thành viên trong cộng đồng sở hữu cổ phần đều có thể xem xét và bỏ phiếu cho các đề xuất. Các thành viên trong cộng đồng 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 các đề xuất quản lý mới.

Tại cấp độ hợp đồng, các thành viên trong cộng đồng DAO 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 chi tiết về đề xuất (ProposalInput):

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

Phương pháp add_proposal() sẽ thực hiện xử lý kiểm tra, tạo ra một đề xuất hoàn chỉnh (Proposal) và gắn liền với proposal_id duy nhất, thêm vào hồ chứa đề xuất được duy trì toàn cầu trong hợp đồng.

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

  • mô tả (description)
  • 类型(kind)
  • đề xuất viên ( proposer )
  • trạng thái (status )
  • Thời gian khởi tạo(thời gian gửi)
  • Trạng thái bỏ phiếu(số lượng phiếu, phiếu)

Cần lưu ý rằng, Sputnik-DAO yêu cầu người đề xuất phải đặt cọc một số lượng NEAR token nhất định làm tiền bảo đảm khi khởi xướng đề xuất. Khoả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(Proposal Status)

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ủa đề xuất được điều khiển bởi phương pháp act_proposal().

Các thành viên trong cộng đồng có thể thực hiện các hành động sau đối với đề xuất:

  • VoteApprove: Biểu thị sự đồng ý
  • VoteReject: biểu thị sự phản đối
  • VoteRemove: cho rằng đề xuất này là vô nghĩa, cần phải loại bỏ

Sau khi bỏ phiếu, sẽ tiến hành kiểm phiếu, trạng thái của đề xuất đạt ngưỡng bỏ phiếu sẽ được thay đổi tương ứng:

  • Approved: Thông qua việc gọi internal_execute_proposal() để thực hiện đề xuất
  • Bị từ chối/Đã xóa: Thực hiện thao tác hoàn tất thông qua việc gọi internal_reject_proposal()

Sự khác biệt giữa trạng thái Rejected và Removed là đề xuất ở trạng thái Removed sẽ bị loại bỏ trực tiếp khỏi hồ sơ đề xuất và không hoàn trả tiền đặt cọc.

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

Đối với đề xuất có trạng thái Approved, sẽ gọi hàm internal_execute_proposal() để thực hiện nội dung đề xuất.

Sputnik-DAO hỗ trợ nhiều loại đề xuất, bài viết này tập trung vào hai loại điển hình:

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

Đề xuất loại FunctionCall có thể thực hiện các hàm hợp đồng được chỉ định. Đề xuất bao gồm các thao tác hàm cần thực hiện (actions), có thể chỉ định nhiều đối tượng ActionCall, mỗi đối tượng chỉ định tên phương thức hợp đồng và tham số tương ứng.

Cuối cùng hoàn thành việc thực thi hàm hợp đồng dưới hình thức Hành động Batch Promise.

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

Đề xuất loại Transfer có thể chuyển đổi các token tích lũy trong tài khoản hợp đồng (NEAR hoặc token chuẩn NEP-141 ) đế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 tiền cho các loại token khác nhau và tài khoản nhận.

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, thực hiện bỏ phiếu và quy tắc thay đổi trạng thái. Các bài viết tiếp theo sẽ mô tả chi tiết hơn về mô hình quản trị của Sputnik-DAO dựa trên đề xuất (Policy).

ACT2.48%
BATCH5.81%
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
  • 6
  • Chia sẻ
Bình luận
0/400
RugResistantvip
· 2giờ trước
hmm tìm thấy một số mẫu triển khai đáng ngờ... cần kiểm toán kỹ lưỡng không nói dối
Xem bản gốcTrả lời0
WhaleMistakervip
· 2giờ trước
Hợp đồng thông minh này trông phức tạp thật.
Xem bản gốcTrả lời0
GateUser-ccc36bc5vip
· 2giờ trước
Cơ chế đề xuất này thật là đơn giản.
Xem bản gốcTrả lời0
MEVVictimAlliancevip
· 2giờ trước
Đạo nhập môn nhất định phải xem tốt nhé
Xem bản gốcTrả lời0
ponzi_poetvip
· 2giờ trước
Cuốn là trong sự bất lực ah, xem một hợp đồng thông minh mà toàn tiêu đề tiếng Anh, êm dịu quá~
Xem bản gốcTrả lời0
BankruptcyArtistvip
· 2giờ trước
Lại là những thứ liên quan đến DAO, thật sự không hiểu nổi.
Xem bản gốcTrả lời0
  • Ghim
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)