首页 > 编程语言 >Hyperledger Fabric系统链码介绍

Hyperledger Fabric系统链码介绍

时间:2023-06-08 10:48:29浏览次数:56  
标签:Fabric 验证 Chaincode System 查询 链码 Hyperledger 交易

在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: 恋水无意


标签:Fabric,验证,Chaincode,System,查询,链码,Hyperledger,交易
From: https://www.cnblogs.com/lianshuiwuyi/p/17465480.html

相关文章

  • Fabric架构详解
    1整体架构2运行架构FabricCA(可选)peer:主节点模块,负责存储区块链数据,运行维护链码orderer:交易打包,排序模块cryptogen:组织和证书等资料生成模块configtxgen:生成用于通道配置的文件和创世区块等configtxlator:负责解析格式化后的区块和交易文件3网络运行流程4交易......
  • vue2 + fabric.js 实现撤销、恢复效果
    全部代码<template><div><canvasid="canvas"width="400"height="400"style="border:1px"></canvas><button:disabled="!canUndo"@click="historyState(stateIndex-1)......
  • Fabric.js
    Fabric.js是什么Fabric.js是一个简化HTML5Canvas开发的Javascript库,Fabric.js提供了HTML5Canvas本身缺失的对象模型、交互层、SVG解析器以及其他一整套工具。它是一个完全开源的项目,在MIT下获得授权,多年来一直在维护,近期要发布4.0版本,支持自定义controls。Fabric.js能做什么在......
  • Hyperledger Fabric 使用 CouchDB 和复杂智能合约开发
    前言在上个实验中,我们已经实现了简单智能合约实现及客户端开发,但该实验中智能合约只有基础的增删改查功能,且其中的数据管理功能与传统MySQL比相差甚远。本文将在前面实验的基础上,将HyperledgerFabric的默认数据库支持LevelDB改为CouchDB模式,以实现更复杂的数据检索功能......
  • Fabric生成身份信息文件
    以Ubuntu为例fabric网络架构为3order节点,2org组织,2peer节点1.创建文件并下载二进制文件mkdir3order-2peercd3order-2peer/ 生成身份信息文件需要一些可执行文件,因此我们需要下载fabric的二进制文件,文件路径如下:fabric二进制文件选择适合的fabric版本进行下载,下载完成......
  • fabricjs如何导入echarts
    Fabric.js是一个强大的HTML5canvas库,而ECharts是一个基于JavaScript的图表库。要将ECharts导入到Fabric.js中,您需要先将ECharts渲染到一个离屏canvas,然后将......
  • 解决Hyperledger Fabric通道重复创建问题( readset expected key [Group] /Channel/App
    运行如下几行代码即可dockerrm$(dockerps-a|grep"hyperledger/*"|awk"{print\$1}")&&\docker-composedown--volumes--remove-orphans&&\dockervolumep......
  • Cesium官方教程——Fabric
    1、简介Fabric是Cesium中定义的描述材质Material的JSON结构体。Material代表了一个物体的外观。材质Material可以是比较简单的,比如直接将一张图片赋予表面,或者使用条......
  • Fabric配置块结构解析
    本文是区块链浏览器系列的第二篇。上一篇介绍了交易块中的数据结构,这一篇介绍区块链网络中的配置块数据结构。这两种区块中数据结构内容的区别主要Payload结构体中的Data......
  • fabricjs方法常用汇总
    官网:http://fabricjs.com/fabricjs为canvas的一个操作插件,功能较为齐全,下面为常用的知识点//1:获得画布上的所有对象:varitems=canvas.getObjects();//2:设置画......