链码的相关概念

这篇具有很好参考价值的文章主要介绍了链码的相关概念。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、链码的概念

        智能合约在Hyperledger Fabric中称为链码,也就是链上代码。

        链码一般是由开发人员使用Golang语言(也支持Java等语言)编写的,提供分布式账本的状态处理逻辑。链码被部署在Hyperledger Fabric的网络节点中,能够独立运行在具有安全特性的受保护的Docker容器中,以gRPC协议与相应的Peer节点进行通信,并操作(初始化或管理)分布式账本中的数据。可以根据不同的需求开发出不同的复杂的应用。


在Hyperledger Fabric中,链码一般分为系统链码用户链码

(1)系统链码


        系统链码负责Fabric节点自身的处理逻辑,包括系统配置、背书、校验等工作。
Hyperledger Fabric系统链码仅支持Golang语言,在Peer节点启动时会自动完成注册和部署。

系统链码共有如下5种类型。

1)配置系统链码(Configuration System Chaincode,CSCC):负责处理Peer端的通道配置。
2)生命周期系统链码(Lifecycle System Chaincode,LSCC):负责对用户链码的生命周期进行管理。
3)查询系统链码(Query System Chaincode,QSCC):提供账本查询API,如获取区块和交易等信息。
4)背书管理系统链码(Endorsement System Chaincode,ESCC):负责背书(签名)过程,并支持对背书策略进行管理。对提交的交易提案的模拟运行结果进行签名,之后创建响应消息返回给客户端。
5)验证系统链码(Validation System Chaincode,.VSCC):处理交易的验证,包括检查背书策略及多版本并发控制。

2、用户链码

        链码编写完成后,并不能立刻使用,而是必须经过一系列的操作之后才能应用在Hyperledger Fabric网络中,进而处理客户端提交的交易。这一系列的操作由链码的生命周期来负责管理。


        管理链码的生命周期共有5个命令。

install:将已编写完成的链码安装在指定的Peer节点中。
instantiate:对已安装的链码进行实例化。
upgrade:对已有链码进行升级。链代码可以在安装后根据具体需求的变化进行升级。
package:对指定的链码进行打包。
singnpackage:对已打包的文件进行签名。


        安装、实例化、升级这3项操作不适用于系统链码。链码的生命周期管理在现阶段只
支持这5个命令,但未来还会支持stop命令和start命令,用来停止和启动链码。


        链码成功安装和实例化后,处于活动状态(正在运行),时刻准备处理提交的交易提案。文章来源地址https://www.toymoban.com/news/detail-526236.html

到了这里,关于链码的相关概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Fabric:链码的部署及执行

    Hyperledger Fabric:V2.5.4 使用Fabric搭建自定义网络参考:https://blog.csdn.net/yeshang_lady/article/details/134113296 使用Fabric创建应用通道参考:https://blog.csdn.net/yeshang_lady/article/details/134668458 接下来将介绍如何在自定义的网络和通道上部署以及执行链码。 Fabric中链码的部署一般包括以下步骤

    2024年02月04日
    浏览(40)
  • 搭建 Hyperledger Fabric区块链网络

    这里以下载最新版为例,得益于官网文档;网址为:教程 或者使用该命令下载指定版本  wget https://studygolang.com/dl/golang/go1.19.linux-amd64.tar.gz 之后解压到指定文件,一般为 /usr/local/下 ,需要配置环境变量

    2024年01月20日
    浏览(50)
  • 【fabric2.4】使用java sdk访问虚拟机里面的区块链网络上的链码

    链码中的函数名和参数名需要大写,不然是private无法访问 记录一下做实验写论文时,如何使用fabric2.4的java sdk 执行ccp-generate脚本,能够在指定路径下获取当前网络的配置文件,这是第一步 看看本机的IP地址和虚拟机的IP地址,互相ping一下看看能不能ping通 把一些需要的文件拷

    2024年02月15日
    浏览(32)
  • hyperledger fabric 网络操作基本操作和概念

    在搭建好hyperledger fabric环境后,继续进行网络搭建操作 新建文件夹twonodes(与github.com同级) 1.1.1 生成证书文件模板 生成模板配置文件说明 1.1.1.1 排序节点OrdererOrgs配置 1.1.1.2 普通节点PeerOrgs配置 1.1.1.3 Template 配置 1.1.1.4 Users用户配置 (user和peer区别,user可以理解为终端,指人

    2024年01月17日
    浏览(29)
  • Fabric 超级账本学习【5】Fabric2.4网络环境下——搭建Hyperledger Fabric区块链浏览器

    博主最近在搭建Hyperledger Fabric区块链浏览器过程中也学习了很多博主的搭建流程,踩了很多雷,踩了很多 坑,现将成功搭建好的Hyperledger Fabric区块链浏览器详细流程分享如下,帮助大家避雷闭坑 Hyperledger Explorer 是一个简单,强大,易于使用,维护良好的开源实用程序,可浏

    2023年04月23日
    浏览(36)
  • 区块链hyperledger fabric部署

      新建目录、下载、解压 配置环境   将指定版本的 Hyperledger Fabric 平台特定二进制文件和配置文件安装到 fabric-samples 下的  /bin 和  /config  目录中,下载指定版本的 Hyperledger Fabric docker 镜像 2.2.1 配置镜像源 注:以上curl主要是为了获得一个 bootstrap.sh 的脚本文件并执行,可能

    2024年02月11日
    浏览(32)
  • 区块链技术和Hyperledger Fabric介绍

    1.1.1 起源 在比特币诞生之时,技术专家们开始研究比特币的底层技术,并抽象提取出来,形成区块链技术,或者称分布式账本技术。 1.1.2 定义 简称BT(Blockchain technology),也称为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与

    2024年02月22日
    浏览(33)
  • 区块链 2.0:Hyperledger Fabric学习(一)

    参考链接1 操作系统 : Ubuntu 22.04 一、启动命令 1.进入文件夹目录,启动网络(fabric-samples/fabcar) 2.可能错误: 没有配置JAVA_HOME环境变量 使用JAVA 18会出现无法编译的错误,更换为JAVA 8之后成功解决 二、脚本解析

    2024年02月12日
    浏览(28)
  • 【Hyperledger Fabric】学习笔记1—— 区块链介绍

    目录 1. 区块链介绍 1.1 区块链技术起源 1.1.1 区块链技术 1.1.2 区块链技术发展 1.2 区块链核心技术 1.2.1 定义 1.2.2 区块链技术原理 1.2.3 区块链工作过程 1.3 区块链开发平台 1.3.1 公有链平台 1.3.2 联盟链系统 1.3.3 应用场景 1.1.1 区块链技术 1.1.2 区块链技术发展 1.2.1 定义 1.2.2 区块链

    2023年04月23日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包