1. 概览
准备工作
1 系统环境准备 :Ubuntu 20.02 LTC
2 apt 更换镜像源
3 辅助工具安装
4 安装go
5 安装容器docker和docker compose
Hyperledger Fabric安装
方法1: 以bootstrap.sh脚本方式进行环境的安装,优点是简单、方便,能够快速上手;需要虚拟机已配置科学上网工具
方法2:手动安装,以Fabric源码方式进行编译;较繁琐,但可以更加深入理解搭建过程
1. 下载并编译二进制文件(源码)
2. 下载fabric-samples
3. fabric-ca编译
4. Fabric docker镜像下载
5. 开发客户端安装golang-sdk
启动测试网络测试
2 准备工作
2.1 系统环境准备
系统环境:Ubuntu20.02 LTC
安装成功后输入刚才新建的用户和密码,进去即可,鼠标右键,选择Open in Terminal,即打开终端窗口:
输入命令sudo passwd
再次输入命令su root
,便切换到root用户
接下来给用户添加sudo权限,依次输入下面的命令:
第一,先给 /etc/sudoers 文件赋予可写的权限:chmod u+w /etc/sudoers
第二,接着编写 /etc/sudoers文件:vi /etc/sudoers
第三,在root ALL=(ALL:ALL) ALL
下面添加XXX(用户名) ALL=(ALL) ALL
语句
第四、恢复 /etc/sudoers 原来只读的权限:chmod u-w /etc/sudoers
2.2 apt 更换镜像源
- 备份一下之前的apt的资源配置文件,命令如下:
cp /etc/apt/sources.list /etc/apt/sources.list.bak
- 编辑源列表文件(vim或gedit都可以;也可尝试用资源管理器打开修改)
sudo vim /etc/apt/sources.list
-
进入界面
-
使用清华镜像源全部替换
https://mirrors.tuna tsiinghua.edu.cn/help/obuntu/
复制粘贴
- 替换与修改
HTTPS有时需要替换为http;# 后面为注释,可忽略
-
修改后保存
esc
:wq!
-
运行
sudo apt-get upgrade
作用:已经安装软件和软件列表对比,提示更新软件
2.3 辅助工具安装
工具 | 命令 |
---|---|
vim | sudo apt-get install vim |
git | sudo apt install git |
cURL | sudo apt install curl |
wget | sudo apt-get install wget |
libtool libltdl-dev | sudo apt install libtool libltdl-dev |
jq | apt install jq |
- vim
- git
git是一个非常优秀的开源版本管理控制工具,使用git工具可以方便地下载官方(Golang、Hyperledger Fabric等)在GitHub网站上发布的相关源代码或其他内容。 - cURL
curl:利用URL语法在命令行下工作的文件传输工具。支持文件上传和文件下载 - wget
wget:下载文件的工具,用在命令行下。经常要下载一些软件或从远程服务器恢复备份到本地服务器。 - libtool libltdl-dev
后面make编译fabric用到 - jq
后面fabric测试网络用到。
Optional: Install the latest version of jq (only required for the tutorials related to channel configuration transactions).
2.4 go 安装
GO官网地址 Download and install - The Go Programming Language (google.cn)
2.4.1 下载Golang压缩包
进入到Download文件夹,下载Golang压缩包-注意需要下载的版本
cd ~
cd Download
wget https://storage.googleapis.com/golang/go1.20.5.linux-amd64.tar.gz
2.4.2 解压到指定文件夹
切换到root模式;移除先前的go文件,并将安装包解压到指定文件夹;删除原有安装包;
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz
2.4.3 配置环境变量
root下输入命令
vim ~/.bashrc
输入i,进入编辑模式,在文件后面添加
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin
使文件生效
source ~/.bashrc
2.4.4. 配置用户环境变量
打开profile 文件
vim ~/.profile
文档末尾添加并保存
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin
使修改后的profile文件立即生效
source ~/.profile
2.4.5 配置终端变量
export PATH=$PATH:/usr/local/go/bin
2.4.6 go version验证
go version
2.4.7配置go代理
go env –w GO111MODULE=on
go env –w GOPROXY=https://goproxy.cn,direct
2.5 安装容器docker和docker compose
- 查看系统中是否已经安装Docker
docker --version
卸载docker
sudo apt-get remove docker docker-engine docker.io
- 安装Docker和docker compose环境
sudo apt update
sudo apt install docker
sudo apt install docker-compose
- 启动docker
sudo service docker start
- 验证
docker --version && docker-compose --version
- 开机启动docker
sudo systemctl enable docker
- 将当前用户加入docker组:
sudo groupadd docker
sudo usermod –a –G docker <username>
- docker images 命令 列出本地镜像
docker images
-
安装结果示例
-
安装docker加速器(阿里云镜像)
输入命令:cd /etc/docker
,进入/etc/docker目录 -
增加权限
sudo chmod -R 777 /var/run/docker.sock
查看docker状态
systemctl status docker
3 Hyperledger Fabric安装
3.1 下载并编译源码
3.1.1 下载fabric 源码
- 先使用mkdir命令创建相应的目录,然后使用git clone命令将Hyperledger Fabric源码克隆至该目录中:
mkdir -p $GOPATH/src/github.com/hyperledger/
cd $GOPATH/src/github.com/hyperledger/
git clone https:// github.com/hyperledger/fabric.git
- 查看fabric所有版本,并切换fabric版本:源码下载完成后使用git checkout命令切换至指定的分支:
cd $GOPATH/src/github.com/hyperledger/fabric/
git tag
git checkout -b v2.2.10 #根据需求选择版本号,建议使用LTC版本
3.1.2 编译fabric 源码(使用make release编译)
- 安装make
sudo apt install make
sudo apt install make-guile
- 使用make release编译
cd ~/go/src/github.com/hyperledger/fabric
make release
- 其中discover是服务发现命令,只需要检查另外六个是否安装好,fabric目录下输入以下命令:能正常显示版本号等相关信息即可
./release/linux-amd64/bin/peer version
./release/linux-amd64/bin/orderer version
./release/linux-amd64/bin/configtxgen -version
./release/linux-amd64/bin/configtxlator version
./release/linux-amd64/bin/cryptogen version
./release/linux-amd64/bin/osnadmin version
- 安装可执行文件
sudo cp $GOPATH/src/github.com/hyperledger/fabric/release/linux-amd64/bin/* /usr/local/bin
sudo chmod -R 775 /usr/local/bin/configtxgen
sudo chmod -R 775 /usr/local/bin/configtxlator
sudo chmod -R 775 /usr/local/bin/cryptogen
sudo chmod -R 775 /usr/local/bin/discover
sudo chmod -R 775 /usr/local/bin/ledgerutil
sudo chmod -R 775 /usr/local/bin/peer
sudo chmod -R 775 /usr/local/bin/orderer
sudo chmod -R 775 /usr/local/bin/osnadmin
3.2 下载fabric-samples
mkdir -p $GOPATH/src/github.com/hyperledger
cd $GOPATH/src/github.com/hyperledger
git clonehttps://github.com/hyperledger/fabric-samples.git
cd fabric-samples
切换版本号
sudo git checkout -b v2.2.10
查看当前版本
sudo git branch
3.3 fabric-ca编译
目录:回到hyperledger目录下
cd $GOPATH/src/github.com/hyperledger/ #目录:回到hyperledger目录下
下载fabric-ca源码
cd $GOPATH/src/github.com/hyperledger
git clone git@github.com:hyperledger/fabric-ca.git
fabric 与fabric-ca 对应版本号可在fabric/scripts/bootstrap.sh中查看
编译安装fabric-ca组件
cd $GOPATH/src/github.com/hyperledger/fabric-ca
make fabric-ca-server
make fabric-ca-client
安装编译好的可执行文件,输入以下命令:
cd $GOPATH/src/github.com/hyperledger/fabric-ca/bin
sudo cp * /usr/local/bin/
chmod -R 755 /usr/local/bin/fabric-ca-server
chmod -R 755 /usr/local/bin/fabric-ca-client
检查是否可执行:
fabric-ca-server version
fabric-ca-client version
3.4 Fabric docker镜像下载
cd $GOPATH/src/github.com/hyperledger/fabric/scripts
./bootstrap.sh
docker images # 查看镜像信息
3.5 开发客户端安装golang-sdk
cd $GOPATH/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric-sdk-go
# github不行就换gitee
4 启动测试网络
官方文档: Using the Fabric test network — hyperledger-fabricdocs main documentation
cd $GOPATH/src/github.com/hyperledger/fabric/scripts/fabric-samples/test-network
启动测试网络
./network.sh up
创建通道
./network.sh createChannel
在通道上启动链码
./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go