Nhật ký phát triển hợp đồng thông minh Rust (11): Phân tích cơ chế đề xuất DAO Sputnik
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 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 thiết lập các cộng đồng tự trị phi tập trung, và cung cấp một 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 của 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 việc 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
Các thành viên trong cộng đồng Sputnik-DAO có thể đưa ra ý kiến hoặc đề xuất về quản trị hoặc quản lý dự án. Các thành viên nắm giữ cổ phần có thể xem xét và bỏ phiếu cho các đề xuất, từ đó ảnh hưởng đến hướng đi tương lai của dự án.
Tại cấp hợp đồng, các thành viên 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:
rust
u64
Người đề xuất cần cung cấp thông tin chi tiết (ProposalInput):
Mô tả văn bản đề 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 đề xuất được khởi tạo hoàn chỉnh (Proposal), và liên kết với proposal_id duy nhất, thêm vào hồ bơi đề xuất được duy trì toàn cầu của hợp đồng.
Thông tin thuộc tính đầy đủ của đề xuất bao gồm:
description:Mô tả đề xuất
kind: loại đề xuất
proposer: người đề xuất
status: trạng thái đề xuất
submission_time: Thời gian nộp
vote_counts:đếm phiếu
votes: chi tiết bỏ phiếu
Cần lưu ý, Sputnik-DAO yêu cầu người đề xuất đặt cọc một số lượng token NEAR nhất định làm tiền bảo đảm. Khoản tiền đặt cọc này sẽ được hoàn trả 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: đang diễn ra
Approved: đã được phê duyệt
Rejected: đã bị từ chối
Đã xóa:已移除
Trạng thái đề xuất thay đổi được điều khiển bởi phương pháp act_proposal(). Thành viên DAO có thể gọi phương pháp này để bỏ phiếu và thực hiện các thao tác khác đối với đề xuất:
VoteApprove: tán thành
VoteReject: phản đối
VoteRemove: loại bỏ
Sau khi bỏ phiếu, sẽ tiến hành kiểm phiếu, trạng thái của các đề xuất đạt ngưỡng sẽ được thay đổi tương ứng. Các đề xuất có trạng thái Approved sẽ được thực hiện, các đề xuất có trạng thái Rejected hoặc Removed sẽ bị kết thúc.
3. Thực hiện đề xuất
Đề xuất có trạng thái Approved sẽ được thực hiện thông qua hàm internal_execute_proposal().
Sputnik-DAO hỗ trợ nhiều loại đề xuất, chủ yếu liên quan đến việc cập nhật cấu hình của mô hình quản trị DAO. Dưới đây là quy trình xử lý của hai loại đề xuất điển hình:
( 3.1 Đề xuất thực hiện hàm hợp đồng
Đề xuất loại FunctionCall có thể thực thi các phương thức hợp đồng được chỉ định. Đề xuất bao gồm các thao tác hàm cụ thể sẽ được thực hiện )actions###, có thể là nhiều function_call liên tiếp. Sputnik-DAO hoàn thành việc thực thi dưới dạng Promise Batch Actions.
( 3.2 Đề xuất chuyển tiền hợp đồng
Đề xuất loại Transfer có thể chuyển các token tích lũy trong tài khoản hợp đồng đến tài khoản chỉ định. Gọi hàm internal_payout)### để thực hiện các thao tác chuyển tiền đến 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 các khái niệm cốt lõi của hợp đồng Sputnik DAO - Đề xuất (Proposal), bao gồm việc tạo đề xuất, bỏ phiếu, thay đổi trạng thái và quy trình thực hiện. Trong phần tiếp theo, sẽ có mô tả chi tiết hơn về mô hình quản trị của Sputnik-DAO (Policy).
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.
12 thích
Phần thưởng
12
8
Đăng lại
Chia sẻ
Bình luận
0/400
TokenGuru
· 22giờ trước
Một DAO nữa được chơi cho Suckers, còn không bằng xem diễn biến BTC thì đáng tin cậy hơn
Xem bản gốcTrả lời0
PessimisticLayer
· 08-16 18:11
Còn không bằng sắp xếp cái hố cũ trước.
Xem bản gốcTrả lời0
GateUser-a606bf0c
· 08-15 17:53
người chơi sinh thái gần đây đã đi
Xem bản gốcTrả lời0
OnChainSleuth
· 08-14 06:24
Không nhanh không chậm chờ đợi phát triển tiếp theo nhé
Xem bản gốcTrả lời0
token_therapist
· 08-13 22:19
Quản lý còn phải xem ông lớn có bỏ phiếu hay không.
Xem bản gốcTrả lời0
airdrop_whisperer
· 08-13 22:17
Bắp cải nguyên chất gần sinh thái cũng đang được giao dịch.
Phân tích hợp đồng thông minh Sputnik DAO: Cơ chế đề xuất và quy trình quản trị
Nhật ký phát triển hợp đồng thông minh Rust (11): Phân tích cơ chế đề xuất DAO Sputnik
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 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 thiết lập các cộng đồng tự trị phi tập trung, và cung cấp một 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 của 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 việc 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
Các thành viên trong cộng đồng Sputnik-DAO có thể đưa ra ý kiến hoặc đề xuất về quản trị hoặc quản lý dự án. Các thành viên nắm giữ cổ phần có thể xem xét và bỏ phiếu cho các đề xuất, từ đó ảnh hưởng đến hướng đi tương lai của dự án.
Tại cấp hợp đồng, các thành viên 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:
rust u64
Người đề xuất cần cung cấp thông tin chi tiết (ProposalInput):
phương pháp add_proposal() sẽ thực hiện xử lý kiểm tra, tạo ra đề xuất được khởi tạo hoàn chỉnh (Proposal), và liên kết với proposal_id duy nhất, thêm vào hồ bơi đề xuất được duy trì toàn cầu của hợp đồng.
Thông tin thuộc tính đầy đủ của đề xuất bao gồm:
Cần lưu ý, Sputnik-DAO yêu cầu người đề xuất đặt cọc một số lượng token NEAR nhất định làm tiền bảo đảm. Khoản tiền đặt cọc này sẽ được hoàn trả 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 đề xuất thay đổi được điều khiển bởi phương pháp act_proposal(). Thành viên DAO có thể gọi phương pháp này để bỏ phiếu và thực hiện các thao tác khác đối với đề xuất:
Sau khi bỏ phiếu, sẽ tiến hành kiểm phiếu, trạng thái của các đề xuất đạt ngưỡng sẽ được thay đổi tương ứng. Các đề xuất có trạng thái Approved sẽ được thực hiện, các đề xuất có trạng thái Rejected hoặc Removed sẽ bị kết thúc.
3. Thực hiện đề xuất
Đề xuất có trạng thái Approved sẽ được thực hiện thông qua hàm internal_execute_proposal().
Sputnik-DAO hỗ trợ nhiều loại đề xuất, chủ yếu liên quan đến việc cập nhật cấu hình của mô hình quản trị DAO. Dưới đây là quy trình xử lý của hai loại đề xuất điển hình:
( 3.1 Đề xuất thực hiện hàm hợp đồng
Đề xuất loại FunctionCall có thể thực thi các phương thức hợp đồng được chỉ định. Đề xuất bao gồm các thao tác hàm cụ thể sẽ được thực hiện )actions###, có thể là nhiều function_call liên tiếp. Sputnik-DAO hoàn thành việc thực thi dưới dạng Promise Batch Actions.
( 3.2 Đề xuất chuyển tiền hợp đồng
Đề xuất loại Transfer có thể chuyển các token tích lũy trong tài khoản hợp đồng đến tài khoản chỉ định. Gọi hàm internal_payout)### để thực hiện các thao tác chuyển tiền đến 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 các khái niệm cốt lõi của hợp đồng Sputnik DAO - Đề xuất (Proposal), bao gồm việc tạo đề xuất, bỏ phiếu, thay đổi trạng thái và quy trình thực hiện. Trong phần tiếp theo, sẽ có mô tả chi tiết hơn về mô hình quản trị của Sputnik-DAO (Policy).