fabric 是 hyperledger 中的一个比较成熟的区块链项目,率先提出了需要权限验证的区块链概念。对比比特币、以太坊等公有链,fabric 应该算是联盟链。创建 fabric 区块链,首先需要确认谁会参与到该链中来,然后制作对应的证书等文件,并且分发给参与者。因为这些证书是参与链建设的凭证,所以它是需要验证的。
fabric 我也是在学习中,有好多的概念也不是十分了解,今天就先使用官方提供的例子搭建一个 fabric 网络。
1 准备
- 按照Go语言,这时候默认会创建 ~/go 目录。
- 安装Docker 环境。
由于1、2步骤都是去网上下载安装包安装成功后,就OK了,所以就不详细写了。
- 切换到 ~/go 目录,创建src/github.com/hyperledger/,最终目录为
~/go/src/github.com/hyperledger/。 -
clone 代码库
切换到~/go/src/github.com/hyperledger/目录下,使用如下命令克隆fabric-sample仓库。git clone https://github.com/hyperledger/fabric-samples.git
-
安装fabric命令、下载docker镜像
启动docker,然后切换到 fabric-samples 目录下,执行如下命令:curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0
该命令执行完成后,当前目录下会出现 bin 目录,里面都是 fabric 的一些命令。另外使用 docker images
可以看到下载了很多镜像,这些镜像都是启动 fabric 要使用的。
- 生成配置文件
切换到 first-network 目录,然后执行./byfn.sh -m generate
, 相关的配置文件会在 crypto-config 目录中生成。(至于这里面的东西后面再介绍) - 启动网路
运行./byfn.sh -m up
。看到类似如下内容,说明成功。
这两张图中间还有好多输出,省略了。第一张表示启动成功了,第二张表示一些链码都执行成功结束了。
- 停止网络
运行./byfn.sh -m up
这样就把一个 fabric 的网络搭建起来了,但是可能都困惑这里面有东西没有。hyperledger 还有一个项目叫做 blockchain-explorer, 能够查看链上数据,后面会写一篇文章怎么安装。先上一张截图:
参考文章:
http://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html
http://hyperledger-fabric.readthedocs.io/en/latest/samples.html
http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html