Hyperledger Fabric1.4配环境
- Ubuntu18.04配Hyperledger Fabric1.4环境
- 参照官方文档(比较容易失败)
- 自己整理(从此处开始)
- 安装git和vim
- 安装docker
- 安装Go
- node和npm安装
- 拉取fabric源码
- 拉取镜像
- 下载可执行二进制文件
- 几个链码例子的位置(Go)
Ubuntu18.04配Hyperledger Fabric1.4环境
参照官方文档(比较容易失败)
- 查看docker版本(是否安装)
具体安装步骤可以百度。
docker --versiondocker-compose --version
- 安装Go,并且配置环境变量。
环境变量在/etc/profile
,末尾加上一点东西。
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
- 安装nodejs(这一步不稳定)
npm install npm@5.6.0 -g
- 安装python
sudo apt-get install python
下面的不好成功,需要稳定的VPN
- 安装最新版的hyfa镜像(现在版本应该是2.0)
curl -sSL http://bit.ly/2ysbOFE | bash -s
- 制定安装1.4.3版本的镜像
curl -sSL http://bit.ly/2ysbOFE | bash -s -- 1.4.3 1.4.3 0.4.15
自己整理(从此处开始)
- 更新系统软件
sudo apt-get update
安装git和vim
- 安装git
sudo apt install git
- 安装vim
sudo apt-get install vim
更换国内源
参考链接1
参考链接2
安装docker
sudo apt install docker.io
设成非root用户也能执行docker,将普通用户组加入docker组
sudo usermod -aG docker 你的用户名 (重启生效)
- 安装docker-compose
sudo apt install docker-compose
允许其他用户执行compose相关命令,重启生效。
sudo chmod +x /usr/share/doc/docker-compose
安装Go
官网地址
一般是自动下载到download文件夹,将其解压缩到/usr/local/
sudo tar -zxvf ~/Downloads/go1.11.11.linux-amd64.tar.gz -C /usr/local/
修改环境变量
sudo vim /etc/profile
如果这一步修改后保存不了,就先sudo su
进入root,再重新进入进行修改。
修改内容:
在文件的最后加上
export GOPATH=$HOME/go
export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH
保存修改:
source /etc/profile
检查版本:
go version
node和npm安装
查看自己的linux的版本,一般都是64位。
uname -a
进入nodejs官网进行下载。下完一般是在download文件夹下。
解压,并将其转移到指定的路径。(我这里是/usr/local)
sudo mv node-v12.17.0-linux-x64 /usr/local
查看node-v12.17.0-linux-x64目录下有没有node和npm文件,有的话执行软连接(两个地址中间的空格不能少)。
sudo ln -s /usr/local/node-v12.17.0-linux-x64/bin/node /usr/local/bin
sudo ln -s /usr/local/node-v12.17.0-linux-x64/bin/npm /usr/local/bin
如果因为版本问题软连接错误了只需要把 /usr/local/bin 中的构建了错误的软连接的文件删除,再重新装即可。
查看node和npm版本
node -v
npm -v
拉取fabric源码
- 创建一个空目录
mkdir -p ~/go/src/github.com/hyperledger
- 进入该目录
cd ~/go/src/github.com/hyperledger
- 拉取源码(因为github上拉取有点慢,我转存到了码云上)
git clone https://gitee.com/tyzhu/fabric.git
- 查看并切换当前分支(后面切换分支也是这样)
cd ./fabricgit branch -agit checkout v1.4.0
拉取镜像
cd scriptsgit clone https://gitee.com/tyzhu/fabric-samples.gitcd ./fabric-samples
切换分支
git branch -agit checkout v1.4.0
下载可执行二进制文件
两个二进制文件
hyperledger-fabric-linux-amd64-1.4.0.tar
hyperledger-fabric-ca-linux-amd64-1.4.0.tar
下载的 hyperledger-fabric-linux-amd64-1.4.0.tar 压缩包内有 bin 和 config 两个文件夹,hyperledger-fabric-ca-linux-amd64-1.4.0.tar 压缩包内有 bin 文件夹,将两个 bin 文件夹内的二进制文件汇总在一个 bin 文件夹内。 最后将 bin 和 config 文件夹复制到 fabric-samples 文件夹内。
百度云链接(提取码:lw36)
下载Docker镜像(待实验)
sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json
将以下内容添加到json文件中
{"registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
重新启动docker
sudo systemctl daemon-reload
sudo systemctl restart docker
打开bootstrap.sh脚本
在go/src/github.com/hyperledger/fabric/scripts
路径下
sudo vim bootstrap.sh
看到打开的文件结尾的内容为:
if [ "$SAMPLES" == "true" ]; thenechoecho "Installing hyperledger/fabric-samples repo"echosamplesInstall
fi
if [ "$BINARIES" == "true" ]; thenechoecho "Installing Hyperledger Fabric binaries"echobinariesInstall
fi
if [ "$DOCKER" == "true" ]; thenechoecho "Installing Hyperledger Fabric docker images"echodockerInstall
fi
我们将前面 sampleInstall 和 binariesInstall 的过程给注释掉,变为:
# :if [ “$SAMPLES” == “true” ]; then
# echo
# echo "Installing hyperledger/fabric-samples repo"
# echo
# samplesInstall
#fi
#if [ "$BINARIES" == "true" ]; then
# echo
# echo "Installing Hyperledger Fabric binaries"
# echo
# binariesInstall
#fi
if [ "$DOCKER" == "true" ]; thenechoecho "Installing Hyperledger Fabric docker images"echodockerInstall
fi
然后执行该 bootstarp.sh 脚本
sudo ./bootstrap.sh
测试环境是否能够安装成功
切换文件夹
cd ./fabric-samples/first-network/
./byfn.sh up
如果最后出现end就算成功。
看完以后务必记得关闭网络,不然后面可能会出现问题。
./byfn.sh down
几个链码例子的位置(Go)
cd go/src/github.com/hyperledger/fabric/examples/chaincode/go