在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. Mysql 事务隔离级别和锁的关系

    我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式.同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力.所以对于 ...

  2. jq-ajax-get

    get有三个参数,第一个时候url,第二个是数据,第三个是回调函数(可以用返回值表示,如下所示) 执行正确时,返回的依次是res,type,xhr. 执行错误连接不上的的依次是xhr,type,res ...

  3. PyQt5学习 (1)--对象的基本操作、QObject

    参考视频:[Python-GUI编程-PyQt5 (少)] https://www.bilibili.com/video/BV17J41177ro/?share_source=copy_web& ...

  4. socket与struct实战应用(传输文件)

    服务端 需求:制作一个可以接收文件的服务,操作客户端往服务端传输文件 服务端代码 import struct import socket import json import os # 1. 先起动服 ...

  5. Python安装-在Linux系统中使用编译进行安装

    Python安装-在Linux系统中使用编译进行安装 你可以使用Ubuntu自带的Python3,不过你不能自由的控制版本,还要单独安装pip3,如果你想升级pip3,还会出现一些让人不愉快的使用问题 ...

  6. 自定义SpringMVC实现

    首先要知道springmvc主要流程: 当用户,也是就是请求送达过来的时候, 1.前端控制器会获取, 2.请求处理映射器,返回执行链接 3.获取执行适配器适配,交给执行器 4.返回modelandvi ...

  7. pysimplegui之进度表one_line_progress_meter

    我们的代码中都有循环.'等待,看着文本窗口中滚动过去的计数器不是很快乐吗?一行代码如何获得一个进度表,其中包含有关您的代码的统计信息? one_line_progress_meter(title, c ...

  8. Kubernetes客户端认证(二)—— 基于ServiceAccount的JWTToken认证

    1.概述 在 Kubernetes 官方手册中给出了 "用户" 的概念,Kubernetes 集群中存在的用户包括 "普通用户" 与 "Service ...

  9. day26:装饰器&面向对象当中的方法&property

    目录 1.装饰器 1.1 装饰器的基本用法 1.2 @符号的使用 1.3 装饰器的嵌套 1.4 用装饰器扩展带有参数的原函数 1.5 用装饰器扩展带有参数和返回值的原函数 1.6 用类装饰器扩展原函数 ...

  10. DG:windows密码文件

    问题描述:搭建DG,找不到密码文件的位置,就给备库重新生成了一个密码文件,传到了备库,但是拉到了备库以后,恢复过程中,trace日志在报错,后来才知道windows下的密码文件跟linux平台下的面文 ...