Phân tích hợp đồng thông minh Sputnik DAO: Xem xét cơ chế đề xuất trong quản trị phi tập trung của hệ sinh thái NEAR

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

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

Sputnik DAO như một cơ sở hạ tầng của hệ sinh thái NEAR, đang thúc đẩy các dự án NEAR hướng tới tự trị phi tập trung. Bài viết này sẽ phân tích sâu về các khái niệm cốt lõi trong hợp đồng thông minh của Sputnik DAO - cơ chế đề xuất (Proposal).

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

Mỗi thành viên trong Sputnik DAO đều có thể đề xuất một đề xuất, bày tỏ ý kiến về quản trị dự án. Từ góc độ hợp đồng, các 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:

rỉ sét pub fn add_proposal(\u0026mut self, proposal: ProposalInput) -\u003e u64

Người đề xuất cần cung cấp chi tiết về đề xuất, bao gồm:

  • Mô tả đề xuất
  • Loại đề xuất ( như FunctionCall, Transfer, v.v. )

Hợp đồng sẽ xử lý thêm các thông tin này, tạo ra một đối tượng Proposal hoàn chỉnh và phân bổ một proposal_id duy nhất.

Cần lưu ý rằng việc khởi xướng đề xuất cần phải đặt cọc một số lượng NEAR nhất định làm tiền ký quỹ. Số tiền ký quỹ này sẽ được hoàn trả cho người đề xuất sau 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:

  • InProgress: trạng thái ban đầu, đang bỏ phiếu
  • Approved: bỏ phiếu thông qua
  • Rejected: Bỏ phiếu không thông qua
  • Đã bị xóa

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 DAO có thể gọi phương pháp này để bỏ phiếu cho đề xuất:

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

Sau khi bỏ phiếu kết thúc, cập nhật trạng thái đề xuất dựa trên kết quả bỏ phiếu.

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

Khi trạng thái đề xuất trở thành Approved, hợp đồng 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 đề xuất điển hình:

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

Đối với đề xuất loại FunctionCall, hợp đồng sẽ thực hiện cuộc gọi hàm được chỉ định trong đề xuất. Đề xuất có thể chứa nhiều đối tượng ActionCall, mỗi đối tượng chỉ định phương thức hợp đồng và các tham số cần gọi.

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

Đề xuất loại Transfer được sử dụng để chuyển token từ tài khoản hợp đồng sang tài khoản được chỉ định. Hợp đồng sẽ thực hiện các thao tác chuyển tiền tương ứng dựa trên loại token và loại tài khoản nhận.

4. Tóm tắt

Bài viết này giới thiệu các khái niệm cốt lõi của cơ chế đề xuất trong hợp đồng Sputnik DAO, bao gồm việc tạo đề xuất, thay đổi trạng thái và quy trình thực hiện. Cơ chế này cung cấp một giải pháp quản trị phi tập trung linh hoạt và hiệu quả cho dự án NEAR.

NEAR-1.98%
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
  • 7
  • Chia sẻ
Bình luận
0/400
SelfSovereignStevevip
· 20giờ trước
Đề xuất này nghe có vẻ phức tạp hơn eth.
Xem bản gốcTrả lời0
TxFailedvip
· 20giờ trước
thực sự là một dao khác sẽ thất bại do sự thờ ơ của cử tri...đã từng trải qua điều đó
Xem bản gốcTrả lời0
AllInAlicevip
· 20giờ trước
Quản lý cũng chú trọng đến thiết kế cơ chế đấy.
Xem bản gốcTrả lời0
mev_me_maybevip
· 20giờ trước
Có tiền mới là chân lý.
Xem bản gốcTrả lời0
GasFeeCryingvip
· 20giờ trước
near lại điều chỉnh cơ chế? Đã đến lúc phải trả phí xăng dầu.
Xem bản gốcTrả lời0
ChainPoetvip
· 20giờ trước
Bỏ phiếu thật sự có ích không?
Xem bản gốcTrả lời0
SmartContractWorkervip
· 21giờ trước
gần đồ ngon
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)