网赚论坛

 找回密码
 免费注册
查看: 342|回复: 0
打印 上一主题 下一主题

如何用DAO代币投票?

[复制链接]

17

主题

147

帖子

68

积分

Ⅰ级财主

Rank: 1

积分
68
跳转到指定楼层
楼主
发表于 2017-11-20 16:27:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


投票
每一个代币持有者可以通过调用vote函数向提议投票。这个函数有两个参数:


  • proposalID 提议的ID。supportsProposal 布尔值(yes/no)表示投票者是否支持提议。
投票只能执行一次,不能被修改。在提议的讨论期之后,将不能再对提议进行投票。另外,交易发送者的投票地址拥有的代币将会被锁定(不能被转移或者分割),至到提议讨论期结束,这样是为了防止人们向提议投票然后又分割,而逃避投票后应该承担的后果。

警告: 在对提议投票前要格外注意。确保已经充分验证了提议的投票终止日期,因为一旦你投票,你的代币会锁定而不能进行分割或者转移到其他账号,至到投票讨论期结束。

提议可以在Mist钱包使用公共变量proposals数组来查看。可以根据提议的ID查看提议的参数。这些参数有:recipient, amount, description, votingDeadline, open, proposalPassed, proposalHash, proposalDeposit, newCurator, splitData, yea, nay, votedYes, votedNo和 creator。这些参数的定义可以在白皮书的6.3节中看到。

为了帮助投票者,提供了函数checkProposalCode。这个函数可以检查某个提议的ID匹配某个交易。这个函数的参数有:
* proposalID
* recipient
* amount
* transactionData

如果 recipient, amount 和 transactionData 匹配提议ID,这个函数会返回true,否则返回false(在钱包里用code checks out表示)。这个可以用来验证提议ID是不是DAO代币持有者想投的那个提议。

执行
在提议讨论期结束后,任何一个人可以调用executeProposal函数。它的参数有:
* proposalID
* transactionData

这个函数会检查投票的终止日期是否已过,以及transactionData 是否匹配提议ID。然后它检查法定人数是否满足(参考minQuorum),以及投票是否获得多数人同意。如果满足以上条件,会执行提议并且返还提议的押金。如果法定人数满足,但是提议被多数人拒绝,提议的押金会返还,提议会关闭。
如果是新的负责人的提议,函数什么也不做,除了在投票讨论期结束后的27天后关闭提议。

备注
有时候或许无法执行提议,这里有两个可能的原因:


  • 押金不能被返还,因为提议的创建者是一个合约,它的回调函数需要消耗超过9000的gas。

    调用执行提议的交易时可能因为各种原因抛出异常。


代币持有者不应该对有上述情况可能发生的提议进行投票。但是,如果一旦某人进行投票,提议会在executeProposal 调用后的投票的终止日期10天后关闭。

原文:How to vote and execute a proposal
译者:@rubyu2


http://ethfans.org/posts/DAO-How-to-vote-and-execute-a-proposal
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

广告合作|Archiver|手机版|小黑屋|财富吧

GMT+8, 2026-7-19 00:42 , Processed in 0.358800 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.1

© 2014-2021 财富吧

快速回复 返回顶部 返回列表