Hyperledger Fabric系统链码介绍
在Hyperledger Fabric中,LSCC(Lifecycle System Chaincode)、CSCC(Chaincode System Chaincode)、QSCC(Query System Chaincode)、ESCC(Endorsement System Chaincode)和VSCC(Validation System Chaincode)是五个重要的系统链码。它们各自承担着不同的功能和责任,共同构成了Hyperledger Fabric的核心机制和特性。下面对每个系统链码进行详细介绍:
1. LSCC(Lifecycle System Chaincode):
LSCC是用于管理和控制链码生命周期的系统链码。它提供了一系列操作,用于链码的部署、升级、启用和禁用等。LSCC的主要功能包括:
- 部署链码:LSCC负责将链码安装到Peer节点上,并将其注册到Fabric网络中。
- 升级链码:LSCC允许对已部署的链码进行升级操作,以便应用新的代码或修复漏洞。
- 启用和禁用链码:LSCC允许管理员启用或禁用链码的执行,以控制链码的访问和使用权限。
- 查询链码信息:LSCC提供了查询已部署链码的相关信息,如版本、路径和安装状态等。
2. CSCC(Chaincode System Chaincode):
CSCC用于管理和控制已部署的链码。它提供了查询已部署链码的信息以及对链码的操作接口。CSCC的功能包括:
- 查询已部署链码信息:CSCC提供了查询已部署链码的相关信息,如版本、路径、实例化策略等。
- 安装链码:CSCC负责将链码安装到Peer节点上,并将其注册到Fabric网络中。
- 查询链码定义:CSCC允许查询链码的定义,包括链码的函数和数据结构等。
3. QSCC(Query System Chaincode):
QSCC用于执行一些特定的查询操作,用于获取区块链的状态和元数据。它提供了一些查询接口,包括:
- 查询区块信息:QSCC允许查询特定区块的详细信息,如区块头、交易列表等。
- 查询交易信息:QSCC提供了查询特定交易的详细信息,包括交易的输入输出、签名等。
- 查询账本信息:QSCC允许查询账本的状态和元数据,如当前区块高度、已提交的交易数等。
4. ESCC(Endorsement System Chaincode):
ESCC用于验证和背书交易。在交易的背书阶段,ESCC执行验证逻辑,确保交易满足背书策略和规则。ESCC的主要功能包括:
- 背书交易:ESCC对交易进行验证和背书操作,确保交易满足指定的背书策略。
- 生成背书签名:ESCC负责生成交易的背书签名,作为交易的一部分,用于后续的验证和共识过程。
5. VSCC(Validation System Chaincode):
VSCC用于验证和验证交易。在交易的验证阶段,VSCC执行验证逻辑,确保交易满足共识策略和规则。VSCC的主要功能包括:
- 验证交易:VSCC对交易进行验证操作,确保交易满足共识策略和指定的验证规则。
- 生成验证结果:VSCC生成交易的验证结果,用于确定交易是否通过验证并可以提交到区块链网络。
这些系统链码在Hyperledger Fabric中起着重要的作用,用于管理链码生命周期、查询链码信息、执行验证和背书操作,并提供了核心功能和机制,确保区块链网络的安全性、一致性和可靠性。在开发和部署Fabric网络时,合理理解和使用这些系统链码是至关重要的。
声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。
Author: mengbin
blog: mengbin
Github: mengbin92
cnblogs: 恋水无意
Hyperledger Fabric系统链码介绍的更多相关文章
- [Hyperledger] Fabric系统中 peer模块的 gossip服务详解
最近一直在看fabric系统中的核心模块之一——peer模块.在看peer的配置文件core.yaml的信息时,对其中的gossip配置选项很感兴趣.看了一上午,还是不能明白这个选项到底什么意思呢?表 ...
- Hyperledger Fabric系统架构
- 死磕hyperledger fabric源码|Order节点概述
死磕hyperledger fabric源码|Order节点概述 文章及代码:https://github.com/blockchainGuide/ 分支:v1.1.0 前言及源码目录 Orderer ...
- Hyperledger Fabric链码之三
在<Hyperledger Fabric链码之一>和<Hyperledger Fabric链码之二>中我们介绍了链码的定义,并通过dev网络测试了测试了自己编写的链码程序. 本 ...
- Hyperledger Fabric链码之二
上篇文章中我们介绍了链码的概念,本文中我们将介绍Fabric下链码的编写和测试.我们会通过一个简单例子的方式来阐述链码API的使用. 链码API 每一个链码程序都必须实现一个接口Chainco ...
- Hyperledger fabric 链码篇GO(四)
Hyperledger fabric 链码篇GO(四) fabric中的链码也就是我们区块链所认知的智能合约,fabric中可由nodejs,java,go编写,本篇只针对GO语言编写链码.将详细介绍 ...
- Hyperledger Fabric无系统通道启动及通道的创建和删除
前言 在Hyperledger Fabric组织的动态添加和删除中,我们已经完成了在运行着的网络中动态添加和删除组织,但目前为止,我们启动 orderer 节点的方式都是通过系统通道的方式,这样自带系 ...
- HyperLedger Fabric Introduction——区块链超级账本介绍
介绍 HyperLedger Fabric是一个基于模块化架构的分布式账本解决方案平台,它拥有深度加密.便捷扩展.部署灵活及可插拔等特性.它设计之初的目的是支持不同组件的可插拔实现,并适应整个经济生态 ...
- Hyperledger Fabric链码之一
什么是链码(Chaincode)? 我们知道区块链有3个发展阶段:区块链1.0,区块链2.0,区块链3.0.其中区块链2.0就是各种区块链平台百花齐放的阶段,区块链2.0最大的特点就是智能合约,我们接 ...
- HyperLedger Fabric部署与链码解读
1.Fabric简介 Fabric是超级账本中的一个项目,用以推进区块链技术.和其他区块链类似,它也有一个账本,使用智能合约,且是一个参与者可以分别管理自身交易的系统.它是一个联盟链.Fabric与其 ...
随机推荐
- [C++STL教程]2.queue队列容器,小白都能看懂的讲解!
在学习数据结构的时候我们会听到这样一个词:队列. 本文将介绍STL中的队列:queue 本文仅从入门和实用角度介绍queue的用法,主要针对初学者或竞赛向.如有不严谨的地方欢迎指正!本文长度约2000 ...
- webgl 系列 —— 着色器语言
其他章节请看: webgl 系列 着色器语言 本篇开始学习着色器语言 -- GLSL全称是 Graphics Library Shader Language (图形库着色器语言) GLSL 是一门独立 ...
- vue拖拽排序插件vuedraggable的使用 附原生使用方法
Vue中使用 先下载依赖: npm install vuedraggable -S 项目中引入 import draggable from 'vuedraggable' 注册 components: ...
- 自己定义jquery插件轮播图
轮播图-html <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- ChatGPT搭建AI网站实战
1.概述 ChatGPT是一款基于GPT-3.5架构的大型语言模型,它能够进行自然语言处理和生成对话等任务.作为一款智能化的聊天机器人,ChatGPT有着广泛的应用场景,如在线客服.智能助手.个性化推 ...
- [Java]排序算法>交换排序>【快速排序】(O(N*logN)/不稳定/N较大/无序/仅顺序存储)
1 快速排序 1.1 算法思想 快速排序是由冒泡排序改进而得的. 在冒泡排序过程中,只对相邻的2个记录进行比较:因此,每次交换2个相邻记录时,只能消除1个逆序. 若能通过2个(不相邻)记录的1次交换, ...
- 论文解读( FGSM)《Adversarial training methods for semi-supervised text classification》
论文信息 论文标题:Adversarial training methods for semi-supervised text classification论文作者:Taekyung Kim论文来源: ...
- 互联网常用API收集
百度车联网API:http://lbsyun.baidu.com/index.php?title=car
- Podman Desktop安装与使用-Windows10
Podman Desktop安装与使用-Windows10 下载 containers/podman 地址 Podman Desktop Downloads 地址 我这里演示的是podman-v4.4 ...
- CTFshow愚人杯-被遗忘的反序列化
这题虽然只有100的分值,但是我觉得它涉及到的东西还蛮多的,写个随笔记录一下. 题目 <?php # 当前目录中有一个txt文件哦 error_reporting(0); show_source ...