在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系统链码介绍的更多相关文章

  1. [Hyperledger] Fabric系统中 peer模块的 gossip服务详解

    最近一直在看fabric系统中的核心模块之一——peer模块.在看peer的配置文件core.yaml的信息时,对其中的gossip配置选项很感兴趣.看了一上午,还是不能明白这个选项到底什么意思呢?表 ...

  2. Hyperledger Fabric系统架构

  3. 死磕hyperledger fabric源码|Order节点概述

    死磕hyperledger fabric源码|Order节点概述 文章及代码:https://github.com/blockchainGuide/ 分支:v1.1.0 前言及源码目录 Orderer ...

  4. Hyperledger Fabric链码之三

    在<Hyperledger Fabric链码之一>和<Hyperledger Fabric链码之二>中我们介绍了链码的定义,并通过dev网络测试了测试了自己编写的链码程序. 本 ...

  5. Hyperledger Fabric链码之二

    上篇文章中我们介绍了链码的概念,本文中我们将介绍Fabric下链码的编写和测试.我们会通过一个简单例子的方式来阐述链码API的使用. 链码API     每一个链码程序都必须实现一个接口Chainco ...

  6. Hyperledger fabric 链码篇GO(四)

    Hyperledger fabric 链码篇GO(四) fabric中的链码也就是我们区块链所认知的智能合约,fabric中可由nodejs,java,go编写,本篇只针对GO语言编写链码.将详细介绍 ...

  7. Hyperledger Fabric无系统通道启动及通道的创建和删除

    前言 在Hyperledger Fabric组织的动态添加和删除中,我们已经完成了在运行着的网络中动态添加和删除组织,但目前为止,我们启动 orderer 节点的方式都是通过系统通道的方式,这样自带系 ...

  8. HyperLedger Fabric Introduction——区块链超级账本介绍

    介绍 HyperLedger Fabric是一个基于模块化架构的分布式账本解决方案平台,它拥有深度加密.便捷扩展.部署灵活及可插拔等特性.它设计之初的目的是支持不同组件的可插拔实现,并适应整个经济生态 ...

  9. Hyperledger Fabric链码之一

    什么是链码(Chaincode)? 我们知道区块链有3个发展阶段:区块链1.0,区块链2.0,区块链3.0.其中区块链2.0就是各种区块链平台百花齐放的阶段,区块链2.0最大的特点就是智能合约,我们接 ...

  10. HyperLedger Fabric部署与链码解读

    1.Fabric简介 Fabric是超级账本中的一个项目,用以推进区块链技术.和其他区块链类似,它也有一个账本,使用智能合约,且是一个参与者可以分别管理自身交易的系统.它是一个联盟链.Fabric与其 ...

随机推荐

  1. Object.toString与Object.prototype.toString区别

    1.Object原型链上的toString方法可以用于对象类型的判断,如常用的区分数组与普通对象. 例如: Object.prototype.toString.call(''); //[object ...

  2. Ceres 自动求导解析-从原理到实践

    Ceres 自动求导解析-从原理到实践 目录 Ceres 自动求导解析-从原理到实践 1.0 前言 2.0 Ceres求导简介 3.0 Ceres 自动求导原理 3.1 官方解释 3.2 自我理解 4 ...

  3. 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(13)-Charles如何进行Mock和接口测试

    1.简介 Charles最大的优势在于抓包分析,而且我们大部分使用的功能也在抓包的功能上,但是不要忘记了,Charles也可以做接口测试.至于Mock,其实在修改请求和响应数据哪里就已经介绍了,宏哥就 ...

  4. 常用脚本学习手册——Bat脚本

    常用脚本学习手册--Bat脚本 我们在日常工作中常常会遇到一些需要重复进行的工作,又或者我们的项目在转交客户时需要去简化配置过程 这时我们就需要使用到一些自动化部署操作,我们常常会采用脚本来完成这部分 ...

  5. 6步带你用Spring Boot开发出商城高并发秒杀系统

    摘要:本博客将介绍如何使用 Spring Boot 实现一个简单的商城秒杀系统,并通过使用 Redis 和 MySQL 来增强其性能和可靠性. 本文分享自华为云社区<Spring Boot实现商 ...

  6. 【性能优化】优雅地优化慢查询:缓存+SQL修改组合拳

    问题描述 单例数据库模式中,后端高并发请求多(读多写少),导致数据库压力过大,关键接口响应变慢,严重影响体验. 需求 减少接口的响应时间. 寻找解决方案 由于问题主要处在数据库压力过大的情况,采用两种 ...

  7. pandas之窗口函数

    为了能更好地处理数值型数据,Pandas 提供了几种窗口函数,比如移动函数(rolling).扩展函数(expanding)和指数加权函数(ewm).窗口函数应用场景非常多.举一个简单的例子:现在有 ...

  8. 1.封装PageHelper实现分页

    前言 这几天想着动手将一些技术融合到项目中,昨天思考了会儿,想起了我与亲戚的对话:我说:"我想将若依项目完整的实现一遍",亲戚给我反馈到"你没必要完整复现若依项目,而且你 ...

  9. Bing的AI聊天使用体验

    Bing开启了AI聊天功能,我们这里做一个简单的测评,看看各种AI是否达到预期效果. PS:没有"魔法"的各位就不用看下去了 1.登陆 打开edge,遇到的第一个问题就是,使用&q ...

  10. 【Python基础】变量的作用域与global、nonlocal

    在 Python 中,变量的作用域指的是变量可以被访问的范围.Python 中的变量作用域有两种: 局部作用域:变量在函数函数内部的时候,只能在函数内部使用.这样的变量被称为局部变量. 如果在函数内部 ...