Hyperledger Fabric安装测试
被这个大疫情关在家里无聊,决定还是把Hyperledger Fabric自己安装一遍。
参考原文:“基本概念与第一个区块链应用”
原文地址:https://www.ibm.com/developerworks/cn/cloud/library/cl-lo-hyperledger-fabric-study-notes1/index.html
这篇文章操作下来大体没啥问题,但是在操作过程中,还是发现了一点点小问题。
1、raw.githubusercontent.com 解析由问题,需要手工添加hosts
2、安装composor后,需要手工启动dock
3、这个最新的版本是1.2,但安装过程提示composor已经废弃不用了。去看了官网最新release1.4.4,应该有调整(2.0beta版也有了)
详细记录操作过程如下,希望大家不要继续踩坑。
一、准备工作
#准备linux操作环境(我是用的windows下的wsl2的ubuntu)
#添加/etc/hosts(否则后面安装会失败)【官网没说明】
199.232.28.133 raw.githubusercontent.com
#创建fabric专门的用户
adduser fabric
用fabric用户登录(su - fabric)
二、安装基础软件
curl -O https://hyperledger.github.io/composer/latest/prereqs-ubuntu.sh
chmod u+x prereqs-ubuntu.sh
./prereqs-ubuntu.sh
成功后重新登录fabric用户
三、安装composor
#安装composor cli
npm install -g composer-cli
#安装composor rest server
npm install -g composer-rest-server
#安装generator-hyperledger-composer
npm install -g generator-hyperledger-composer
#安装 Yeoman
npm install -g yo
#启动docker(否则后面downloadFabric会失败Cannot connect to the Docker daemon)【官网没说明】
sudo service docker start
四、安装runtime
#创建目录
mkdir fabric-tools
cd fabric-tools/
#下载dev server
tar -xvf fabric-dev-servers.tar.gz
./downloadFabric.sh
#查看下载后的image,5个3.6g
docker images
#启动
./startFabric.sh
#创建card它包含了 Fabric 网络的信息以及管理员 PeerAdmin 与之连接所必须的信息
./createPeerAdminCard.sh
五、部署业务网络
#安装业务网络
yo hyperledger-composer:businessnetwork
#输入参数如下:
Business network name: tutorial-network
Description: The first blockchain network
Author name: Alice
Author email: [email protected]
License: Apache-2.0
Namespace: org.example.biznet
#生成bna,部署指定的 .bna 文件到 Fabric 网络
cd ~/fabric-tools/tutorial-network
composer archive create -t dir -n .
composer network install --card [email protected] --archiveFile [email protected]
#启动网络。如果这步失败,再执行一次就好了
composer network start --networkName tutorial-network --networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card [email protected] --file networkadmin.card
#导入admin的card(之前生成的是peeradmin)
composer card import --file networkadmin.card
#显示卡片,可以看到两个。ping网络显示成功
composer card list
composer network ping --card [email protected]
六、启动restserver
#启动rest server
composer-rest-server
#相关输入参数如下(card:[email protected])
#浏览器访问 http://localhost:3000/explorer
七、业务操作测试
在浏览器通过restapi进行业务测试
1、SampleParticipant:POST添加一个SampleParticipant参与人
{
"$class": "org.example.biznet.SampleParticipant",
"participantId": "SP_1",
"firstName": "Alice",
"lastName": "Fabric"
}
2、Asset:POST添加两个SampleAsset,关联参与人
{
"$class": "org.example.biznet.SampleAsset",
"assetId": "SA_1",
"owner": "org.example.biznet.SampleParticipant#SP_1",
"value": "$100"
}
{
"$class": "org.example.biznet.SampleAsset",
"assetId": "SA_2",
"owner": "org.example.biznet.SampleParticipant#SP_1",
"value": "$100"
}
3、SampleTransaction:POST发起SampleTransaction交易
{
"$class": "org.example.biznet.SampleTransaction",
"asset": "org.example.biznet.SampleAsset#SA_1",
"newValue": "$105"
}
4、查看交易和资产等信息