智能合约设计模式

智能合约的开发不同于传统程序,具有一些自身的特点和规律。以前看到过一篇介绍Solidity模式的文章,感觉里面总结的不少模式对于各种合约语言开发都有帮助。特整理翻译其中具有共性的模式,并在最后增加推而广之一节总结此模式在通用智能合约中的应用,希望对合约开发者有所帮助。

本文介绍的每个模式都含有实例代码(Solidity 0.4.20)和详细说明。

守卫检查 - 保证智能合约的行为和入参符合预期

访问限制 - 根据适当条件禁止访问合约功能

状态机 - 确保合约不同状态暴露不同的功能

预言机 - 访问区块链外的数据

随机数 - 在确定性的区块链环境中生成指定范围的随机数

拉代替推 - 把转账风险从合约端移到客户端

紧急停止 - 在紧急情况时可以关闭合约关键功能

原文中还有一些模式只适用于Solidity开发,参见Solidity开发模式系列。

参考文章

Solidity Patterns

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文为智能合约设计模式系列的一部分。 目的 确保合约不同状态暴露不同的功能 动机 合约的生命周期从初始状态开始,经...
    李桐2000阅读 6,740评论 0 1
  • 本文为智能合约设计模式系列的一部分。 目的 在紧急情况时可以关闭合约关键功能 动机 即使是经过严格审核和测试的代码...
    李桐2000阅读 4,853评论 0 0
  • 本文为智能合约设计模式系列的一部分。 目的 访问区块链外的数据 动机 以太坊上的每个计算需要网络中的每个参与节点验...
    李桐2000阅读 3,244评论 0 0
  • 本文为智能合约设计模式系列的一部分。 目的 根据适当条件禁止访问合约功能 动机 由于区块链固有的公开性,无法保证合...
    李桐2000阅读 5,027评论 0 1
  • 今天和好朋友下午茶。一到家,拉宝就开始发嗲蹭来蹭去,把我引到自己的水碗前,可怜兮兮地看着我。 碗里有水,为什么不喝...
    HelenisHelen阅读 3,047评论 3 5