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知道哪些事务是有效的/无效的

时间: 2024-10-10 22:04:51

Fabric V1 交易的生命周期的相关文章

Facebook币Libra学习-2.交易生命周期

交易生命周期 为了更加深入的理解Libra的交易生命周期,我们将跟随一个交易的全过程,从其被提交到Libra validator始,直至其被添加到区块链上止.我们将“放大”来看每个validator逻辑组件及与其他组件之间的交互. 客户端提交交易 Libra客户端构造 原始交易 (此处称为T5raw),从Alice的账户中转移10Libra币到Bob的账户中.原始交易应包含以下字段:每个字段都通过超链接关联到词汇定义表. Alice的账户地址. 一个表明Alice方将执行的操作的程序,包括: 一

从实践谈iOS生命周期

从实践谈iOS生命周期 个人感觉生命周期无论在Android,还是iOS都是很重要的概念,因为在每个声明周期的状态下我们可以做很多预加载或者处理的操作.因此在这里主要总结下ViewController和AppDelegate中的一些状态. 应用程序的状态 看下这个图: Foreground :前台 Background :后台 Not running:应用程序并没有启动 Inactive :应用程序运行在前台但是没有接收到事件响应 Active :应用程序运行在前台接受到事件响应 Backgro

APP用户的生命周期价值(LTV)

什么是APP用户的生命周期及价值: 生命周期是指一个主体从开始到结束的发展过程,比如人生老病死的整个过程.APP用户的生命周期可以解释为用户从与APP建立关系开始到与APP彻底脱离关系的整个发展过程.生命周期价值(Lifetime Value,简称LTV)是指一个主体在整个生命周期中创造的价值总和.APP用户的生命周期价值可以理解为用户在与APP发生联系的整个生命周期中为APP带来的价值总和. APP用户生命周期分析: 不同于其他软件形式,对于APP产品用户的整个生命周期来说,一般会经历下图所示

python---django请求-响应的生命周期(FBV和CBV含义)

Django请求的生命周期是指:当用户在访问该url路径是,在服务器Django后台都发生了什么. 客户端发送Http请求给服务端,Http请求是一堆字符串,其内容是: 访问:http://crm.oldboy.com:8080/login.html,客户端发送Http请求 1.路由映射,匹配路由(从上到下,匹配到就停止),对应相应views中的业务函数 url(r'^login.html', views.login), 2.匹配成功后,执行views下的对应函数:(FBV) def login

kubernetes部署全生命周期实践(一)

kubernetes部署全生命周期实践(一) - 1.部署应用 kubectl run kubernetes-bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1 --port=8080 - 2.映射外部可以访问的端口 kubectl expose deployment kubernetes-bootcamp --type="NodePort" --port 8080 - 3.查看服务 kubectl get servi

Kubernetes之Pod的生命周期

目录 Kubernetes之Pod的生命周期 理解Pod Pod内如何管理多个容器 Pod的使用 其他替代选择 Pod的持久性 Pod的终止 Init容器 Pause容器 Pod的生命周期 Pod的phase Pod的状态 容器探针 存活性探测 livenessProbe 就绪性探测 readnessProbe livenessProbe和readinessProbe使用场景 lifecycle Kubernetes之Pod的生命周期 理解Pod Pod是kubernetes中你可以创建和部署的

k8s-pod的生命周期

1.pod资源-spec.containers - name:镜像运行起来之后叫容器,该字段为容器名 image:镜像名字 imagePullPolicy:表示从哪拉取镜像, Always:不管本地有没有镜像,都要从仓库中下载镜像,也就是说,即使本地有镜像了,也不使用本地镜像,而是从仓库下载; Never:从来不从仓库下载镜像,也就是说本地有镜像就用,没有就算了; IfNotPresent:如果本地存在就直接使用,不存在才从仓库下载,默认的策略是:当镜像标签版本是latest,则策略是Alway

k8s的Pod状态和生命周期管理

Pod状态和生命周期管理 一.什么是Pod? 二.Pod中如何管理多个容器? 三.使用Pod 四.Pod的持久性和终止 五.Pause容器 六.init容器 七.Pod的生命周期 (1)Pod phase(Pod的相位) (2)Pod的创建过程 (3)Pod的状态 (4)Pod存活性探测 (5)livenessProbe和readinessProbe使用场景 (6)Pod的重启策略 (7)Pod的生命 (8)livenessProbe解析 一.什么是Pod? Pod是kubernetes中你可以

Python Django 生命周期 中间键 csrf跨站请求伪造 auth认证模块 settings功能插拔式源码

一 django 生命周期 二 django中间键 1.什么是中间键 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入和输出.每个中间件组件都负责做一些特定的功能. 简单来说就相当于django门户,保安:它本质上就是一个自定义类,类中定义了几个方法. 请求的时候需要先经过中间件才能到达django后端(urls,views,templates,models): 响应走的时候也需要经过中间件才能到达w