简述
本教程将从搭建本地开发环境(非Docker),到ChainCode编写,到调用Nodejs SDK,再到设计API,前端网页调用完成一个基于Fabric的完整应用。
系统版本: Ubuntu 18.04
不同系统版本可能使用的安装命令不同,较老的Ubuntu系统版本,请使用“apt-get”代替“apt”。
同时,不同的系统版本使用包管理器安装的包的版本可能不一致,如果版本未达到要求,请参考其他资料手动安装。
Fabric版本: release-1.3
不同Fabric版本有所差异,本教程只针对release-1.3版本
所需工具
- git
- curl
- Docker 和 Docker Compose Docker => version 17.06.2-ce 或更高
- Go => version 1.10.x
- Node.js => version 8.9.x 或更高,但是不支持9.x
- NPM => version 5.6.0
- Python 2.7
安装所需工具
git
$ sudo apt install git
curl
$ sudo apt install curl
Docker and Docker Compose
$ sudo apt install docker.io
$ sudo apt install docker-compose
go
$ sudo apt install golang-go
// 设置环境变量GOPATH
$ cd ~
$ mkdir -p go/src go/bin go/pkg
// export GOPATH=$HOME/go
// export PATH=$PATH:$GOPATH/bin:
// 将以上两句话加入 ~/.bashrc 文件的最后
// 然后执行
$ source ~/.bashrc
Node.js and NPM
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt install -y nodejs
Python 2.7
对于某些系统默认Python版本可能是3.x,安装之前请使用如下命令确认Python默认版本:
$ python --version
如果为3.x则使用如下命令可替换为2.7
$ sudo apt install python
下载编译Fabric
$ cd $GOPATH/src/github/hyperledger
$ git clone https://github.com/hyperledger/fabric.git
// 下载完成后
$ cd fabric
$ make release
// 编译完成后的文件在 release/linux-amd64/bin 目录下
$ cp configtxgen configtxlator cryptogen peer orderer $GOPATH/bin
// 然后就可以使用编译好的工具了
$ cryptogen version
// 查看cryptogen版本信息,如下:
// cryptogen:
// Version: 1.3.0
// Commit SHA: 306640d39
// Go version: go1.10.1
// OS/Arch: linux/amd64
Fabric核心模块简单介绍:
- peer: 主节点模块,负责存储区块链数据,运行维护链码。使用该工具来启动节点。
- orderer: 交易打包、排序模块。使用该工具启动排序节点。
- cryptogen: 组织和证书生成模块。该工具主要用来生成在配置文件中定义的组织,用户的证书。
- configtxgen: 区块和交易生成模块。使用该工具生成创始区块,交易提案等。
- configtxlator: 区块和交易解析模块。使用该工具可以将区块文件或者其他生成的配置文件解析成可读的json格式。例如当生成创始块后,有需要增加组织,可以使用该工具修改创始块的内容,实现手动增加组织的目的。
上边说的“工具”即编译生成的文件,其实就是那个对应模块生成的文件。
网友评论