1. Docker

Docker 是一个开源的应用容器引擎, 开发者可以将他们的应用及依赖包打包到一个可移植的镜像中,也可以实现虚拟化。

  • 完全使用沙箱机制,相互之间不会有任何接口。
  • 在超级账本中,智能合约的代码在使用任意的语言编写之后,将会被编译器打包进Docker镜像中,以容器作为执行环境。

2. 链码

2.1 所有的链码都继承两个接口,Init和Invoke。

Init接口
用于初始化合约,在整个链码的生命周期里该接口仅仅执行一次。
Invoke接口
编写业务逻辑的唯一人↵虽然只有一个入口,但是可以根据参数传递的不同自由区分不同业务逻辑。

2.2合约接口能够获取的数据主要分为三类:

  • 输人参数获取
    这个直接就是调用时候的输入。
  • 与状态数据库和历史数据库交互
    在合约层,可以将区块链底层当作一个键值对数据库,合约就是对数据库中值的增删改查。
  • 与其他合约的交互
    在合约执行的过程中,可以与其他合约交换数据。有了这种形式的数据获取方式,其实就可以将联系不紧密的业务逻辑拆分为多个合约,只有必要的时候跨合约调用。

3.Raft协议

Raft是一个管理复制日志的共识算法。

step1. 客户端向主节点发送请求,主节点收到后将请求追加到日志中,并将该请求发送给所有的跟随节点,跟随节点也会将请求追加到自身的日志中并返回一个确认消息。
step2. 当主节点接收到大部分跟随节点的确认消息,就会将命令日志提交给状态管理机。
step3. 一旦主节点提交了日志,跟随节点也会将日志提交给自身管理的状态机。
step4. 最后主节点向客户端返回响应结果。

Raft并不是拜占庭共识,它仅仅需要容忍2n+1个节点中不超过n个的非拜占庭故障(Fabric的联盟链数字证书等安全机制确保恶意节点的可能性不高)

智能合约重构社会契约(9)Fabric相关推荐

  1. 智能合约重构社会契约 (5)比特犬模型实现智能合约

    1. 设计思想 针对法律.司法执法应用场景,将智能合约的许多问题简化, 在智能合约的自然语言处理.形式化方法.软件测试方面,突出智能合约的核心功能,降低使用智能合约的门槛,使其可靠且高效. 2.模型驱 ...

  2. 智能合约重构社会契约 (2)雅阁项目智能合约

    1. 雅阁项目有三个主要思想 文本合同到可计算合同:主要目的是从静态的文本合同,以自然语言和文件为主,到动态,数字化,电子文档和证据集成的系统.电子签名仅仅是向本合同迈进的开始. 合同高科技:雅阁项目 ...

  3. 智能合约重构社会契约 (1)李嘉图合约

    1. 定义 智能合约是机器可读的指令集,而李嘉图合约是指明智能合约所遵循的指令意图的文件. 1.1 李嘉图合约前面的部分看起来像普通的软件合同. 1.2 由于加密签名,李嘉图合约极其安全.每个李嘉图合 ...

  4. 智能合约重构社会契约(12)天秤币

    1. 定义 一种稳定的数字加密货币,并将全部使用真实的资产储备进行担保.与大多数加密货币波动剧烈不同,天秤币将使用低波动性的资产作为抵押来保证天秤币价值的稳定 账户规模数十亿 需要极高的交易吞吐量和低 ...

  5. 智能合约重构社会契约(11)天德区块链智能合约系统

    智能合约是可以运行在区块链上的合约代码,是一种运行在区块链之上的电子协议,它允许在没有第三方的情况下进行可信执行. 1. 设计原则 智能合约数据来源于链上. 智能合约的输人是从区块链的数据库里出来的. ...

  6. 智能合约重构社会契约(10)超级账本之跨链Hyperledger Lab

    1. 定义 Hyperledger Lab定义了一种通信模型,允许许可链生态系统独立于平台交换任何链上数据或者自定义资产.它为每个可互相操作的区块链网络引人了"互操作性验证者"(i ...

  7. 智能合约重构社会契约(8)以太坊分片

    1. 定义 使用场景:以太坊的同构链跨链需求 分片定义:将所有节点分配到多条区块链中,每条区块链只需要处理网络中工作的部分. 分片效果:提高了以太坊的处理效率 分片问题:增加了链与链之间信息交互的困难 ...

  8. 智能合约重构社会契约(7)以太坊总结

    1. 智能合约相关 合约账户和外部账户分开 合约账户对外部账户一律平等,即使是发起该合约创建请求的外部账户也没有对合约账户的特殊权限. 合约只有在交易调用时才会运行:使用地址对象或者msg对象来调用合 ...

  9. 智能合约重构社会契约(6)赛迪智能合约安全标准

    1. 安全实施框架 根据运行机制可分为运行与规划.合约创建.安全审计.合约触发.合约运行.合约废止六个阶段. 2. 编译部署安全要求 区块链系统应校验智能合约的编译实体.写入策略和签名内容. 区块链系 ...

最新文章

  1. 大学毕业了,你是否需要需要职业化培训!
  2. iOS开发--TableView详细解释
  3. 计算机巧用剪纸做画册教案,3 巧折巧剪教案公开课一等奖
  4. Mariadb学习总结(十二):复合语句和流程控制
  5. 【毕业设计】JSP网络在线考试系统设计(源代码+论文)
  6. 基于TI AM335x创龙开发板的快速体验
  7. c语言枚举如何当函数返回值,C语言学习五 — 数组与枚举
  8. 在Linux下轻松搭建自己的DNS服务器
  9. 入门神经网络优化算法(六):二阶优化算法K-FAC
  10. 梧桐树王牌产品金玉满堂增额终身寿险下架在即,资产焦虑就买它
  11. 2019年2月星环科技大数据应用开发面试(2年工作经验)
  12. 上海/深圳/香港内推 | 商汤科技EIG研究中心招聘AI算法研究员/实习生
  13. 副业赚钱的路子有哪些?分享6种较为实用的副业方式
  14. linux取消线程的原理,linux线程的取消(终止)方法
  15. 办公本推荐计算机专业,2021年办公本/全能笔记本电脑选购指南(附良心机型推荐)...
  16. 我是如何在知乎上赚钱的?真实经验分享,可操作性强
  17. XT711 WIFI连接正常 却无法上网的解决办法
  18. php codeigniter 设置编码,php – Codeigniter和charsets
  19. 口令攻击实验V2.0
  20. 基于粒子群优化的BP神经网络(分类应用) - 附代码

热门文章

  1. jQuery-给ul添加了li之后,添加的li并没有绑定点击监听怎么办?
  2. Java 洛谷 P1424 小鱼的航程(改进版)
  3. linux terminal教程,Linux入门教程 - 如何记录和重放Linux终端会话
  4. matlab基本运算实验报告,实验2 Matlab的基本运算实验报告
  5. 哈工大机器人 王猛_人物特写:“去年一年,我就飞了160多次”——哈工大机器人集团“80后”执行总裁成长小记...
  6. 沈阳大学计算机系教师,张春芳(信息工程学院)老师 - 沈阳大学 - 院校大全
  7. python str转dict_在python中将str转换为dict
  8. Py之easygui:easygui的简介、安装(最正确安装)、使用方法之详细攻略
  9. Python基础 --- 使用 dict 和 set
  10. 在项目中增加task定时任务