区块链技术大有可为,非常值得研究,首先需要安装组件如下:
1.Docker-compose:Docker 容器管理;
2.Go lang SDK:Go 语言开发、编译环境;
3.Git:git 镜像克隆与提交;
4.Rest Client: rest API 测试;
容器主要运行有:MemberSrv 和Peer;
一、HyperLedger Fabric环境准备
a)检查版本
$ uname –r
3.10.0-229.el7.x86_64
b)更新Centos
yum update
c)安装需要软件
yum install –y docker gcc gcc-c++
首先安装epel扩展源:
sudo yum -y install epel-release
然后安装python-pip
sudo yum -y install python-pip
pip install docker-compose
docker-compose –v #查询版本
yum -y install nodejs npm --enablerepo=epel #使用epel源安装nodejs及npm
验证npm安装:
npm install npm@latest
查看npm版本:
npm -v
二、下载源代码并创建Fabric网络
创建 Fabric 工程和项目目录
mkdir /opt/fabric
cd /opt/fabric/
下载并解压缩部署Fabric网络的相关组件 ,包括Docker Compose 脚本, 通道创建/加入脚本, 认证使用的加密要素等.
curl -L https://raw.githubusercontent.com/voodoo12345/polaris/master/fabpre.tar.gz -o fabpre.tar.gz 2> /dev/null; tar -xvf fabpre.tar.gz
三、使用Docker 创建Fabric网络 & 创建/加入通道(账本)
1)确保已经下载的docker-compose.yml文件中hyperledger/fabric-ccenv 镜像的标签是 latest,执行命令自动下载Docker镜像
docker-compose build
docker images #确认下载了三个镜像文件成功
2)按照docker-compose.yml文件创建Fabric网络,创建通道(正本), 将Peer节点加入通道:
docker-compose up
3)查看容器:
docker ps
终端应该显示有6个独立运行的容器(3 个peer节点, 1个 独立的 orderer, CLI 和 CA)
4)确保通道已成功创建,并且节点都成功加入:
docker exec -it cli sh #进入cli容器执行命令
5)查看通道创建/节点加入的结果:
cat results.txt
6)验证成功创建了创世块,执行如下命令:
ls -ltr myc1.block
四、下载演示程序和SDK 模块
1)创建案例程序目录
mkdir –p test
cd pest
下载用于部署、调用和查询案例智能合约的 javascript 代码 ,同时,它也包含了node SDK 依赖的模块.
curl -OOOOOO https://raw.githubusercontent.com/hyperledger/fabric-sdk-node/master/examples/balance-transfer/{config.json,deploy.js,helper.js,invoke.js,query.js,package.json}
安装node 模块:
npm install
现在已经拥有了全部Fabric网络运行需要的组件.
五、使用 node SDK 注册/登录一个用户并执行部署/调用/查询操作
1)注册/登录 & 部署智能合约 (Linux or OSX):
GOPATH=$PWD node deploy.js
2)执行一个调用操作. 从 “a” 转移一定资产到 “b”:
node invoke.js
3)查询键值 “b”:
node query.js