学习使用Hyperledger Fabric进行区块链的教程(2/9),运行示例
学习在Hyperledger Fabric中的区块链(1/9)什么是区块链
⇒ 学习在Hyperledger Fabric中的区块链(2/9)运行示例
学习在Hyperledger Fabric中的区块链(3/9)查看区块
学习在Hyperledger Fabric中的区块链(4/9)安装Kafka
学习在Hyperledger Fabric中的区块链(5/9)可视化
环境设立
用意するもの
CentOS7 メモリ4GB以上 ※コメント参照
ブロックチェーンネットワーク環境
fabric-sdk:1.4
チェーンコード:golang
クライアント:node.js
ブロックチェーンネットワーク構成
(fabric-sample/balance-transfer)
1組織2Peer
2組織
orderer1つ
kafkaなし
用图表表示区块链网络的构成如下:
“Orderer” 是用来按顺序处理交易的组件。
由于其可能成为单点故障,建议进行冗余处理(正在调查应对方法…)。
安装步骤
-
- インストールするもの
git
jq
docker
node
golang
fabric-sample (git clone)
sudo yum install -y git
sudo yum install -y jq
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum install -y docker-ce
在package.json中指定的版本将被安装在node上。可能会运行最新版本。
curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install -y nodejs-8.9.4 # node8.9, npm 5.6
sudo yum install -y golang
mkdir -p /var/www
cd /var/www/
git clone https://github.com/hyperledger/fabric-samples.git
执行步骤
事前準備
dockerの起動
node clientの起動
channelの作成
channelに参加
chaincodeのインストール
channelの初期化
実行
チェーンコード実行
ブロック取得
channel情報取得
從事前準備到執行,只需使用兩個Shell就可以完成。
cd /var/www/fabric-samples/balance-transfer
./runApp.sh
./testAPIs.sh
执行结果
由于需要机器性能,因此可能会遇到无法顺利运行的情况。
我们会对fabricSDK的调用进行一些修正,但这次我们将介入通道的初始化。
通道的初始化被调用是在 instantiate-chaincode.js 中进行的。
将 instantiate-chaincode.js 中的超时时间从60秒更改为180秒(2处)。
让结果 = await channel.sendInstantiateProposal(request, 180000); //实例化需要更长的时间
}, 180000);
在启动 node client 时,将执行 npm install。由于可能会出现 gcc 错误,请参考以下内容。安装脚本失败 ‘node-gyp rebuild’。
安装node-gyp:npm install -g node-gyp
将python配置为/usr/bin/python:npm config set python /usr/bin/python
安装gcc-c++:yum install gcc-c++