因为毕设关系需要用到Hyperledger fabric 2.X的版本,但是找了一圈发现只有1.4版本的配置过程,而且因为Hyperledger fabric本身不支持arm所以需要手动编译,就很麻烦,刚好在谷歌的时候找到了一个github上有人编译过2.1版本于是照着他的教程配置了一下,目前是可以成功运行测试文件了,因此在这里先对前期过程进行一个记录:
https://github.com/busan15/fabric-binaries-pi
配置介绍: 树莓派 4b 内存4G 存储128G(实际不需要这么多) Ubuntu 20.04
因为开始使用的iotex开发,用的Ubuntu 18.04版本所以这里直接全部从头再来:
1.Ubuntu安装
在官网下载20.04版本64 bit Ubuntu
https://ubuntu.com/download/raspberry-pi
2.使用工具安装镜像
3.启动树莓派
ssh ubuntu@192.168.50.31 //@后面跟树莓派的地址
第一次启动需要输入默认密码,然后要求修改密码,这里默认密码是ubuntu
4更新apt以及工具安装
sudo apt-get update
sudo apt-get install vim
sudo apt-get install gcc
sudo apt-get install git
sudo apt-get install curl
sudo apt-get install docker
sudo apt-get install docker-compose
sudo apt install golang //本来应该手动配置go语言环境,这里直接使用自动安装指令安装了1.13.8版本,目前暂时没有问题
5.添加docker hub镜像(可选,这里我给路由器挂了代理所以并没有添加)
sudo vi /etc/docker/daemon.json
将以下内容添加到daemon.json中(这里不一定阿里云的镜像好用可以考虑多设置几个镜像):
{
"registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
执行以下命令,若不报错则添加成功,并重启docker:
systemctl daemon-reload
systemctl restart docker
6.为用户Ubuntu设置权限启动docker服务
sudo groupadd docker
sudo gpasswd -a $ubuntu docker //此处ubuntu是自己的用户名
sudo gpasswd -a $USER docker
newgrp docker //更新完docker后错误消失,重新执行命令成功执行
本步骤如果不设置会出现以下错误,因为以前犯过所以马上反应过来了
7.下载fabric2.1并将fabric-samples放在scripts目录下并解压
8.执行测试文件
cd fabric-samples
cd test-network
./network.sh -h
./network.sh up
执行后会自动开始拉取相关docker
拉取成功后执行如下,则代表配置成功:
后记:作者有提到编译后的项目可能会包含问题并且并没有维护,因此后续是否稳定是否会出现一些问题有待测试,这里先记录下基本部署,后面开发如果出现问题另行记录。