DAO白皮书—去中心化的自治组织来管理信任.pdf

返回 相似 举报
DAO白皮书—去中心化的自治组织来管理信任.pdf_第1页
第1页 / 共42页
DAO白皮书—去中心化的自治组织来管理信任.pdf_第2页
第2页 / 共42页
DAO白皮书—去中心化的自治组织来管理信任.pdf_第3页
第3页 / 共42页
DAO白皮书—去中心化的自治组织来管理信任.pdf_第4页
第4页 / 共42页
DAO白皮书—去中心化的自治组织来管理信任.pdf_第5页
第5页 / 共42页
点击查看更多>>
资源描述:
摘 档ˇ 第一个»中ˆ化 ¡理Æß DAO 。 ı,” 大多数«持少数攻ß ,并œ一˝ª‡„案。并且,一˝ ø ˝类 DAO 切 行 „案,œ并 行 ˘ˇ , 是使用Solidity行在 太坊上 智 合ƒ。太坊中 社区 www.ethfans.org »中ˆ化 Œ»˜˙来¡理Æß最¨草稿 - ¡稿中Christoph JentzschFounder CTO, Slock.itchristoph.jentzschslock.it者 张 - ethfans.org2016年5月1 1 言上,Æ用 ¡理¸¨是中ˆ化 。一⁄个体( 托”)会制 一套合ƒ并 合 资形成Æß,然后由一个”或者一个公ł来¡理,托”失» ¥¡理 资§ ¥权利。众筹Massolution [2015] 崛起降低 小 资”´与大项 Ł 。众筹 资 ˝然带有 ˛险,由 公ł¡理不 ˇ常会未 兑 承œ或者干脆 ¥ 失 影 踪Knibbs [2015], Biggs[2015]。谢谢 太坊 开 者 Buterin [2013],Wood [2014], ˘成 灵 备 言 行智 合ƒ ,使 创œ一个 托” ¥¡理 资 成为 ,同 ˝然 众多小 托” 一起 同一个大 标。我 ˇ在区块 上使用智 合ƒSzabo [1997], Miller [1997]来形成一个DAO˜˙。在 个白fi书 ,我 会通˙一个具体 子来 ˘¸˝DAO¡理Æß ı。在ª˚ DAO ı之后,我 会currency1”\多数¢«少数攻ß\并œ一˝ª‡„案,\DAO分»\。最后我 会浏¨智 合ƒ, ˘ \DAO分»\来 束。智 合ƒ 地址在https// ı一 会¸˝DAO œ本 ı 够做 么。在DAOŁ署到 太坊区块 之后,在˜ 起¸筹资阶 ,ß何” 通˙向DAO智 合ƒ地址 送 太币(支持 太坊网 数字ˆ )„式来´与众筹。作为⁄换,ª币会«创œ用来ª表是会员« ˚DAO一Ł分 所有权; ª币会«分配 众筹 ´与者。ª币 数ˇ是按照 送 太币 分配 。ˇ一个ª币 格会 着而 化( 5)。在众筹 束后, ª币 所有权 通˙ 太坊区块 ⁄易转ß 其 用户。在Ł署合ƒ ,一个最小 DAO众筹标 起¸众筹 会« 。 最小众筹 在众筹阶 ¡有«Æ‡,ˇ一个众筹者 太币会« 。在众筹阶 束后,我 用 raised来表示众筹来 总资 ,用Ttotal来表示创œ 总 ª币数ˇ。 个DAO¯¯用来¡理众筹 。 本«¡有生§§,编 ª码 开 硬 。 需一个服¡ 商来 成 其 标,通˙签署fi „式来临 用 。DAO ˇ一个成员 –费一Ł分众筹来 太币来⁄fi,在项 中 作 transfer。 œfi«批˘, 太币会 送到 外一个表示fi项 合ƒ中。 样,智 合ƒ ´数化,使DAO 与资 项 ł24 大多数¢«少数攻ß作用 影˝ 。一个在DAO 资项 之 协fi 子 在附录中找到A.4。DAO 成员 票权˝由 Æ ª币数ˇ来‡ 。ª币是 分割, 别 , „¿ 在用户之 行转ß。在合ƒ中,成员 个”行为不« ¥确 。ß何fi 需 一个 范 tp»currency1” 票。在我 子中, 个 范 是由fi 创œ者 ,ø 一般 fi最少需 两周 。在tp 后, ª币 持有者会调用一个在DAO合ƒ中 数来 大多数 票是支持fi 并 到 ”数。 是 ˝¯ ,fi将会执行。 不是 ˝¯ ,fi将会关 。最小 ”数表示 票成¸ 最小ª币数,标 为qmin,¡ „式 下qmin Ttotald transfer Ttotal3 DAO Rtotal1d是minQuorumDivisor。 个´数 ⁄值是5,”数在 ˙一年˝未Ƈ, 会 倍。DAO是DAO 有 总 太币数 ˇ,Rtotal是总 奖–ª币,在7 会到(同样指totalRewardToken 在A.3)。 DAO Rtotal 等 总共众筹 来 太币 上收到 奖–。意味着,所有 fi 通˙,起¸20 所有 ª币 数字是¯须 。 transfer 众筹 太币 上收到 奖–ł等,少5333 数字是¯须 。为 ˜˙fi 圾化, œfi 需 支 最小 , 数 到将 , 不‡fi 将 留在DAO中。DAO ⁄ fi 值 通˙一个其 fi来 改。3 在本 中, 总是表示 wei为单位 太币。义为1 Wei 10 18 Ether Wood [2014]。同样地,DAOª币标 为T,总是ª表 œ本单位为单位DAOª币。 义为10 16 DAOª币。4 大多数¢«少数攻ߡ一个DAO 需 »ˇ缓 是,大多数¢«少数。 攻ß者有51 ª币,在众筹期 或者后面购买 „式, 创œ一个fi送所有 。 为 有 大多数token,所 总是 通˙fi。为 防止 ˝ 象,少数”总是 选Ø 众筹 Ł分 。 通˙将DAO一分为 来。在 ˝¯ 下,个”或者一⁄ª币 所有者,非常˝ø项fi,在项fi执行前 资 , ⁄一个特 fi来形成一个 DAO。少数” 票将 资转ß到 个 DAO中,使 剩下 大多数Œ–费 Œæ –。 个 起 Vitalik Bu-terin Buterin [2015] 表 一˙博¢。˝ 单 改 存在 是, 不 处理 票Æ一 ª币 有者或‚并不会 ´与到DAO中,不 紧˘ fi。攻ß者 利用 „作为优¿。即使少数”有机会 资 并且分»DAO,但是 其中 一 ” 不 ˚ 意˘到¯ 而不会 样做。为 DAO 全, 需 考虑£ 不活ˆ ª币 有者不会丢失 资 。我 œfi ª‡„ 是,限制ˇ个单 DAOø 一个单 服¡ 商。 个服¡ „§制着一个唯一 账 ,通˙fi˛DAO中¥ 。 外,服¡器 商 创œDAO 送 白名单地址。 服¡ „非常大 权 。为 防止 用 ˝权 ,DAO 票选Ø 服¡ „,或‚有 前面ˇ DAO一分为 ¯ 生。ß何一个ª币 持有者 ⁄一个fi»选举 服¡ „。 际上,即使一个单 token 有者也 够 剩余 ether 持 在未来 收˚(根据之前 贡献‡), 会Œcurrency1 送到 DAO中。收˚ 义是,˛DAO众筹起,DAO˛§生§中 ß何ether, 将会在第7 中 一步 ˘阐 。选举 服¡ „˙程 下ß何一个token持有者 起一个fi来选举 服¡ „。 个fi需 支 ,否则攻ß者 太坊中 社区 www.ethfans.org 6 合ƒ票 改为一个非常 ,来阻止ß何分»。个fi 票期为10天。常˜fi 最低期限 少4天,是为 允‚ß何” 资 ,在ß何潜在 恶意fi通˙之前。同 ¡有 ƒ限制,所 ß何token持有者有权 分»» Œæ DAO。currency1”期通常会currency1” 服¡ „, 行非正式 票。 票 不会§生ß何 际作用, Œ有fl„ 指 性 。在第一轮 票之后,ª币持有者 行第 轮 票来确⁄ 。大多数 ” 票 持 有 服¡ „来避免分»,或者ł˝ 票 服¡ „来将 资 转ß到 DAO中。5 ª币 格为 奖–在众筹阶 购买ª币 ´与者, 为有 少 Æ息,所 łø 后 入 ”承 大 ˛险, 会支 少łø 后 入 ”。就 在ˇ DAO而言,我 选Ø 下 格¡ „式Pt 8001 if t uint256 balances;太坊中 社区 www.ethfans.org 6.2 TokenSale 6 合ƒmapping address mapping address uint256 allowed;uint256 public totalSupply;function balanceOfaddress _owner constant returns uint256 balance;function transferaddress _to, uint256 _amount returns bool success;function transferFromaddress _from, address _to, uint256 _amount returns bool success;function approveaddress _spender, uint256 _amount returns bool success;function allowanceaddress _owner, address _spender constant returns uint256 remaining;event Transferaddress indd _from, address indd _to, uint256 _amount;event Approvaladdress indd _owner, address indd _spender, uint256 _amount;}上是’Token’合ƒ ¥ª。 合ƒ¥ª起到 档 作用, 合ƒ中数 ˇ。 全Ł 在附录中找到A.1。 个合ƒ展示 一˝标˘ª币https// 合ƒhttps// 合ƒ创œ œ础。map类 balances存currency1 DAO成员 ª币, address做索引。 所有 承 TokenInterface 合ƒ, ¥ 改map „,但是Œ有4个„ 样做buyTokenProxy, transfer , transferFromsplitDAO。map类 allowed用做 录 地址, 地址允‚ 其 ” 名义 送ª币。integer类 totalSupply是 存 DAOª币总数ˇ。public 关键字创œ一个同名 数, 用来 ˇ 值,所 « 为公开 ˇ。数balanceOf 特 地址 余 。数transfer用作 求者 送ª币 其 地址。数transferFrom用作ª表”来 送 太币,并且先前 ˇ使用approve 数批˘。数approve用做DAOª币 所有者,指 一个特 spender来转ß指 value ˛ 帐户,使用transferFrom 数。 测个地址是否«允‚ª表”使用DAOª币, 使用 数allowance, 会 允‚spender是否 –费 ª币。 有„类似 支票。Transfer用来通 轻¢户 balances 化。Approval 用来通 轻¢户 allowed 化。6.2 TokenSalecontract TokenSaleInterface {uint public closingTime;uint public minValue;bool public isFunded;address public privateSale;ManagedAccount extraBalance;mapping address uint256 weiGiven;太坊中 社区 www.ethfans.org 6.3 DAO 6 合ƒfunction TokenSaleuint _minValue, uint _closingTime;function buyTokenProxyaddress _tokenHolder returns bool success;function refund;function divisor returns uint divisor;event FundingToDateuint value;event SoldTokenaddress indd to, uint amount;event Refundaddress indd to, uint value;}上是TokenSale合ƒA.2 ¥ª。integer类 closingTime是ª币 售期 束unix 戳。integer类 minValue是DAO众筹 需 ¥值,单位是wei。boolean类 isFunded是ture DAO ˇÆ‡最低众筹 标,否则false。地址类 privateSale用作DAO 分» - 置为0,表示为公开œ售,否则Œ有存currency1在privateSale 地址才 购买ª币。¡理帐 A.5extraBalance用来 存,在众筹期 ,ª币 格上currency1之后 多œ 太币。ß何初¸ 格 支 太币会到 个账户。map类 weiGiven用来 存ˇ一个在众筹期 ´与者 众筹 , Œ有一个用途,即 ª币 售¡有到 ˘ 标 ,将 太币 ´与者。体TokenSale初¸化 ª币 售期使用 ´数, 包 minValue, closingtime ,privateSale, 值会在DAO合ƒA.3中 置,且Œ会在DAOŁ署 候行一次。数buyTokenProxy为ˇ个wei 送,创œ一个DAOª币 最小面 。 格¡ „式为c 20divisorc 是 wei单位 用 购买ª币,除数divisor 大小 ‡ , 在5 中有¸˝。´数tokenHolder 义 挖到 ª币 ¥ 者。数refund «ß何一个´与者调用, 售失败未Ƈ众筹 标, 会†´与者 太币 。数divisor用 ¡ , 数buyTokenProxy在售期 ,ª币 格。FundingToDate, SoldToken Refund用来通 轻¢户 众筹 ¶态。6.3 DAOcontract DAOInterface {Proposal[] public proposals;uint minQuorumDivisor;uint lastTimeMinQuorumMet;uint public rewards;address[] public allowedRecipients;mapping address uint public rewardToken;uint public totalRewardToken;ManagedAccount public rewardAccount;mapping address uint public paidOut;太坊中 社区 www.ethfans.org 6.3 DAO 6 合ƒmapping address uint public blocked;uint public proposalDeposit;DAO_Creator public daoCreator;struct Proposal {address recipient;uint amount;string description;uint votingDeadline;bool open;bool proposalPassed;bytes32 proposalHash;uint proposalDeposit;bool newServiceProvider;SplitData[] splitData;uint yea;uint nay;mapping address bool votedYes;mapping address bool votedNo;address creator;}struct SplitData {uint splitBalance;uint totalSupply;uint rewardToken;DAO newDAO;}modifier onlyTokenholders {}function DAOaddress _defaultServiceProvider,DAO_Creator _daoCreator,uint _minValue,uint _closingTime,address _privateSalefunction returns bool success;function payDAO returnsbool;太坊中 社区 www.ethfans.org 6.3 DAO 6 合ƒfunction receiveEther returnsbool;function newProposaladdress _recipient,uint _amount,string _description,bytes _transactionData,uint _debatingPeriod,bool _newServiceProvider onlyTokenholders returns uint _proposalID;function checkProposalCodeuint _proposalID,address _recipient,uint _amount,bytes _transactionData constant returns bool _codeChecksOut;function voteuint _proposalID,bool _supportsProposal onlyTokenholders returns uint _voteID;function cuteProposaluint _proposalID,bytes _transactionData returns bool _success;function splitDAOuint _proposalID,address _newServiceProvider returns bool _success;function addAllowedAddressaddress _recipient external returns bool _success;function changeProposalDeposituint _proposalDeposit external;function getMyReward returnsbool _success;function withdrawRewardForaddress _account returnsbool _success;function transferWithoutRewardaddress _to, uint256 _amount returns bool success;function transferFromWithoutRewardaddress _from,address _to,uint256 _amount returns bool success;function halveMinQuorum returns bool _success;function numberOfProposals constant returns uint _numberOfProposals;function isBlockedaddress _account returns bool;太坊中 社区 www.ethfans.org 6.3 DAO 6 合ƒevent ProposalAddeduint indd proposalID,address recipient,uint amount,bool newServiceProvider,string description;event Voteduint indd proposalID, bool position, address indd voter;event ProposalTallieduint indd proposalID, bool result, uint quorum;event NewServiceProvideraddress indd _newServiceProvider;event AllowedRecipientAddedaddress indd _recipient;}¸合ƒ是 ‘’ DAO ‘’ http//chriseth.github.io/browser-solidity/gist192371538cf5e43e6dab) 为 œ 础,在https//blog.ethereum.org/2015/12/04有ˇ。主 分»机制 一 ł关 „。 在我 义将成员 ˇ 数 义一次。数˜proposals 存 所有 fi。整 minQuorumDivisor用 ¡ 需 fi通˙ 数。 « 置为5, 数 ˙一年¡有 到, 个数字会 倍。整 lastTimeMinQuorumMet 存 数Ƈ 最后 化。整 rewards¡ 所有 送 DAO 奖–。在支 到rewardAccount之后, 会«˝置为0.地址类 serviceProvider,由DAO 创œ者 置, 义 服¡ „。列 表 类 allowedRecipients一 般«当做白名单。 DAOŒ 送⁄易 Œ æserviceProvider, rewardAccount,extraBalance ˚ 白 名单 地 址。 Œ有serviceProvider(服¡ „) 向白名单地址。map类 rewardToken 录 ,由DAO§§生 奖–所在 地址。 地址Œ DAO 地址。整 totalRewardToken 录 存 奖–ª币数ˇ。ˇrewardAccount是ManagedAccount类 ,在A.5中currency1”˙。 用来¡理分 DAOª币持有者 奖– ˚ 送奖– ª币持有者。map类 paidOut用 录一个ª币持有者ˇ 多少wei˛rewardAccount中。map类 blocked用来 存DAO ª币 ˇ´与 票 地址, 样Œ有在 票 成后, –才 «转。 地址指向fi ID。整 proposalDeposit指 ß何fi需 支最小 ,但是不包 服¡ „。合ƒdaoCreator用 创œ一个 DAO 个DAO同样 ª码,用 DAO分» ¯ 。一个fi需 下´数recipient 个地址是, fi«¥ ,转ßwei为单位 amount 地址。amount fi«¥ ,需 转ß多少wei 到recipient。description fi fl 本ˇ 。votingDeadline 一个unix 戳,标 票 束 。open 布尔值, 票 ˇ« 入是false,否者是true。太坊中 社区 www.ethfans.org 6.3 DAO 6 合ƒproposalPassed 布尔值,是否Ƈ ”数并多数”同意fi。proposalHash 一个用来 fi ¨希值。等sha3_recipient, _amount, _transactionData。proposalDeposit 在⁄一个fi ,创œ者¯须 送 最低 (单位wei)。 来Œ在调用newProposal msg.value; 是防止 圾fi。 ⁄ 置为20个 太币,但是fi 创œ者 送 多 。øSlock.it,在GUI页面,fi会按照 数ˇ来 列显示,所 一个fi«⁄为 ˝ ,fi 创œ者 支 多 来£传 fi。 Ƈ ”数, 笔 会全Ł fi 创œ者, ¡有Ƈ , 笔–会 留在DAO中。newServiceProvider 布尔值, fi用来指服¡ „则为true。splitData 数据用来分 DAO。 需一个 服¡„, 数据˛fi中收˘。yea 赞成fi ª币数。nay ˝øfi ª币数。votedYes 一个 单 mapping用来 一个ª币持有者是否 ˇ 赞成票。votedNo 一个 单 mapping用来 一个ª币持有者是否 ˇ ˝ø票。creator 创œfi ª币持有者 地址。分 数据 体用 分 DAO。 包 splitBalance 当前DAO 余 ˇ»在分 fi 。totalSupply 在分 DAO中存在 总 。rewardToken 在分 有DAO 有 奖–ª币 。newDAO DAO地址( ¡有 œ则为0)是所有 成员 ˇ, 会在区块 上 存在智 合ƒ中。 个Æ息 在ß何 使用 太坊 ¢户 ˛区块 上ß œ来。在我 来 ˘地currency1”DAO合ƒ中 数。合ƒ中 多成员 ˇ«地 义在其 三个合ƒ中 一个。有一个特 数,我 之为 体。 有作为DAO合ƒł同 名 。 个 数在DAO创œ ,Œ执行一次。在DAO 体中,下 ˇ将会« 置serviceProviderdaoCreatorproposalDepositrewardAccountminValueclosingTimeprivateSale为 智 合ƒ⁄ ,需 使用 下 数fallback functionfallback 数是一个¡有指 数名 数。当合ƒ¥ 到一个¡有数据 ⁄易 (单fl 值转ß), 数会«调用。 个 数¡有 ¥ ´数。fallback 数在 售阶 ,会调用buyTokenProxy,并 送者 地址作为´数。 会 ¸即购买ª币。为 ⁄用户,在 售阶 束后 40天, 个 数会将¥ 到 太币 送者。 个 数«˝ 调用,使用receiveEther 数用来¥ 太币作为DAO 。payDAO个 数用来¥ 踪DAO众筹§§生 奖–, 太币 ˇ« 入rewards则 true。ø Slock.it来†, 奖–是在SlocksŁ署 使用 候生成 。太坊中 社区 www.ethfans.org 6.3 DAO 6 合ƒreceiveEther一个 单 数用来¥ 太币。 么也不做,Œ是当DAO¥ 到 太 true。newProposal个 数用来创œ一个 fi。 数 ´数下recipient 在fi中 太币¥ 者 地址(¯须是DAO地址Œæ,当前 服¡ „或者在allowedRecipients白名单 地址)。amount 送 fi⁄易地址 ,单位为wei。description fi ˇ 。transactionData fi⁄易 数据。debatingPeriod currency1”fi 数据,一般fi 少 两个星期, 是 服¡ „ 少是10天。newServiceProvider 布尔值, 义fi是否是关 服¡ 。checkProposalCode个 数用来 个fiID是否符合一个⁄易。 个 数 ´数 下proposalID fiID。recipient fi⁄易 ¥ 者地址。amount 送 fi⁄易 ,单位wei。transactionData fi协fi 数据。recipient,amount,transactionData匹配fiID, 个 数会 true,否者false。 用来 fiID是否匹配DAOª币持有者支持 ø象。vote个 数用 fi 票。 ´数有proposalID fiID。supportsProposal 布尔值用来表示ª币持有者是否支持fi。个 数用来 送着是否 ˇ 票 fi是否˝ 票。 两个条 Ƈ,会 录 票到合ƒ storage中。«用 票 ª表会«锁 ,意味着 不 «转ß,一 到fi«关 。 会避免使用不同 送地址 票数次。cuteProposal个 数 «ß何”调用。 录 票数,用来 是否Ƈ 数, 通˙会执行,除非 一个 服¡ 商 fi,否则 么也不做。 个 数 ´数有proposalID fiID。transactionData fi 数据 „。个 数 票 截止 是否到 ,transactionData是匹配fiID 。 会数see Eq.1是否«Æ‡,是否fi«多数 票同意。 是,执行fi,并 fi 。 数Ƈ,但是fifi«多数 票”否‡,fi 会«,fi关 。splitDAO在一个 服¡ 商«fi ,在currency1”阶,ª币持有者 赞成或者˝øfi通˙, 个 数«ˇ一 »开当前 DAO而» DAO («fi 服¡ 商)ª币持有者调用。 个 数 œ一个 DAO,并将转ߣ分 太币 Ł分奖–ª币到 DAO。´数有proposalID fiID。太坊中 社区 www.ethfans.org 6.3 DAO 6 合ƒnewServiceProvider DAO fi商 地址。ˇ˙合理性 后(ª码), 个 数会 œ一个 DAO, ¡有使用daoCreator合ƒ œ , 分 数据存currency1到fi中,并且存currency1 DAO地址到分数据中。 个 数将会ßcurrency1 数调用者 Ł分 太币,˛ DAO到 DAO地址中。太币 数ˇ 为 sender ,用wei表示,¡ 下sender DAO TsenderTtotal 4Tsender是 数调用者 ª币数ˇ, DAO是DAO在分 余 。 际上是«用 购买 œDAO ª币, DAO œ 刚好就是 有 DAO 资 。 外奖– ª币Rsender也会«转ß到 DAO中»。¡ „ 下Rsender RDAO TsenderTtotal 5RDAO是 有 DAO在分» 奖–ª币总。 ª币允‚ DAO Ł分奖–,使用 有DAO getMyReward 数。在 个˙程 最后, 个 送者账户 所有 有DAOª币会销。transfer and transferFrom数˝载 来在Token合ƒ 。 也调用 在Token合ƒ transfer / transferFrom 数,但是 外地 转ß关 Ł分ª币ł关 ˇ支 奖–,使用transferPaidOut 数 。transferPaidOut当转ßDAOª币使用transfer或transferFrom数 , paidOut数˜用来 录 ˇ支奖– P,¡ 下P Pfrom TamountTfrom 6Pfrom是 ˇ退 到 送from地址( 送者)总 太 ,Tamount 是转ß 总 ª币,Tfrom是 送者from 有 ª币。transferWithoutReward and transfer-FromWithoutRewardtransfer,transferFrom一样,但是会在之前调用getMyReward。getMyReward调用withdrawRewardFor,并 送者为´数。 用来˛rewardAccount中 属 送者 奖–Ł分。withdrawRewardFor个 数用来 在rewardAccount中 属 ´数中 地址 Ł分。 奖–ª币Ł分S,¡ 下S RDAO TsenderTtotal Rsender 7RDAO是DAO 奖– ,Tsender是 送者 有 DAOª币。Rsender会一 是0,除非 送者是一个˛ DAO分 œ DAO,并且 有Œæ 奖–ª币(˛分»中)。 reward 太数ˇ是 送 DAO ª币持有者 ,¡数reward rewardAccount SRtotal paidOut[sender]8rewardAccount是rewardAccount¥ 到 总 奖–, Rtotal是 ˇ§生 奖–ª币 总ˇ, ”是分 totalRewardToken 是 paidOut[sender] 是 wei为单位 , ˇ支 到DAOª币持有者。奖– ª币会在8小 一步阐 。addAllowedAddress个 数 一个地址到白名单allowedRecipients。Œ «服¡ 商执行。太坊中 社区 www.ethfans.org 6.4 Managed Account 7 REWARD TOKENShalveMinQuorum最小最小 数在 ˙52周¡有Ƈ ,«minQuorumDivisor 倍。numberOfProposalsˇ œ fi总数。isBlocked当作为´数 地址,在转ߪ币 , 为正在´与 行中 票«阻止, true,否则false。changeProposalDeposit个 数改 ´数proposalDeposit。 Œ«DAO,通˙«多数ª币持有者 票通˙fi» 改。6.4 Managed Accountcontract ManagedAccountInterface {address public owner;uint public accumulated;function payOutaddress _recipient, uint _amount returns bool;event PayOutaddress _recipient, uint _amount;}个合ƒ用来¡理奖– extraBalance( 5 ª˚)。 有两个成员 ˇ地址 ˇowner,是 有 账户 权限 唯一地址(在我 案 中是DAO),也 使用payOut 数 送 太币到其 账户。整 accumulated,表示当前 送到 个合ƒ 总 太币数ˇ( wei为单位)。当合ƒ收到一笔 数据 ⁄易(单fl 值转ß) , 调 数«调用。 个 数¡有 ¥ ´数。当 «调用, 会¡ 收到 太数ˇ,然后将 存currency1到accumulated。数payOutŒ «owner(在我 场景下指DAO)执行。 有两个´数¥ 者 数ˇ。用来 送recipient amount。 用来 送wei为单位 amount到¥ 者recipient,在DAO合ƒ中«getMyReward调用。7 Reward Tokens在 我 会ˇ 奖–ª币 何在合ƒ中 作 。多数 „ ˇ«ª˚˙,但是 为 清晰起
展开阅读全文

最新标签

网站客服QQ:123120571
环境100文库手机站版权所有
经营许可证编号:京ICP备16041442号-6