Phân tích cơ chế đề xuất của Sputnik DAO: Tâm điểm 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 (11) - Phân tích cơ chế đề xuất của 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 thực hiện 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 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

Mỗi thành viên trong cộng đồng Sputnik-DAO đều có thể đưa ra ý kiến hoặc đề xuất về việc quản lý hoặc điều hành dự án. Sau đó, mỗi thành viên trong cộng đồng nắm giữ cổ phần trong DAO đều có thể xem xét và bỏ phiếu cho đề xuất đó. Nói cách khác, mỗi thành viên trong Sputnik-DAO đều có thể ảnh hưởng đến hướng đi tương lai của dự án bằng cách bỏ phiếu cho các đề xuất của các thành viên khác hoặc tự mình khởi xướng đề xuất quản lý mới.

Tại cấp hợp đồng, thành viên cộng đồng DAO có thể gọi phương thức add_proposal() được cung cấp bởi hợp đồng sputnikdaov2 để khởi xướng đề xuất mới. Người đề xuất cần cung cấp thông tin chi tiết của đề xuất(ProposalInput), bao gồm:

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

Thông tin này sẽ được truyền vào phương thức add_proposal(), phương thức này sẽ thực hiện các kiểm tra và xử lý liên quan, và tạo ra một đề xuất hoàn chỉnh (Proposal). Cuối cùng, đề xuất này sẽ được liên kết với proposal_id duy nhất, được thêm vào hồ chứa đề xuất được duy trì toàn cầu bởi hợp đồng.

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

  • mô tả (description)
  • 类型(kind)
  • Người đề xuất(proposer)
  • trạng thái(status)
  • Thời gian nộp (submission_time)
  • Trạng thái bỏ phiếu ( vote_counts, votes )

Cần lưu ý rằng, trong Sputnik-DAO có khái niệm tiền đặt cọc đề xuất (proposal_bond), tiền đặt cọc này sẽ được quản lý theo mô hình quản trị cộng đồng cụ thể. Hợp đồng yêu cầu người đề xuất đặt cọc một số lượng NEAR token nhất định khi gọi phương thức add_proposal() như là tiền đảm bảo cho đề xuất mới. Số 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ụ thể được điều khiển bởi phương thức act_proposal() của hợp đồng.

Các thành viên DAO có thể gọi phương thức act_proposal() để thực hiện các thao tác sau trên đề xuất:

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

Trạng thái đề xuất đã thay đổi:

  • Nếu được phê duyệt, sẽ được thực hiện thông qua internal_execute_proposal()
  • Nếu bị Rejected hoặc Removed, sẽ thực hiện các thao tác tiếp theo thông qua internal_reject_proposal().

Sự khác biệt giữa trạng thái Rejected và Removed là đề xuất trong 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 lại tiền đặt cọc. Trong khi đó, đề xuất trong trạng thái Rejected sẽ được giữ lại trong hồ sơ đề xuất và tiền đặt cọc sẽ được hoàn lại.

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

Nếu trạng thái đề xuất là Approved, phương thức act_proposal() 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 quy trình xử lý của hai loại đề xuất điển hình:

3.1 Đề xuất thực hiện chức năng hợp đồng

Đối với đề xuất kiểu FunctionCall, người đề xuất đã truyền vào các thao tác hàm cụ thể cần thực hiện trong add_proposal()actions(. internal_execute_proposal)( sẽ hoàn thành việc thực thi hàm hợp đồng dưới hình thức Promise Batch Actions.

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

Đối với loại đề xuất Transfer, internal_execute_proposal###( sẽ gọi hàm internal_payout)(, thực hiện các hoạt động chuyển tiền cho các loại Token Fungible khác nhau và các loại receiver_id khác nhau.

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

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

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

ACT2.56%
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
  • 8
  • Đăng lại
  • Chia sẻ
Bình luận
0/400
TokenDustCollectorvip
· 07-24 18:30
Một người không làm cái bẫy hoa hoè.
Xem bản gốcTrả lời0
SelfSovereignStevevip
· 07-23 07:13
Khá nhiều tiền, nhìn vào thấy chóng mặt.
Xem bản gốcTrả lời0
GateUser-1a2ed0b9vip
· 07-21 22:53
Đề xuất còn cần đặt cọc bull啊
Xem bản gốcTrả lời0
GasFeeCryvip
· 07-21 20:05
Làm việc không đủ để thanh toán phí gas
Xem bản gốcTrả lời0
CantAffordPancakevip
· 07-21 20:03
Cơ chế đề xuất khá nghiêm ngặt.
Xem bản gốcTrả lời0
ImaginaryWhalevip
· 07-21 19:59
gần đây bao lâu không giao dịch nữa
Xem bản gốcTrả lời0
ChainSherlockGirlvip
· 07-21 19:59
Một lần nữa đến thời điểm mọi người trong cộng đồng cùng nhau thảo luận! Nói thật, chuyện tiền đặt cọc này thật sự quá chân thật... không cùng các chuyên nghiệp diễn kịch chơi.
Xem bản gốcTrả lời0
TestnetFreeloadervip
· 07-21 19:38
Quản trị? Đề xuất? hợp đồng thông minh? Làm cái quái gì mà không hiểu?
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)