ubuntu下搭建区块链(Hyperledger Fabric)

Manda ·
更新时间:2024-09-20
· 818 次阅读

title: ubuntu下搭建区块链 (Hyperledger Fabric)
date: 2020-01-04 19:50:36
tags: 区块链
category: 教程

本文首发于喜欢二福的沧月君的小站

博主环境:华为云Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-165-generic x86_64)

**使用root用户登录 **

1、安装Golang环境 1.1下载golang

下载

wget https://studygolang.com/dl/golang/go1.9.linux-amd64.tar.gz

安装

tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz 1.2配置go的环境变量

打开配置文件

vim ~/.bashrc

修改文件(在下面加入)

GOROOT=/usr/local/go GOPATH=~/go PATH=$GOPATH/bin:$PATH

如果配置过其他的环境,java什么的,PATH加到后面就行

PATH=JAVAHOME/bin:JAVA_HOME/bin:JAVAH​OME/bin:ZK_HOME/bin:GOPATH/bin:GOPATH/bin:GOPATH/bin:PATH

保存退出(esc,输入:wq)

source .bashrc

新建 go的目录GOPATH

mkdir go 2、下载docker 2.1安装docker 安装必要的一些系统工具 apt-get update 安装GPG证书 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - 写入软件源信息 add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" 更新并安装 Docker-CE apt-get -y update apt-get -y install docker-ce 查看是否安装完成,显示当前的docker版本 docker version 注销并重新登录,然后添加阿里云的Docker Hub镜像 mkdir -p /etc/docker

修改文件

vim /etc/docker/daemon.json

加入

"registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]

保存退出,重启docker

systemctl daemon-reload systemctl restart docker 2.2 Docker-Compose的安装 要安装Python-pip: sudo apt-get install python-pip 然后是安装docker-compose curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose sudo mv ~/docker-compose /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 3、Fabric源码下载 3.1 github上clone 下载源代码 我们可以使用Git命令下载源码,首先需要建立对应的目录,然后进入该目录,Git下载源码: mkdir -p ~/go/src/github.com/hyperledger cd ~/go/src/github.com/hyperledger git clone https://github.com/hyperledger/fabric.git Fabric 切换到指定版本v1.0.0(这个喜欢用哪个版本都可以,我看网上1.0.0多一点,就用了这个) cd ~/go/src/github.com/hyperledger/fabric git checkout v1.0.0 3.2 Fabric Docker镜像的下载 下载 cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/ source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0 下载完毕后,检查下载的镜像列表: 执行命令:docker images 4、编译cryptogen 编译生成 cryptogen之前我们需要安装一个软件包,否则编译时会报错 apt install libtool libltdl3-dev Fabric提供了专门编译cryptogen的入口,我们只需要运行以下命令即可: cd ~/go/src/github.com/hyperledger/fabric make cryptogen 运行后系统返回如下结果即代表编译成功了 build/bin/cryptogen CGO_CFLAGS=" " GOBIN=/home/studyzy/go/src/github.com/hyperledger/fabric/build/bin go install -tags "" -ldflags "-X github.com/hyperledger/fabric/common/tools/cryptogen/metadata.Version=1.0.0" github.com/hyperledger/fabric/common/tools/cryptogen Binary available as build/bin/cryptogen 5 、修改文件运行区块链 切换路径 cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli 修改 /etc/resolv.conf 配置,将 options ********** 内容注释掉,作者修改后的内容如下 # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN 127.0.0.1 # options timeout:2 attempts:3 rotate single-request-reopen

执行启动命令,它会启动一个 mychannel 的channel

./network_setup.sh up mychannel

进入到docker 的shell 中

docker exec -it cli bash

查看a 用户有多少余额

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}' 如果要转帐20 元给b,执行以下命令 peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}' 再来查看a的余额,就变为70元 peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}' 关闭e2e_cli 的demo服务 exit 关闭 myChannel ./network_setup.sh down myChannel 到此,fabric 环境的搭建和演示就结束了。
作者:喜欢二福的沧月君



hyperledger ubuntu fabric 区块链

需要 登录 后方可回复, 如果你还没有账号请 注册新账号