Hyperledger Fabric Endorsement policies——背书策略
背书策略
背书策略用于指导peer如何确定交易是否得到了的认可。当一个peer接收到一个事务时,它会调用与事务的Chaincode相关联的VSCC(验证系统链代码),作为事务验证流程的一部分,以确定交易的有效性。一个交易包含了一个或多个peer背书节点中的背书支持。VSCC的任务是做出以下决定:
- 所有的背书都是有效的(也就是说,它们是有效的签名,而不是预期的消息)。
- 有适当数量的背书
- 背书来自预期的来源(s)
背书策略指的是第二和第三点其中的一种方式。
CLI中的背书策略语法
在CLI中,使用一种简单的布尔表达式语言来表达对主体的背书策略。
一个主体被描述为MSP,它的任务是验证签名者的身份,以及签名者在MSP中所扮演的角色。目前,支持两个角色,即成员和管理员。角色组成,MSP必须承载MSP ID,角色是成员和管理员两个字符串之一。例如一个有效的主体是“Org0.admin”(任何组织的任何管理员)或是Org1.member(任何组织的成员)。
该语言的语法是:
EXPR(E[, E...])
EXPR使用AND或者OR其中之一作为表达式,E要么是一个主体(上面描述的是语法),要么是另一个对EXPR的嵌套调用。
例如:
- AND('Org1.member', 'Org2.member', 'Org3.member')三个主体必须同时背书并认可签名
- OR('Org1.member', 'Org2.member')两个主体中的任意一个背书并认可签名
- OR('Org1.member', AND('Org2.member', 'Org3.member'))主体1背书并认可签名或者主体2和主体3同时背书并认可签名
为chaincode指定背书策略
使用这种语法,chaincode部署人员可以请求对chaincode的背书在指定的策略上进行验证。注意-默认策略需要一个来自默认MSP的成员的签名。如果在实例化chaincode时,在CLI中没有指定策略,则使用此方法。
可以在实例化时使用“-P”关键词指定策略,然后执行策略。
例如:
peer chaincode instantiate -C <channelid> -n mycc -P "AND('Org1.member', 'Org2.member')"
这个命令使用 AND('Org1.member', 'Org2.member') 背书策略来部署chaincode mycc,该策略要求Org1和Org2的成员两个都必须签署事务。
Hyperledger Fabric Endorsement policies——背书策略的更多相关文章
- Hyperledger Fabric Chaincode for Operators——实操智能合约
什么是Chaincode(智能合约)? chaincode是一个程序,它是使用Go语言编写的,最终在Java等其他编程语言中实现了指定的接口.chaincode运行在一个被背书peer进程独立出来的安 ...
- 区块链学习7:超级账本项目Fabric中的背书、背书节点、背书策略、背书签名
☞ ░ 前往老猿Python博文目录 ░ 在Hyperledger Fabric区块链中,有背书节点进行背书,Hyperledger Fabric 使用背书策略来定义哪些节点需要执行交易. Hyper ...
- Hyperledger Fabric 架构梳理
区块链的数据结构 State数据结构 由peer维护,key/value store Ledger 记录了所有成功和不成功的状态更新交易.Ledger被ordering service构造,是一个全 ...
- hyperledger fabric共识组件分析 --背书策略
在fabric中,共识过程意味着多个节点对于某一批交易的发生顺序.合法性以及它们对账本状态的更新结构达成一致的观点.满足共识则意味着多个节点可以始终保证相同的状态,对于以同样顺序到达的交易可以进行一致 ...
- 第6章 Hyperledger Fabric模型
This section outlines the key design features woven into Hyperledger Fabric that fulfill its promise ...
- Hyperledger Fabric链码之三
在<Hyperledger Fabric链码之一>和<Hyperledger Fabric链码之二>中我们介绍了链码的定义,并通过dev网络测试了测试了自己编写的链码程序. 本 ...
- 三、主流区块链技术特点及Hyperledger Fabric V1.0版本特点
一.Hyperledger fabric V1.0 架构 1.逻辑架构: 2.区块链网络 3.运行时架构 二.架构总结 1.架构要点 分拆Peer的功能,将Blockchain的数据维护和共识服务进行 ...
- Hyperledger Fabric 1.2 --- Chaincode Operator 解读和测试(一)
前言 本文主要目的是用于整理Hyperledger Fabric中关于chaincode 管理和操作的内容,作者以release-1.2为范本进行讲解. 主要参考链接: https://hyperl ...
- 003-主流区块链技术特点及Hyperledger Fabric V1.0版本特点
一.Hyperledger fabric V1.0 架构 1.逻辑架构: 2.区块链网络 3.运行时架构 二.架构总结 1.架构要点 分拆Peer的功能,将Blockchain的数据维护和共识服务进行 ...
随机推荐
- HashTable源码阅读
环境jdk1.8.0_121 与HashMap有几点区别 在HashMap中,冲突的值会在bucket形成链表,当达到8个,会形成红黑树,而在HashTable中,冲突的值就以链表的形式存储 publ ...
- Codeforces #448 Div2 E
#448 Div2 E 题意 给出一个数组,有两种类型操作: 选定不相交的两个区间,分别随机挑选一个数,交换位置. 查询区间和的期望. 分析 线段树区间更新区间求和. 既然是涉及到两个区间,那么对于第 ...
- 9、ABPZero系列教程之拼多多卖家工具 拼团提醒类库封装
本篇开始正式做功能,我在开发拼团提醒之前,拼多多并没有放出拼团人数不足就提醒卖家的功能. 有这个想法主要来源于朋友的抱怨,我想这应该是大部分卖家的心声吧. 经过分析,拿到了几个api,不要问我api怎 ...
- Centos7 Zookeeper
本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.写在前面 ZK是一个高效的分布式协调服务,高可用的分布式管理协调框架. 朋友推荐一本书& ...
- 51 Nod 1008 N的阶乘 mod P【Java大数乱搞】
1008 N的阶乘 mod P 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %) 例如:n ...
- Spring Boot实战:静态资源处理
前两章我们分享了Spring boot对Restful 的支持,不过Restful的接口通常仅仅返回数据.而做web开发的时候,我们往往会有很多静态资源,如html.图片.css等.那如何向前端返回静 ...
- JS实现单选按钮回显时页面效果出现,但选中单选框的值为空
最近做了很多前端页面的工作,遇到的一个感觉很头疼的问题在这里记一下: 经常用JS回显单选框,但是明明从页面效果上来看,单选框已经被选中了,可是却不能触发单选框的change事件,取值的时候用某种方法取 ...
- zzuli oj 1135 算菜价
题目: Description 妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐.现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵. Input 输入含 ...
- Visual SVN Server启动失败0x8007042a错误
载. 今天在程序VisualSVNServer界面中启动服务时,报错如下: VisualSVNServerServer service failed to start:服务已返回特定的服务 ...
- 《HelloGitHub》第 22 期
公告 年前最后一期,下次就是年后了,老时间 每月的 28 号,年后见- <HelloGitHub>第 22 期 兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 G ...