草庐IT

Hyperledger Fabric基础知识笔记

Martinwxx 2024-01-21 原文

地址

https://github.com/togettoyou/fabric-realty
https://mp.weixin.qq.com/s/yDmGwfRjXxDJfgv1d0p3Ig

笔记

区块链基础知识

1.Block

每个区块记录上一区块hash值、本区块中的交易集合、本区块hash值等基础数据。区块串联形成链。

2.Blockchain

多方共享的分布式账本技术,记录交易。
去中心化:多参与者协作维护,无中心管理者。
不可修改:信息以附加形式记录到账本,使用加密技术。

3.Transaction

区块链接受的数据称为交易。

4.Smart contract

为了支持以同样的方式更新信息,实现整套账本功能(交易,查询等),使用智能合约提供对账本的受控访问。

5.共识

保持账本在整个网络中同步的过程。

Hyperledger Fabric 基础知识

1.Hyperledger Fabric

一种账本技术,包括世界状态数据库和交易日志历史记录

2.联盟

参与区块链的所有组织的集合。
联盟发起方或运营方创建Orderer排序节点,并负责交易排序、区块产生和达成共识。

3.组织

参与区块链网络的企业、政府机构、团体等实体。
一个组织实例包含以下节点:

  • CA:数字证书颁发机构,负责组织内部成员的 register 和 enroll 等,为该组织的区块链用户生成和颁发数字证书。
  • Peer:负责保存和记录账本数据、对交易背书、运行智能合约等。
4.节点

节点是区块链的通讯实体。

  • Orderer:运行实现交付担保的通信服务节点。负责接收交易并排序,将排序好的交易按照配置中的约定整理为区块,提交给记账节点进行处理。
    排序算法:SOLO、KAFKA、RAFT、PBFT
  • Peer:业务参与方组织在区块链网络中所拥有的参与共识和账本记录的节点。

作为Committing Peer 记账节点:无需安装链码,只负责验证从Orderer 发出的区块和交易的合法性、并存储账本区块信息。

作为Endorsing Peer 背书节点时,必须安装链码,在交易时需进行签名背书。

  • Anchor:为了实现高可用,每个参与方组织一般包含两个或多个 Peer 节点,可以设置其中的一个为 Anchor ,与区块链网络中的其他组织进行信息同步。
  • 客户端节点:客户端扮演了代表最终用户的实体,可以同时与 Peer 和 Orderer 通信,创建并调用交易。这里客户端可以指应用程序、SDK、命令行等。
5.通道

HF中的通道Channel是两个或两个以上特定网络成员之间通信的专用“子网”,用于进行私有和机密的交易。

6.链码

HF的智能合约用链码编写。
链码只与账本数据库交互
链码用多种编程语言实现;GO、Node.js、Java链码等。

搭建网络

本人用到的参考文章

  • VMware安装Centos7超详细过程
    https://blog.csdn.net/babyxue/article/details/80970526
  • fabric篇之Centos7系统下源码搭建Fabric系统
    https://blog.csdn.net/xu710263124/article/details/116644845
  • Centos7安装Docker
    https://www.cnblogs.com/nsky/p/10372287.html
  • CentOS7下将Python的版本升级为3.7
    https://www.cnblogs.com/zhongyehai/p/10444074.html
  • CentOS 7 源码编译安装 NodeJS
    https://www.cnblogs.com/stulzq/p/9288397.html
  • CentOS7安装go开发环境
    https://www.cnblogs.com/zwjphp/p/14357756.html


(哎~感觉都有用,偷懒直接截个图)
(接下来讲了一个应用实例,粗略看完,还不错的感觉,有空再来搞吧,先去跑步了~)

有关Hyperledger Fabric基础知识笔记的更多相关文章

  1. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  2. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  3. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  4. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  5. ruby - 我怎样才能更好地了解/了解更多关于 Ruby 的知识? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?

  6. 【网络】-- 网络基础 - 2

    (本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展        是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。    如:有三个人,每个人做的不同的事物,但是是需要协作的完成。    而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据

  7. Unity Shader 学习笔记(5)Shader变体、Shader属性定义技巧、自定义材质面板 - 2

    写在之前Shader变体、Shader属性定义技巧、自定义材质面板,这三个知识点任何一个单拿出来都是一套知识体系,不能一概而论,本文章目的在于将学习和实际工作中遇见的问题进行总结,类似于网络笔记之用,方便后续回顾查看,如有以偏概全、不祥不尽之处,还望海涵。1、Shader变体先看一段代码......Properties{ [KeywordEnum(on,off)]USL_USE_COL("IsUseColorMixTex?",int)=0 [Toggle(IS_RED_ON)]_IsRed("IsRed?",int)=0}......//中间省略,后续会有完整代码 #pragmamulti_c

  8. Tcl脚本入门笔记详解(一) - 2

    TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是

  9. 【Elasticsearch基础】Elasticsearch索引、文档以及映射操作详解 - 2

    文章目录概念索引相关操作创建索引更新副本查看索引删除索引索引的打开与关闭收缩索引索引别名查询索引别名文档相关操作新建文档查询文档更新文档删除文档映射相关操作查询文档映射创建静态映射创建索引并添加映射概念es中有三个概念要清楚,分别为索引、映射和文档(不用死记硬背,大概有个印象就可以)索引可理解为MySQL数据库;映射可理解为MySQL的表结构;文档可理解为MySQL表中的每行数据静态映射和动态映射上面已经介绍了,映射可理解为MySQL的表结构,在MySQL中,向表中插入数据是需要先创建表结构的;但在es中不必这样,可以直接插入文档,es可以根据插入的文档(数据),动态的创建映射(表结构),这就

  10. 计算机网络笔记:TCP三次握手和四次挥手过程 - 2

    TCP是面向连接的协议,连接的建立和释放是每一次面向连接的通信中必不可少的过程。TCP连接的管理就是使连接的建立和释放都能正常地进行。三次握手TCP连接的建立—三次握手建立TCP连接①若主机A中运行了一个客户进程,当它需要主机B的服务时,就发起TCP连接请求,并在所发送的分段中用SYN=1表示连接请求,并产生一个随机发送序号x,如果连接成功,A将以x作为其发送序号的初始值:seq=x。主机B收到A的连接请求报文,就完成了第一次握手。客户端发送SYN=1表示连接请求客户端发送一个随机发送序号x,如果连接成功,A将以x作为其发送序号的初始值:seq=x②主机B如果同意建立连接,则向主机A发送确认报

随机推荐