学习使用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” 是用来按顺序处理交易的组件。
由于其可能成为单点故障,建议进行冗余处理(正在调查应对方法…)。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f36333031382f62646561613035622d646661382d343231612d323331302d6332643830333234333331622e706e67.png

安装步骤

    • インストールするもの

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++

广告
将在 10 秒后关闭
bannerAds