Fabric V1 交易的生命周期
Fabric v1 Transaction Lifecycle
1 Client application creates tran proposeal (chinacode function and arguments) and sends to endorsing peer(s).
2 Endorsing peer executes chinacode,generates ReadWriteSet based on keys that were read and written.
3 Endorsing peer(s) send back proposal response(including ReadWriteSet) to client application
4 Client application may or may not submit as a transaction to ordering service.Transaction includes ReadWriteSet from proposal response
5 If client application submitted as transaction,ordering service packages the transaction into a block of ordered transactions.
6 Blocks are delivered to committing peers(including the original endorsing peers).
7 Committing peer
-runs validation logic(VSCC to check endorsement policy,and MVCC to check that ReadSet versions haven't changed in State DB since simulation time)
-indicates in block which trans are valid and invalid.
-commits block to blockchina on file system,and commits valid transactions within block to state database 'atomically'
-fires events so that application client listening via SDK knows which transactions were valid/invalid
1 、客户端应用 创建一个交易标的(链码方法和参数) 并且发送到认证节点;
2、 认证节点执行链码,生成基于密钥的读写设置操作。
3、 认证节点返回标的信息(包括读写设置)给客户端,
4、 客户端可以采取 提交或者不提交交易到订阅服务。交易信息包括 从上述返回答复的读写设置。
5、如果客户端提交了交易,订阅服务将交易包装成一个交易块。
6、将快传递给提交者节点(包括原始认证节点)。
7、提交节点
-运行校验逻辑(VSSCC 校验认可担保协议,MVCC去校验读写版本时还没有改变区域数据库直到模拟时间)
-指示那些块是有效还是无效
-提交块到区块链的文件系统,提交有效的交易到块里从而自动改变数据库
-触发事件,以便应用程序侦听器通过SDK知道哪些事务是有效的/无效的
Fabric V1 交易的生命周期的更多相关文章
- Facebook libra开发者文档- 3 -Life of a Transaction交易生命周期
Life of a Transaction交易的生命周期 https://developers.libra.org/docs/life-of-a-transaction 为了更深入地了解Libra交易 ...
- Facebook币Libra学习-2.交易生命周期
交易生命周期 为了更加深入的理解Libra的交易生命周期,我们将跟随一个交易的全过程,从其被提交到Libra validator始,直至其被添加到区块链上止.我们将“放大”来看每个validator逻 ...
- Libra教程之:Transaction的生命周期
文章目录 Transaction的生命周期 提交一个Transaction 交易入链的详细过程 接收Transaction 和其他Validators共享这个Transaction 区块Proposi ...
- MVC网址路由与生命周期
这篇写得比较详细,所以我收藏一下. 转载自: http://www.cnblogs.com/Eleanore/archive/2012/11/23/2783061.html 一.网址路由 1.1 比 ...
- [转]JAVA虚拟机的生命周期
JAVA虚拟机体系结构 JAVA虚拟机的生命周期 一个运行时的Java虚拟机实例的天职是:负责运行一个java程序.当启动一个Java程序时,一个虚拟机实例也就诞生了.当该程序关闭退出,这个虚拟机实例 ...
- Android开发--Activity生命周期回顾理解
Activity和Servlet一样,都用了回调机制.我们通过类比servlet来学习Activity.当一个servlet开发出来之后,该servlet运行于Web服务器中.服务器何时创建servl ...
- 从实践谈iOS生命周期
从实践谈iOS生命周期 个人感觉生命周期无论在Android,还是iOS都是很重要的概念,因为在每个声明周期的状态下我们可以做很多预加载或者处理的操作.因此在这里主要总结下ViewController ...
- JVM 类的生命周期、类加载器
类的加载.连接与初始化 • 1. 加载:查找并加载类的二进制数据 • 2. 连接 – 2.1 验证:确保被加载的类的正确性 ...
- django请求生命周期,FBV和CBV,ORM拾遗,Git
一.django 请求生命周期 流程图: 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post, ...
随机推荐
- StatefulSet和Deployment的区别
“Deployment用于部署无状态服务,StatefulSet用来部署有状态服务”. 具体的,什么场景需要使用StatefulSet呢?官方给出的建议是,如果你部署的应用满足以下一个或多个部署需求, ...
- ios中Pldatabase的用法(4)
封装成DAO@implementation SqlHelper +(BOOL)InsertSql:(NSString *)sql paramet:(NSMutableDictionary *)parm ...
- Scribes:小型文本编辑器,支持远程编辑
Scribes是一款简洁的文本编辑器.现在给大家介绍下. 功能列表, Python插件扩展 支持远程编辑(如ftp, sftp, ssh, samba, webdav, webdavs) ...
- 关于使用coreseek并为其做分页的介绍(转)
coreseek 做分页时找数据总量还真不好找.以为他会给一个方法(函数)什么的去获取,结果却不是.首先需要了解:num_matches: 当前返回的结果数,<= limit设置值.max_ma ...
- Git 分支(分布式版本控制系统)
前言 几乎所有的版本控制系统都以某种形式支持分支.使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线.在很多版本控制系统中,这是一个略微低效的过程--常常需要完全创建一个源代码目录的 ...
- DSYMTools App Bug 分析工具
1.DSYMTools 简介 DSYMTools 是一个可以解析 iOS Crash 文件的工具. GitHub 下载地址 DSYMTools 其它下载地址 DSYMTools v1.0.5 for ...
- 《JAVA与模式》之模板模式(转载)
模板方法在servlet中的应用:http://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html 原文出处:http://blo ...
- Oracle 12C -- in-database archiving
在同一张表中,通过将row置为inactive状态来实现数据的归档.数据库中,可以对那些inactive row进行压缩优化.在实现归档的同时,应用可以被限制只访问那些active状态的数据.默认情况 ...
- High-speed Charting Control--MFC绘制图表(折线图、饼图、柱形图)控件
原文地址:https://www.codeproject.com/articles/14075/high-speed-charting-control 本文翻译在CodeProject上的介绍(主要还 ...
- Database Vault Administrator的使用
第一次安装Database Vault的时候,先安装好了Database Vault.然后才安装的EM.发现,根本无法訪问<span><span>Database Vault ...