我知道学习新事物的时候,环境总是最难的,很多人因为环境搭不好而放弃,这篇博客非常详细的说明了安装fabric的每一个步骤,我希望喜欢区块链的同学可以试一下~
在区块链
的世界里面,超级账本
的分量还是很重的~
哪一步安装不成功可以直接私聊我~
Hyperledger(超级账本)
是Linux基金会旗下的项目,Fabric
是Hyperledger
项目里最早也是目前应用最广泛的区块链
项目,最初由IBM开发,后来捐助给基金会。
区别 | 以太坊 | fabric |
---|---|---|
链的状况 | “链”是信任的锚点,所有的信任都来自于同一条链 | 每个智能合约可以创建新的链,也可以和其他智能合约共用一个链 |
合约环境 | 有自己的沙盒执行环境(EVM) | 使用了 Docker 机制实现智能合约 |
合约语言 | solidity | go,java,nodejs |
总体性能 | 自身耦合度较高 | 灵活性更高,更像一个区块链云服务平台,能够让用户在这平台上,使用各个模块创建一个个链,进而实现一个个的应用。 |
区块链(保存到本地磁盘中):
tx
里面存储读和写的数组blockHash
, blockNum
, txid
世界状态:
level DB
(couchdb
也可以,需配置)chaincode
simulation
queries
)txid
,data
,owner
部署交易:部署的是链码,给节点安装链码(chaincode)
调用交易:invoke
client
:
进行交易管理
peer
:
order
:
一种共识服务提供的通讯机制,将peer
和order
连接到一起,形成一个具有保密性的通讯链路,也与账本状态紧密相连,不同通道中的数据互相独立,不共享,业务隔离,可以理解为一个分组,在同一个分组
中的数据可以同步。
一个peer节点可以同时加入到不同的通道中,相当于一个人可以同时加入多个分组
可以随便在网上找到VM虚拟机来安装。
选择下载的iso文件
然后随便搞搞这个,密码最好简单一点,我是用root
虚拟机名字可以整成Hadoop,位置最好不要放C盘,放其他大一点的盘,
然后一直按下一步就行了
然后等待安装完就行了。
进去之后
继续就可了
选择城市
密码就随便搞搞吧
然后就可以了
安装VMware Tools工具
点击虚拟机进行安装即可。然后重启一下就行了。
我们先要换源
找到这个Software & Update
找到自己想要换的源头
即可
sudo apt-get install vim
sudo apt-get update
安装python2.7
查看版本
安装python-pip
查看版本
sudo tar -C /usr/local -zxvf go1.11.5.linux-amd64.tar.gz
使环境生效
source ~/.bashrc
查看go版本
go version
sudo apt install docker
sudo apt install docker.io
docker version
但是会有下面的这个permission denied的问题,我们可以这样,添加权限组,不过注意要和你的用户名是一样的!
然后再看一次就好了。docker version就行了
查看docker运行状态,可以看到使 绿色的active (running)是正在运行中的。
然后创建一个docker目录
安装一个curl
然后执行下面这一条语句
curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
查看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
是有点慢的。慢慢等吧~
然后下面这个也是修改标签为latest:
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
鉴于在虚拟机上面有点难git clone
,所以我们可以在windows下进行下载,然后通过xftp6进行转移。
在github上搜索fabric
然后用xftp6
记得是上传到这个目录下面。记得改名字
然后进入这个 e2e_cli
的目录下。(这个workspace目录是多余的,我后来删掉了,不要有workspace这个目录,不然无法下载的。就像上面那张图的红色箭头的目录就行了)
不过记得先要 chmod u+x network_setup.sh
给特权
然后执行 ./network_setup.sh up
然后在这个目录下就可以看到了这些可执行文件了。不过要把这些文件cp
到go的bin目录下。
小生凡一,期待你的关注。