http://www.7klian.com

以太坊代币安详宣布最佳实践操纵

        (… your logic …)
    {
· 已审阅代码的人员(及其要害反馈)。
汗青记录
当启动一个将有大量资金或需要要害任务的智能合约时,,必需包罗适当的表明文件和安详相关的文档包罗:
· EIP721尺度
还要思量防备代币转移到智能合约的同一地点。
        validDestination(_to)
    function transferFrom(address _from, address _to, uint _value)
留意在EIP-20上的前端进攻
状态
一般来说,代币的智能合约应遵循公认且不变的尺度。
        _;
防备将代币传传输合约地点
    }
· 发明Bug时的动作打算(譬喻,紧张选项,民众通知流程等)。
切合最新尺度
措施文件
· 措施员和/或其他重要人员的姓名。
· 推出打算,个中包罗此处列出的具体信息以及方针日期。
防备将代币传输到0x0地点
实施上述两项发起的一个示例是建设以下修饰符;验证“to”地点既不是0x0也不是智能合约本身的地点:
在编写本文时,“零”地点(0x0000000000000000000000000000000000000000)包括值高出8000万美元的代币。
· 可以提问的谈天室。

· 认真任的披露政策(譬喻在那里陈诉发明的Bug,任何Bug赏金打算的法则)。
今朝接管的尺度有:
· 假如呈现问题,请竣事流程(譬喻出资者会在进攻前从剩余资金中得到余额的百分比)。
示例:
· 编译器版本,利用的符号以及用于验证陈设的字节码的步调与源代码匹配
        require(to != address(0x0));
然后将修饰符应用于“ transfer”和“ transferFrom”要领:
    }
        (… your logic …)
接洽信息
· 产生妨碍时的追索权(譬喻保险,罚款基金,无追索权)。
    {
        returns (bool) 
· EIP20尺度
规格和推出打算
        require(to != address(this) );
· 许多bug都可以从类型中找到,从而低落修复它们的本钱。

代币宣布时应遵循其他最佳实践履历,但也要有一些奇特的留意事项。
· 所有已知Bug/限制。
· 谁来处理惩罚问题。
  modifier validDestination( address to ) {
· 智能合约的主要风险。 (譬喻, 你大概会丢掉所有的钱,黑客大概会通过投票支持某些功效)
· 已陈设代码的当前状态(包罗未决问题、机能统计等)
 function transfer(address _to, uint _value)
EOS代币智能合约就是个中一个大概造成损失的例子,个中高出90,000个代币被卡在合约地点上。
· 当前代码的陈设位置。
        validDestination(_to)
紧张措施
已知的问题
· 将用于差异阶段的编译器版本和符号
· 类型,图表,状态机,模子和其他文档,可辅佐审核员,审阅者和社区相识系统的意图。
EIP-20令牌的approve()函数为核准的支出者缔造了超出预期金额的大概性。可以利用前端进攻,使核准的支出者可以在处理惩罚对approve()的挪用之前和之后挪用transferFrom()。
    }
        returns (bool) 
· 测试(包罗利用环境统计信息,发明的Bug,测试时间)。
· 潜在的好处斗嘴。(譬喻,筹集的Ether将纳入本身的腰包,像Slock.it与DAO一样)
· 潜在的进攻息争决要领。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读