目录
- 前言
- 1. fabric 介绍
-
- 1.1 fabric和以太坊的区别
- 1.2 身份管理介绍
- 1.3 账本:每个节点中都有
- 1.4 交易管理介绍
- 1.5 节点介绍
- 1.6 通道介绍–channel
- 2. fabric 环境搭建
-
- 2.1 安装虚拟机
- 2.2 安装必要配置
-
- 2.2.1换源
- 2.2.2 安装vim
- 2.2.3 安装python2.7 以及 python-pip2
- 2.2.5 安装go
- 2.2.6 安装docker
- 2.2.7 安装docker-compose
- 2.2.8 Fabric的Docker镜像下载
- 2.2.9 拉取fabric代码
- 最后
前言
我知道学习新事物的时候,环境总是最难的,很多人因为环境搭不好而放弃,这篇博客非常详细的说明了安装fabric的每一个步骤,我希望喜欢区块链的同学可以试一下~
在区块链的世界里面,超级账本的分量还是很重的~
哪一步安装不成功可以直接私聊我~
1. fabric 介绍
Hyperledger(超级账本)是Linux基金会旗下的项目,Fabric是Hyperledger项目里最早也是目前应用最广泛的区块链项目,最初由IBM开发,后来捐助给基金会。
- 是一个开源的企业级需要许可的分布式账本技术平台
- 是一个高度模块化和可配置架构(a,b,c)
- 支持不同组件的可插拔实现
- 智能合约支持多语言:go,java,node.js等
1.1 fabric和以太坊的区别
区别
以太坊
fabric
链的状况
“链”是信任的锚点,所有的信任都来自于同一条链
每个智能合约可以创建新的链,也可以和其他智能合约共用一个链
合约环境
有自己的沙盒执行环境(EVM)
使用了 Docker 机制实现智能合约
合约语言
solidity
go,java,nodejs
总体性能
自身耦合度较高
灵活性更高,更像一个区块链云服务平台,能够让用户在这平台上,使用各个模块创建一个个链,进而实现一个个的应用。
1.2 身份管理介绍
- 成员管理
- 注册服务:注册成功得到的是证书,不是用户名和密码
- 证书:签名认证
- 交易审计
1.3 账本:每个节点中都有
区块链(保存到本地磁盘中):
- 存储所有交易记录(tx array),也就是交易的链数据,
tx里面存储读和写的数组 - 可以用来历史数据查询
- 每个区块中包含的数据有:
blockHash,blockNum,txid
世界状态:
- 存储数据的最新状态
- 存储的是键值对,存储在当前节点的数据库中,默认数据库:
level DB(couchdb也可以,需配置) - 链码模拟查询(
chaincodesimulationqueries) - 数据库中包含的数据有:
txid,data,owner
1.4 交易管理介绍
- 部署交易:部署的是链码,给节点安装链码(chaincode)
- 调用交易:
invoke
1.5 节点介绍
client:
进行交易管理
- cli:shell命令
- node.js:api实现
- go sdk:api实现
- java sdk:api实现
peer:
- 存储和同步账本数据:数据提交到某一个节点,然后从这个节点同步到其他节点,fabric自带的同步机制可以自动同步数据到其他节点
order:
- 排序和分发交易,排序为了解决双花问题,交易数据打包写入到区块中。
1.6 通道介绍–channel
一种共识服务提供的通讯机制,将peer和order连接到一起,形成一个具有保密性的通讯链路,也与账本状态紧密相连,不同通道中的数据互相独立,不共享,业务隔离,可以理解为一个分组,在同一个分组中的数据可以同步。
一个peer节点可以同时加入到不同的通道中,相当于一个人可以同时加入多个分组
2. fabric 环境搭建
2.1 安装虚拟机
可以随便在网上找到VM虚拟机来安装。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uopq21rb-1622253791581)(C:UsersAdministratorAppDataRoamingTypora ypora-user-imagesimage-20210529090233011.png)]](https://img-blog.csdnimg.cn/20210529100543775.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwNDUwMw==,size_16,color_FFFFFF,t_70)
讯享网

选择下载的iso文件

然后随便搞搞这个,密码最好简单一点,我是用root


虚拟机名字可以整成Hadoop,位置最好不要放C盘,放其他大一点的盘,

然后一直按下一步就行了

然后等待安装完就行了。
进去之后



继续就可了 
选择城市


密码就随便搞搞吧

然后就可以了

安装VMware Tools工具
点击虚拟机进行安装即可。然后重启一下就行了。

2.2 安装必要配置
2.2.1换源
我们先要换源
找到这个Software & Update
找到自己想要换的源头 
即可
2.2.2 安装vim
sudo apt-get install vim sudo apt-get update
讯享网
2.2.3 安装python2.7 以及 python-pip2
安装python2.7
查看版本
安装python-pip

查看版本

2.2.5 安装go
到go官网
下载完之后会是这样

解压到/usr/local
讯享网sudo tar -C /usr/local -zxvf go1.11.5.linux-amd64.tar.gz
然后设置环境变量


使环境生效
source ~/.bashrc
查看go版本
讯享网go version

go就安装成功了!
2.2.6 安装docker
sudo apt install docker sudo apt install docker.io
查看docker版本
讯享网docker version
但是会有下面的这个permission denied的问题,我们可以这样,添加权限组,不过注意要和你的用户名是一样的!

然后再看一次就好了。docker version就行了
查看docker运行状态,可以看到使 绿色的active (running)是正在运行中的。

2.2.7 安装docker-compose
然后创建一个docker目录

安装一个curl
然后执行下面这一条语句
curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
出现这个就行了~
然后在/usr/local/bin目录下设置权限!

2.2.8 Fabric的Docker镜像下载
查看docker镜像,然后发现docker里面是什么都没有的

我们先换源,建议是使用这个 daocloud的
重启一起docker就行了。

然后依次运行下面的docker pull镜像,一行一行搞!不要全搞进去!
讯享网 docker pull hyperledger/fabric-tools:x86_64-1.0.0 docker pull hyperledger/fabric-orderer:x86_64-1.0.0 docker pull hyperledger/fabric-peer:x86_64-1.0.0 docker pull hyperledger/fabric-couchdb:x86_64-1.0.0 docker pull hyperledger/fabric-kafka:x86_64-1.0.0 docker pull hyperledger/fabric-ca:x86_64-1.0.0 docker pull hyperledger/fabric-ccenv:x86_64-1.0.0 docker pull hyperledger/fabric-baseimage:x86_64-0.4.7 docker pull hyperledger/fabric-javaenv:x86_64-1.0.0 docker pull hyperledger/fabric-zookeeper:x86_64-1.0.0
docker tag hyperledger/fabric-tools:x86_64-1.0.0 hyperledger/fabric-tools docker tag hyperledger/fabric-orderer:x86_64-1.0.0 hyperledger/fabric-orderer docker tag hyperledger/fabric-peer:x86_64-1.0.0 hyperledger/fabric-peer docker tag hyperledger/fabric-couchdb:x86_64-1.0.0 hyperledger/fabric-couchdb docker tag hyperledger/fabric-kafka:x86_64-1.0.0 hyperledger/fabric-kafka docker tag hyperledger/fabric-ca:x86_64-1.0.0 hyperledger/fabric-ca docker tag hyperledger/fabric-ccenv:x86_64-1.0.0 hyperledger/fabric-ccenv docker tag hyperledger/fabric-baseimage:x86_64-0.4.7 hyperledger/fabric-baseimage docker tag hyperledger/fabric-javaenv:x86_64-1.0.0 hyperledger/fabric-javaenv docker tag hyperledger/fabric-zookeeper:x86_64-1.0.0 hyperledger/fabric-zookeeper
验证:docker images
这样就行了

2.2.9 拉取fabric代码
鉴于在虚拟机上面有点难git clone,所以我们可以在windows下进行下载,然后通过xftp6进行转移。
在github上搜索fabric

然后用xftp6
记得是上传到这个目录下面。记得改名字

然后进入这个 e2e_cli 的目录下。(这个workspace目录是多余的,我后来删掉了,不要有workspace这个目录,不然无法下载的。就像上面那张图的红色箭头的目录就行了)
不过记得先要 chmod u+x network_setup.sh 给特权
然后执行 ./network_setup.sh up
然后在这个目录下就可以看到了这些可执行文件了。不过要把这些文件cp 到go的bin目录下。


这里就大功告成了!
最后
,期待你的关注。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/126916.html