引言
经过之前的学习,我准备进行实战开发一个简单的dao项目demo,实现一个去中心化自治组织,用于管理共享资金、社区任务、提案和投票等功能,这篇文章分享了开发前期的系统设计。
功能描述
dao
token
关于dao
token
dao
使用了社区代币dao
来治理社区,并进行社区激励,社区成员需要使用dao
代币来发布提案,参与投票,从而参与社区治理,它的总供应在dao
被创立时已经被固定,初始状况下dao代币将会全部锁在金库中。
如何获取dao代币?
dao
组织会发布社区任务,设置一定的dao代币奖励,完成者可获得相应凭证,可以申请dao
代币。
社区成员发布的提案如果被接受,会根据提案的等级,分发一定的dao
代币奖励。
成员角色
社区中有三种成员角色:
1.InitCoreMember
dao
组织的初始核心成员
可以授权的角色:InitCoreMember,CoreMember。
2.CoreMember
dao
组织的核心成员:
可授权的角色: Member.
权利:
- 发布社区任务
- 分发任务奖励
- 授权普通社区成员
- 关闭提案
- 修改提案等级
3.Member
dao
组织的普通成员
权利:
- 发布提案
- 收获提案奖励
- 参与投票
如何运行
- DAO组织的初始成员发布社区任务
- 通过参与社区任务,持有dao代币,可以申请加入DAO组织
- 加入DAO组织后,可以发布社区提案,提案如果被接受,可以获取一定代币收益。可以参与提案投票。
obj设计
Dao
struct Dao<phantom T> has key{
id: UID,
total_members: