hyperledger fabfic 2.2部署

简介: 简介及部署

HyperLeder fabric
1.区块链技术演进过程
1>区块链1.0仅仅是一个共享账本,只能记账而没有其他功能。
2>区块链2.0在共享账本的基础上增加了智能合约,通过智能合约可以提供更加丰富的功能。
3>区块链3.0进一步升级,不但能够记录交易还能记录交易状态,对数据溯源,使区块链技术不再局限于数字货币,而是应用在更多的业务场景。
区块链的三个版本之间并没有取代关系,每个版本都有自己的特点,它们之间没有必然的关系并且是相互独立的,到目前为止,每个版本的区块链技术依然在各自擅长的领域发挥着重要的作用。

2.公链,联盟链
公链是指任何人都可读取的、任何人都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链。(公链想要获取交易的记账权需要付出算力(POW(工作量证明算法)),通过这种方式使得单个节点造假的成本无限扩大,从而达到防止单个节点造假的目的)。
联盟链——部分去中心化

联盟链开放程度和去中心化程度是有所限制的,介于公链和私链之间。其参与者是被提前筛选出来或者直接指定的,数据库的读取权限可能是公开的,也可能像写入权限一样只限于系统的参与者。

3.Fabric是HyperLedger(超级账本)项目组的一个项目,属于区块链3.0的技术范畴之内,同时具有1.0和2.0的特性,比如Fabric可以共享账本,具有智能合约,可以通过共识算法确保数据的安全。同时它还具有和其他区块链系统不同的技术特性。

1>多账本特性
在faric之前的区块链平台比如比特币,以太坊,一般都只有一个账本,所有的记录都在一个账本中,这就导致这个账本非常大,这种设计再比特币这样的公有链中是没有问题的,但是再fabic这样的公有链中则是有问题的,因此fabric采用了多账本的设计方式。
Fabric中有一个被称为通道(channel)的概念。通道的本质是一个账本的逻辑概念。一个通道包含若干成员,这些成员之间共享同一个账本。通道内所有成员共享账本数据并且共同维护账本。
2>fabric的智能合约
Fabric中的智能合约称为码链(ChainCode),ChainCode是一段用计算机语言编写的程序,运行在容器中,fabric通过ChainCode可以读取和修改账本数据,同时会把交易的日志保存在状态数据库中。ChainCode支持多种编程语言开发,目前支持:Go、Java、Node.js等语言
3>fabric的权限系统
Fabric中有一个会员服务系统(Membership Service Provider (MSP))。MSP是基于PKI规范而建立的一个用户证书和私钥体系。为了 orderer(交易的打包和区块的生成)节点 和peer(数据经过orderer排序打包之后由peer模块存储在区块链中)节点定义的。
PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。PKI技术是一种遵循既定标准的密钥管理平台,它的基础是加密技术,核心是证书服务,支持集中自动的密钥管理和密钥分配,能够为所有的网络应用提供加密和数字签名等密码服务及所需要的密钥和证书管理体系。

4.Fabric模块
Fabric并不是一个单独的程序而是由一组模块组成,这些模块中的每一个都是可以独立运行的可执行文件。
1>peer 主节点模块,负责存储区块链数据,运行维护链码(ChainCode)。
2>Orderer 负责对交易进行排序,并将排好序的交易打包成区块。
3>Cryptogen 组织和证书生成模块
4>Configtxgen 区块和交易生成模块。
5>Configtxlator 区块和交易解析模块。

5.安装
1>Git

$ sudo apt-get install git

2>cUrl

$ sudo apt-get install curl

3>Docker

sudo apt-get -y install docker-compose
 docker --version
 docker-compose --version
sudo systemctl start docker
sudo systemctl enable docker

4>Go 环境 (1.16以下版本)

5>Fabric
git clone https://github.com/hyperledger/fabric.git
cd fabric/scripts
Git checkout release-2.2
./bootstrap.sh
fabric/scripts/fabric-samples/test-network# ./network.sh down
fabric/scripts/fabric-samples/test-network# ./network.sh up

可以参考:https://blog.csdn.net/WASEFADG/article/details/124291080

相关文章
|
测试技术 Go 区块链
Hyperledger fabric 测试环境部署
Hyperledger fabric 测试环境部署及相关问题解答
278 3
Hyperledger fabric 测试环境部署
|
Ubuntu Linux 区块链
hyperledger indy 部署
Hyperledger Indy是一个专门用于去中心化身份管理的分布式账本技术平台。它提供基于区块链或其他分布式账本技术的工具、代码库和模块化组件用于独立的数字主权身份,真正实现跨账本、跨区块链应用的不同身份之间的互操作。 本文主要介绍它在ubuntn中的安装过程。
hyperledger indy 部署
|
SQL JavaScript 前端开发
Hyperledger Fabric 2.x 环境搭建
本文分享在 Centos下搭建 Hyperledger Fabric 2.4 环境并进行简单的网络测试。
2373 0
Hyperledger Fabric 2.x 环境搭建
|
存储 并行计算 NoSQL
Hyperledger Fabric 和 FISCO BCOS部分区别
Hyperledger Fabric 和 FISCO BCOS部分对比区别
663 0
|
存储 Go C++
HyperLedger Fabric 1.2 基础环境搭建(7)
学习了前面几章理论知识后,本章开始介绍实践操作,先介绍Fabric基础环境搭建,采用的操作系统为Centos 7 64位,依次介绍Docker安装、Docker-Compose安装、GO语言环境安装、Git安装和Fabric安装,最终完成可使用的Fabric环境。
2613 0
|
安全 区块链 数据安全/隐私保护
HyperLedger Fabric架构(6.2)
6.2.1 架构演进       Fabric架构经历了0.6版本到1.0版本的演进,架构上进行了重大改进,从0.6版本的结构简单演进到可扩展、多通道的设计,在架构上有了质的飞跃;从1.0版本以后,架构未做重大调整,到目前为止,最新发布为1.2版本。
2908 0
|
存储 Go C++
Hyperledger Fabric基础环境搭建(7)
学习了前面几章理论知识后,本章开始介绍实践操作,先介绍Fabric基础环境搭建,采用的操作系统为Centos 7 64位,依次介绍Docker安装、Docker-Compose安装、GO语言环境安装、Git安装和Fabric安装,最终完成可使用的Fabric环境。
1809 0
|
Docker 容器
HyperLedger Fabric ca正式环境部署
生成一个根CA(RootCA),在根CA下3个中间CA(IntermediaCA)。 1. 运行和配置RootCA服务#cd /opt/gopath/src/github.com/hyperledger/fabric-ca/bin#mkdir ca-server#cd ca-server#fabric-ca-server start -b admin:adminpw --home .
2512 0
|
开发工具 git Docker
(二)Hyperledger Fabric 1.1安装部署-Fabric Samples
Hyperledger Fabric Samples是官方推荐的First Network,对于熟悉fabric和测试基础环境很有好处。 Fabric Samples源码下载:使用git下载源码,进入到go安装目录(可以使用命令echo $GOPATH查看go安装目录)。
2733 0
|
区块链
Hyperledger Fabric简介(6.1)
Fabric是一个提供模块化分布式账本解决方案的平台,并具备保密性、可伸缩性、灵活性和可扩展性等特性。Fabric具有可直接拔插启用和相互独立不同功能的模块,并能适应在经济社会中错综复杂的各种场景。
1927 0