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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/624445.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3: 报错ResizeObserver loop completed with undelivered notifications.解决方法

错误提示: 组件重新绘制大小时dev环境出现报错提示,如在VUE3中使用ant-design-vue表格自适应窗口大小时webpack会报错。 常用解决方案有重写ResizeObserver或者时间间隔内限制执行方式,可以设置屏蔽方式跳过提示。 解决办法: 修…

保姆级教程 | Adobe Illustrator 中插入数学符号

背景 鉴于Adobe Illustrator作为比较专业的绘图/组图软件,我的论文数据作图都会选择先在origin中把原始数据绘制好,后都放入AI中细修。由于在作图过程中需要插入数学符号,但仿佛没有PowerPoint用起来那么熟悉,遂记录下。 步骤 …

HTML 入门

HTML 简介 1. 什么是 HTML? 全称:HyperText Markup Language(超文本标记语言)。 超文本:暂且简单理解为 “超级的文本”,和普通文本比,内容更丰富。 标 记:文本要变成超文本&…

数字化社交的引擎:解析Facebook的影响力

Facebook,作为全球最大的社交媒体平台,已经深深地融入了我们的日常生活和文化中。它不仅仅是一个简单的社交工具,更是一个复杂的数字生态系统,影响着我们的社交模式、文化认同以及信息获取方式。在这篇文章中,我们将深…

企业用户管理passwd/sudo工作原理/chage/用户组/切换用户及提权管理/chown知识详谈-6000字

passwd 用户自己给自己设置密码:直接passwd root用户给普通用户设置密码:passwd用户名 stdin 从标准输入获取信息 批量创建用户: bash脚本: for n in {01…10} do useradd wulin$n done n先取01然后循环,再取再执行…

c++入门 命名空间

文章目录 C入门命名空间域作用限定符域作用限定符操作C的域编译器的搜索原则命名空间域的展开命名空间的嵌套 C入门 命名空间 命名空间的存在:为了解决同域中起名字冲突的问题 在C/C中,变量、函数和后面要学到的类都是大量存在的,这些变量、…

Trl SFT: llama2-7b-hf使用QLora 4bit量化后ds zero3加上flash atten v2单机多卡训练(笔记)

目录 一、环境 1.1、环境安装 1.2、安装flash atten 二、代码 2.1、bash脚本 2.2、utils.py 注释与优化 2.3、train.py 注释与优化 2.4、模型/参数相关 2.4.1、量化后的模型 2.4.1.1 量化后模型结构 2.4.1.2 量化后模型layers 2.4.2、参数 2.4.2.1 training args 2.4.2.2 pe…

Qt | 事件第二节

Qt | 事件第一节书接上回 四、事件的接受和忽略 1、事件可以被接受或忽略,被接受的事件不会再传递给其他对象,被忽略的事件会被传递给其他对象处理,或者该事件被丢弃(即没有对象处理该事件) 2、使用 QEvent::accept()函数表示接受一个事件,使用 QEvent::ignore()函数表示…

记一次Mysql数据库宕机This could be because you hit a bug.

Hi I’m Shendi 今天收到消息说所有软件不能用了,网页都打不开,遇到了问题,于是在这里记录一下 记一次Mysql数据库宕机This could be because you hit a bug. 起因 为了节省成本,对于小公司而言服务器数量通常不会太多&#xff…

2024年面试工具篇Postman面试题及答案

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

WIN7用上最新版Chrome

1.下载WIN10最新版Chrome的离线安装包 谷歌浏览器 Chrome 最新版离线安装包下载地址 v123.0.6312.123 - 每日自动更新 | 异次元软件 文件名称:123.0.6312.123_chrome_installer.exe。 123.0.6312.123_chrome_installer.exe 文件右键解压缩得到 chrome.7z&#x…

App Inventor 2 构建多屏幕App的最佳实践

导读 本文源自AppInventor2中文网(https://www.fun123.cn)文档,系英文原版翻译,主要倡导开发拥有多个屏幕的App时,建议在一个屏幕上拖动多个布局组件(水平or垂直布局),用代码块通过“…