Hyperledger Fabric

2024-04-17 01:20
文章标签 fabric hyperledger

本文主要是介绍Hyperledger Fabric,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.Hyperledger Fabric介绍

Hyperledger区块链全家桶

Hyperledger Fabric技术特性

  • 资产 — 资产定义使得几乎任何具有货币价值的东西都可以在网络上交 换,包括从食品到古董汽车再到货币期货。
  • 链码 — 链码执行与交易排序的分离,限制了跨节点类型所需的信任和 验证级别,优化了网络可扩展性和性能。
  • 账本特性 — 不可更改的共享账本编码记录了每个通道所有的交易历史, 并具有类似 SQL 的查询功能,以便进行高效的审计和解决争议。
  • 隐私 — 通道和私有数据集合使进行隐私且机密的多边交易成为可能, 这通常是竞争企业和受监管行业在共同网络上交换资产所需要的。
  • 安全和成员服务 — 许可成员资格提供了一个可信的区块链网络,参与 者知道所有交易都可以由授权的监管机构和审计员检测和跟踪。
  • 共识 — 独特的共识方法提供了企业所需的灵活性和可扩展性

Hyperledger Fabric区块链网络

  • 三个组织 R1、R2 和 R0,他们共同决定,从而建立一个网络。该网络有一个所有组织都同意 的配置CC1,并且列出了组织的定义,以及定义每个组织将在通道上扮演的角色的策略。
  • 在该通道上,R1和R2将节点P1和P2加入到通道C1,而R0拥有该通道的排序服务O。所有这 些节点都将包含通道账本(L1)的副本,记录交易。注意,排序服务保存的分类帐副本不包含状 态数据库。R1和R2也将通过它们拥有的应用程序A1和A2与通道进行交互。这三个组织都有一 个证书颁发机构,该机构为其组织的节点、管理员、组织定义和应用程序生成了必要的证书。

 Hyperledger Fabric架构

  • 账本:存储方式公有链数据层 账本技术相同,有多账本形式
  • 链码:联盟链中的智能合约, 拥有与公有链相同的执行逻辑
  • 交易:调用链码的操作
  • 事件:与公有链智能合约中的 事件功能类似

Hyperledger Fabric使用方式:

Hyperledger Fabric中的账本(Ledger)

Fabric中的节点(Peer)

区块链网络是由 Peer 节点组成的,每个节点都保存着账本和智能合约的副本

Hyperledger Fabric中的通道(Channel)

  • 通道允许区块链网络中特定的一些 Peer 节点以及应用程序来彼此交互
  • 由物理的 Peer 节点的组成的逻辑结构,通过通道配置进行管理
  • 是其中组件能够进行交流和私密交易的机制

Hyperledger Fabric中多账本与多链机制

Peer 节点在维护账本和链码的实例,其被创建时,它并没有账本也没有链码

Hyperledger Fabric中节点(Peer)的类型

Hyperledger Fabric中数据共识流程

Hyperledger Fabric中Orderer(排序机制)

Hyperledger Fabric中MSP(身份证)

  • • 通过将成员的公钥加入到组织的M S P中来实现成员身份
  • • M S P决定在组织、节点、通道级别,谁可以做什么

M S P域:MSP可以在两个地方进行配置:本地MSP和通道MSP

Hyperledger Fabric整体架构流程:

Fabric架构中的关键信息

二.环境配置

安装VSCode

安装VMWare Workstation

正常运行Fabric镜像(密码:123456)

打开“Terminal” -> 输入 “ip addr”------获取虚拟机IP

使用Mobaxterm连接,

检查运行工具,输入“cryptogen version”检查Fabric工具

输入“docker images”检查镜像

三.快速部署Hyperledger Fabric测 试区块链网络

1. 快速启动区块链测试网络 

启动Fabric虚拟机 

将fabric-samples.zip拷贝进虚拟机

解压并重命名为fabric-samples

unzip fabric-samples.zip

mv fabric-samples-main fabric-samples

拷贝bin和config目录

cd fabric-samples 
cp ~/fabric/bin bin -r
cp ~/fabric/config config -r

启动测试网络

./network.sh up

验证启动情况

docker ps

2. 使用测试区块链网络

安装jq

apt install -y jq

创建通道(Channel)(自动创建“mychannel”通道)

./network.sh createChannel

在通道启动一个链码

./network.sh deployCC -ccn basic -ccp ../asset-transfer- basic/chaincode-go -ccl go

与测试区块链网络交互

参考以下链接:

https://hyperledger-fabric.readthedocs.io/zh-cn/release-2.5/test_network.html

这篇关于Hyperledger Fabric的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/910433

相关文章

Aloudata AIR :国内首个 Data Fabric 逻辑数据平台

AIR 的寓意是“极致轻盈的数据交付”:A - Adaptive 自适应,I - Integration 集成,R - Resilience 弹性 News:Aloudata AIR 发布 作为国内首个 Data Fabric 逻辑数据平台,Aloudata AIR 通过自研的数据虚拟化技术,轻松实现多源异构数据的集成整合和自适应加速,为 Data Fabric 数据架构理念在国内的实践落地开辟

matter中的Fabric(网络结构)

什么是Fabric? Fabric可以被理解为一组相互信任的设备和控制器,它们共享一个共同的信任域。这意味着在同一个Fabric中的设备和控制器之间可以进行安全的通信,而无需额外的身份验证或安全检查。每个Fabric有一个唯一的标识,确保Fabric之间是隔离的,防止权限混乱。一个Matter Fabric就是一个Matter网络,一个Matter Fabric中的所有节点共享同一个根证书,所以

区块链Hyperledger Fabric2.2 环境搭建

最新超详细的 Hyperledger Fabric2.2 环境搭建 部署_windows上fabric2.2环境搭建和测试网络-CSDN博客1)compose-up用的是apt安装 2)进行到最后一步了,但是docker报错 重来吧 # step 1: 安装必要的一些系统工具 sudo apt-get update sudo apt-get -y install apt-transport-h

Hyperledger Composer 查看Fabric网络连接配置信息

// 首先进入安装了fabric的用户的主目录cd ~// 列出所有文件夹ls -la// 找到.composer并进去cd .composer// 配置文件位置// /home/fabric/.composer/cards/admin@bikesharing-network/connection.json

Hyperledger Fabric 或 Composer 查看当前区块链网络的区块生成机制、多长时间、多少个交易

// 1. 进入docker,获取当前区块链的配置信息,并存为config.pb# peer channel fetch config -c composerchannel ./config.pb --orderer orderer.example.com:7050   // 2. 将docker中的config.pb拷贝到Ubuntu主机中$ docker cp b7200c1b

Hyperledger Fabric教程(6)-- byfn.sh分析-peer-base.yaml

vim base/peer-base.yaml peer节点的通用基础配置

Fabric.js TextBox揭秘:splitByGrapheme属性实现文本自然换行

在Node.js的前端图形处理库中,Fabric.js是一个功能强大的库,允许开发者在HTML5的<canvas>元素上绘制和操作图形、图像和文本。然而,在Fabric.js中直接处理文本时,默认情况下文本并不会自动换行。为了实现文本的自动换行,Fabric.js提供了TextBox类,并通过splitByGrapheme属性来控制文本的换行行为。本文将深入解析splitByGrapheme属性的

Fabric.js Canvas:核心配置与选项解析

在Fabric.js中,fabric.Canvas的options参数是一个对象,用于在创建画布实例时设置各种初始属性和配置。这些配置选项允许开发者根据需要自定义画布的行为和外观。以下是对fabric.Canvas常用options参数的全面介绍: 基本属性 width: Number - 画布的宽度,以像素为单位。height: Number - 画布的高度,以像素为单位。backgroun

Fabric.js中fabric.Text的深入解析

引言 在Web开发中,文本是不可或缺的元素。Fabric.js作为一个强大的Canvas库,提供了丰富的API来处理图形和文本。其中,fabric.Text是Fabric.js中用于创建和管理文本对象的类。本文将深入解析fabric.Text,包括其API函数定义和代码示例解释,帮助开发者更好地理解和使用这个类。 fabric.Text概述 fabric.Text是Fabric.js中用于表

Fabric.js中fabric.Textbox的深入解析

在Web开发中,文本处理是一个重要的环节,尤其是在图形编辑和画布应用中。Fabric.js作为一个强大的Canvas库,提供了丰富的API来处理图形和文本。其中,fabric.Textbox是Fabric.js中用于创建和管理文本框对象的类。本文将深入解析fabric.Textbox,包括其API函数定义和代码示例解释,帮助开发者更好地理解和使用这个类。 一、fabric.Textbox概述