简介
超级账本,英文名为HyperLdeger,项目由Linux基金会在2015年发起,目标是成为商业世界的标准化区块链解决方案。目前已经有超过100个大型企业参与了代码贡献,这里面还包括了腾讯和阿里。项目运作一直较为低调,并且也没有发行token,可以说是纯技术型。整个项目在github上面开源,代码清晰,文档齐全,非常适合想要深入学习区块链的程序员们。我在这里抛砖引玉,做一个超级账本Fabric的起步教程——讲一讲如何怎么搭建这个超级账本的网络。
准备工作
这里以超级账本Fabric 1.1,Mac系统为例,一步步安装超级账本的依赖。
Docker
安装Docker,如果已经安装过,注意版本必须大于17.06.2,不然需要更新到这个版本。
Go语言环境
Go的版本要求为大于1.10,Mac的话直接使用Homebrew安装,十分方便。
brew install golang
NodeJs
这里比较特殊一些,NodeJs 9以上的版本暂时不兼容,支持版本为 8.9以上 9以下。推荐使用nvm做NodeJs的版本控制。
安装nvm:brew install nvm
用nvm安装NodeJs:nvm install 8.10
切换NodeJs版本:nvm use 8.10
Python
默认情况下Mac系统自带python的运行环境,超级账本Fabric需要python2.7的运行环境,确认python版本为2.7即可。
安装Fabric的样例
切换到你的工作区,运行下面的命令下载Fabric相关的运行包:
curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0
这里下载的文件包含一些节点镜像,文件体积较大,可能需要等待较长时间。
启动网络
切换到样例所在目录
cd fabric-samples/first-network
生成网络配置文件
./byfn.sh -m generate
之后会出现询问,按Y通过即可。
启动网络
./byfn.sh -m up
出现询问,按Y通过,之后会看到如下图示,网络启动:
Starting with channel 'mychannel' and CLI timeout of '10'
Continue? [Y/n]
proceeding ...
Creating network "net_byfn" with the default driver
Creating peer0.org1.example.com
Creating peer1.org1.example.com
Creating peer0.org2.example.com
Creating orderer.example.com
Creating peer1.org2.example.com
Creating cli
____ _____ _ ____ _____
/ ___| |_ _| / \ | _ \ |_ _|
\___ \ | | / _ \ | |_) | | |
___) | | | / ___ \ | _ < | |
|____/ |_| /_/ \_\ |_| \_\ |_|
Channel name : mychannel
Creating channel...
成功之后,会出现:
Query Result: 90
2017-05-16 17:08:15.158 UTC [main] main -> INFO 008 Exiting.....
===================== Query on peer1.org2 on channel 'mychannel' is successful =====================
===================== All GOOD, BYFN execution completed =====================
_____ _ _ ____
| ____| | \ | | | _ \
| _| | \| | | | | |
| |___ | |\ | | |_| |
|_____| |_| \_| |____/
到这里,超级账本Fabric的区块链网络就算配置成功了,可以庆祝一下!
最后,关闭网络的话,运行下面的命令就行:
./byfn.sh -m down
总结
看到这里,你就了解如何构建你的第一个超级账本Fabric网络,接下来需要深入了解网络中不同节点的具体用途,以及更详细的使用方式。如果还没有看过超级账本基本概念的同学,可以参考我之前的文章超级账本Fabric —— 运行机制详解, 英文好的同学也可以到官方教程查看更详细的资料。
网友评论