Ubuntu18.04.5配置Hyperledger Fabric

本文详细介绍了在Ubuntu18.04.5上配置HyperledgerFabric的步骤,包括安装Go语言,设置环境变量,安装Docker,配置阿里云镜像源,以及下载和启动超级账本的测试网络。此外,还提到了在配置过程中可能出现的问题及解决方案,如环境变量的激活和链码的部署。
摘要由CSDN通过智能技术生成

Ubuntu18.04.5配置Hyperledger Fabric

Go语言配置

下载Linux的go安装包,go1.15.5
复制压缩包到usr/local下解压

cp -r go1.15.5.linux-amd64.tar.gz /usr/local
cd /usr/local
tar zxvf go1.15.5.linux-amd64.tar.gz

配置环境变量

sudo gedit ~/.profile

把下面内容添加到profile里

export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

最后更新配置,并用命令查看go语言版本

source ~/.profile
go version

如果想在root模式下运行的话,需要按照下面说明配置环境变量

su   #进入root模式
gedit /etc/profile
#将上面环境变量粘贴进文档
source /ect/profile
#可能每进入一次root都需要source命令激活环境变量

Docker安装

如果不是新安装的Ubuntu,执行以下命令清楚旧docker

sudo apt-get remove docker \
             docker-engine \
             docker.io

清除完成后按以下步骤安装Docker

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2:安装GPG证书:
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# step 3:写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# step 4:更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
# step 5: 创建docker用户组
sudo groupadd docker
# step 6:将当前用户添加到docker用户组
sudo usermod -aG docker $USER
# step 7:更新用户组
newgrp docker

进入etc/docker目录下创建或者编辑daemon.json文件

cd /etc/docker
# 查看是否有daemon.json
cd ls
sudo gedit daemon.json

打开后将以下内容添加进去

{
    "registry-mirrors": ["http://f1361db2.m.daocloud.io","https://hub-mirror.c.163.com","https://xsoeja86.mirror.aliyuncs.com"]
}

重启服务器

sudo systemctl daemon-reload
sudo systemctl restart docker

检查docker版本

docker -v

下面安装docker-compose


sudo curl -L https://github.com/docker/compose/releases/download/1.25.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#更改权限
sudo chmod +x /usr/local/bin/docker-compose
#检查docker-compose版本
docker-compose -v

超级账本安装

创建安装文件夹

cd                  #cd 不加内容是默认返回Home文件夹
mkdir -p go/src/github.com/hyperledger/
#进入刚刚创建的文件夹内
cd go/src/github.com/hyperledger/

从Github上拉取fabric源码(不得不说这个下载速度是真的慢)

git clone "https://github.com/hyperledger/fabric.git"
cd fabric/
cd scripts/

#这一步会下载官方的例子以及所需要的Docker镜像
sudo ./bootstrap.sh

在这里插入图片描述
由于bootstrap.sh会下载fabric的二进制镜像文件,但速度极其缓慢,只能等或者看运气。
所以我们从Github直接下载源压缩包,解压得到二进制文件后,下载其余文件。这样可能会没有fabric-ca
下载完成后进入内部文件夹

cd fabric-samples/test-network

下面演示如何运行测试网络,可参考官网教程

./network.sh down #关闭之前建立的网络
./network.sh up #启动测试网络

在这里插入图片描述
创建默认通道

./network.sh createChannel  #创建通道

在这里插入图片描述
如果出现以下报错那就需要激活一下环境变量
在这里插入图片描述

可以使用以下命令在通道上启动链码(fabcar的链码)

./network.sh deployCC -ccn fabcar -ccp ../chaincode/fabcar/go -ccv 1 -ccl go

通过以下命令添加环境变量

export PATH=${PWD}/../bin:${PWD}:$PATH
export FABRIC_CFG_PATH=$PWD/../config/

# 下面Org1和Org2选择一个配置即可

# Environment variables for Org1
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7051

# Environment variables for Org2
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org2MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
export CORE_PEER_ADDRESS=localhost:9051

通过下面命令来初始化账本

peer chaincode invoke \
-o localhost:7050 \
--ordererTLSHostnameOverride orderer.example.com \
--tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem \
--peerAddresses localhost:7051 \
--tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt \
--peerAddresses localhost:9051 \
--tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt \
-C mychannel \
-n fabcar \
-c '{"function":"InitLedger","Args":[]}'

使用如下命令便可查询Car9的相关参数:

peer chaincode query -C mychannel -n fabcar -c '{"Args":["queryCar","CAR9"]}'
#结果如下显示
{"make":"Holden","model":"Barina","colour":"brown","owner":"Shotaro"}

整个测试下来没有问题应该就是配置成功,如有问题欢迎大家留言讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值