现在是2020年的2月中旬,虽然现在疫情的导致返校时间不断延长,但是马上就要在线上课了,假期也算是快结束了。非常抱歉的是假期开始(也就是一个月前)定的许多计划都没有完成,其中就包括我们kcoin小组的上链工作。今天刚准备上手的时候发现了官方出了2.0的正式版本,就想尝试一下从头开始安装配置。let’s go!

1. 前提条件

  • cURL — 最新版
  • git — 最新版
  • wget — 最新版
  • Docker — 版本 17.06.2-ce 及以上
  • Docker Compose — 版本1.14.0及以上
  • Golang — 版本1.13.x
  • Nodejs — 8 : 版本8.9.4及以上 ; 10 : 版本10.15.3及以上(实测最新版本13.1.0-2也可以运行)
    Docker Compose和Nodejs的安装可以参考之前的博文

2.安装示例和二进制文件

现在的一键安装脚本默认安装的就是2.0版本了

1
curl -sSL https://bit.ly/2ysbOFE | bash

可以参考之前的博文先克隆仓库,再下载二进制文件,最后下载docker镜像。

二进制文件的下载地址如下(fabric-ca的最新版本仍然为1.4.4):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
download() {
    local BINARY_FILE=$1
    local URL=$2
    echo "===> Downloading: " "${URL}"
    # wget "${URL}" || rc=$?
    tar xvzf "${BINARY_FILE}" || rc=$?
    rm "${BINARY_FILE}"
    if [ -n "$rc" ]; then
        echo "==> There was an error downloading the binary file."
        return 22
    else
        echo "==> Done."
    fi
}

之后执行改shell脚本,便可自动解压可执行文件到指定目录,并下载最新版本的docker镜像
如果docker镜像下载速度慢的话,可以更改镜像源,参考segmentfault

1
sudo nano /etc/docker/daemon.json

在配置文件中加入

{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://hub-mirror.c.163.com"
    ]
}

最后重启docker

1
sudo systemctl restart docker

下载完成后如下

3.运行示例

根据官方网站上的教程https://hyperledger-fabric.readthedocs.io/en/release-2.0/build_network.html运行网络

3.1 生成验证文件

1
2
cd fabric-samples/first-network
./byfn.sh generate

3.2 启动网络

首先设置go的代理

1
2
3
4
# 启用 Go Modules 功能
export GO111MODULE=on
# 配置 GOPROXY 环境变量
export GOPROXY=https://goproxy.io

然后启动网络

1
./byfn.sh up

出现了一点错误

Error: error getting chaincode bytes: failed to calculate dependencies: incomplete package: github.com/hyperledger/fabric-chaincode-go/shim
!!!!!!!!!!!!!!! Chaincode packaging on peer0.org1 has failed !!!!!!!!!!!!!!!!
========= ERROR !!! FAILED to execute End-2-End Scenario ===========

后来重新关闭又启动了几次自己居然就好了

3.3 关闭网络

基本的例子到这里就算是运行成功了,最后需要把网络关闭即可

1
./byfn.sh down

参考

  1. https://hyperledger-fabric.readthedocs.io/en/release-2.0/
  2. https://mirrors.ustc.edu.cn/help/dockerhub.html
  3. https://hyperledger-fabric.readthedocs.io/en/release-2.0/getting_started.html