hyperledger fabric-samples之balance-transfer安装(fabric-sdk-node的简单使用例子)

概述
balance-transfer项目是fabric-sdk-node的简单使用例子

依赖安装以及系统要求
系统

[root@fabric-cli ~]# uname -a
Linux fabric-cli 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@fabric-cli ~]# cat /etc/re
redhat-release  resolv.conf     
[root@fabric-cli ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 

安装node docker docker-compose git

yum install docker git python-pip -y 
pip install --upgrade pip -y
pip install docker-compose -y
[root@fabric-cli balance-transfer]# node -v
v8.11.1
[root@fabric-cli balance-transfer]# docker-compose -v
docker-compose version 1.21.0, build 5920eb0
[root@fabric-cli balance-transfer]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64
 Experimental:    false

所需镜像

[root@fabric-cli first-network]# docker images 
REPOSITORY                               TAG                 IMAGE ID            CREATED             SIZE
docker.io/hyperledger/fabric-ca          x86_64-1.1.0        72617b4fa9b4        6 weeks ago         299 MB
hyperledger/fabric-ca                    latest              72617b4fa9b4        6 weeks ago         299 MB
docker.io/hyperledger/fabric-tools       x86_64-1.1.0        b7bfddf508bc        6 weeks ago         1.46 GB
hyperledger/fabric-tools                 latest              b7bfddf508bc        6 weeks ago         1.46 GB
docker.io/hyperledger/fabric-orderer     x86_64-1.1.0        ce0c810df36a        6 weeks ago         180 MB
hyperledger/fabric-orderer               latest              ce0c810df36a        6 weeks ago         180 MB
docker.io/hyperledger/fabric-peer        x86_64-1.1.0        b023f9be0771        6 weeks ago         187 MB
hyperledger/fabric-peer                  latest              b023f9be0771        6 weeks ago         187 MB
docker.io/hyperledger/fabric-javaenv     x86_64-1.1.0        82098abb1a17        6 weeks ago         1.52 GB
hyperledger/fabric-javaenv               latest              82098abb1a17        6 weeks ago         1.52 GB
docker.io/hyperledger/fabric-ccenv       x86_64-1.1.0        c8b4909d8d46        6 weeks ago         1.39 GB
hyperledger/fabric-ccenv                 latest              c8b4909d8d46        6 weeks ago         1.39 GB
docker.io/hyperledger/fabric-zookeeper   x86_64-0.4.6        92cbb952b6f8        2 months ago        1.39 GB
hyperledger/fabric-zookeeper             latest              92cbb952b6f8        2 months ago        1.39 GB
docker.io/hyperledger/fabric-kafka       x86_64-0.4.6        554c591b86a8        2 months ago        1.4 GB
hyperledger/fabric-kafka                 latest              554c591b86a8        2 months ago        1.4 GB
hyperledger/fabric-couchdb               latest              7e73c828fc5b        2 months ago        1.56 GB
docker.io/hyperledger/fabric-couchdb     x86_64-0.4.6        7e73c828fc5b        2 months ago        1.56 GB
docker.io/hyperledger/fabric-baseos      x86_64-0.4.6        220e5cf3fb7f        2 months ago        151 MB

获取代码

[root@fabric-cli ~]# git clone https://github.com/hyperledger/fabric-samples.git
正克隆到 'fabric-samples'...
remote: Counting objects: 1464, done.
remote: Total 1464 (delta 0), reused 0 (delta 0), pack-reused 1463
接收对象中: 100% (1464/1464), 533.28 KiB | 404.00 KiB/s, done.
处理 delta 中: 100% (683/683), done.

[root@fabric-cli fabric-samples]# git checkout v1.1.0
Note: checking out 'v1.1.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD 目前位于 1252c7a... [FAB-8920] Pin fabric-samples to node.js "~1.1.0"
[root@fabric-cli fabric-samples]# git checkout v1.1.0
HEAD 目前位于 1252c7a... [FAB-8920] Pin fabric-samples to node.js "~1.1.0"

[root@fabric-cli ~]# cd fabric-samples/balance-transfer/
[root@fabric-cli balance-transfer]# pwd
/root/fabric-samples/balance-transfer

环境准备完毕,现在就可以启动balance-transfer
有两种启动方式:
第一种

//打开终端1
docker-compose -f artifacts/docker-compose.yaml up //启动fabric网络
//出现以下日志
peer0.org2.example.com    | 2018-04-28 18:23:58.808 UTC [flogging] setModuleLevel -> DEBU 1b8 Module 'peer/gossip/mcs' logger enabled for log level 'WARNING'
peer0.org2.example.com    | 2018-04-28 18:23:58.808 UTC [flogging] setModuleLevel -> DEBU 1b9 Module 'peer/gossip/sa' logger enabled for log level 'WARNING'
peer0.org1.example.com    | 2018-04-28 18:23:58.803 UTC [flogging] setModuleLevel -> DEBU 1b7 Module 'grpc' logger enabled for log level 'ERROR'
peer0.org1.example.com    | 2018-04-28 18:23:58.803 UTC [flogging] setModuleLevel -> DEBU 1b8 Module 'peer/gossip/mcs' logger enabled for log level 'WARNING'
peer0.org1.example.com    | 2018-04-28 18:23:58.803 UTC [flogging] setModuleLevel -> DEBU 1b9 Module 'peer/gossip/sa' logger enabled for log level 'WARNING'



//打开另一个终端2
cd /root/fabric-samples/balance-transfer //
npm install                              //安装依赖

PORT=4000 node app  //启动服务

验证

curl -s -X POST http://localhost:4000/users -H "content-type: application/x-www-form-urlencoded" -d 'username=Jim&orgName=Org1'
{"success":true,"secret":"","message":"Jim enrolled Successfully","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MjQ5NzYxODQsInVzZXJuYW1lIjoiSmltIiwib3JnTmFtZSI6Ik9yZzEiLCJpYXQiOjE1MjQ5NDAxODR9.TiK9TTzNY8Pug4rCbrTS28ntvVxgC_hDUEr7JchbbiY"}
[root@fabric-cli ~]# curl -s -X POST \
>   http://localhost:4000/channels \
>   -H "authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MjQ5NzYxODQsInVzZXJuYW1lIjoiSmltIiwib3JnTmFtZSI6Ik9yZzEiLCJpYXQiOjE1MjQ5NDAxODR9.TiK9TTzNY8Pug4rCbrTS28ntvVxgC_hDUEr7JchbbiY" \
>   -H "content-type: application/json" \
>   -d '{
> "channelName":"mychannel",
> "channelConfigPath":"../artifacts/channel/mychannel.tx"
> }'
{"success":true,"message":"Channel 'mychannel' created Successfully"}

具体测试请参考官方balance-transfer

第二种

cd fabric-samples/balance-transfer

./runApp.sh

测试

cd fabric-samples/balance-transfer

[root@fabric-cli balance-transfer]# yum install jq -y

## To use golang chaincode execute the following command

./testAPIs.sh -l golang

## OR use node.js chaincode

./testAPIs.sh -l node
[root@fabric-cli balance-transfer]# ./testAPIs.sh -l node
POST request Enroll on Org1  ...

{"success":true,"secret":"","message":"Jim enrolled Successfully","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MjQ5NzY1NTYsInVzZXJuYW1lIjoiSmltIiwib3JnTmFtZSI6Ik9yZzEiLCJpYXQiOjE1MjQ5NDA1NTZ9.jBiC1Sv1KM0BK2-zqdN_TUJGHx8co5YH4TSpETCskfw"}

ORG1 token is eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MjQ5NzY1NTYsInVzZXJuYW1lIjoiSmltIiwib3JnTmFtZSI6Ik9yZzEiLCJpYXQiOjE1MjQ5NDA1NTZ9.jBiC1Sv1KM0BK2-zqdN_TUJGHx8co5YH4TSpETCskfw

POST request Enroll on Org2 ...

{"success":true,"secret":"","message":"Barry enrolled Successfully","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MjQ5NzY1NTgsInVzZXJuYW1lIjoiQmFycnkiLCJvcmdOYW1lIjoiT3JnMiIsImlhdCI6MTUyNDk0MDU1OH0.UJer5MZ_GqajnQOTp0Jw_yB8k5HbTfKn5d5mU-OudFM"}

ORG2 token is eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MjQ5NzY1NTgsInVzZXJuYW1lIjoiQmFycnkiLCJvcmdOYW1lIjoiT3JnMiIsImlhdCI6MTUyNDk0MDU1OH0.UJer5MZ_GqajnQOTp0Jw_yB8k5HbTfKn5d5mU-OudFM


POST request Create channel  ...

{"success":true,"message":"Channel 'mychannel' created Successfully"}

POST request Join channel on Org1

{"success":true,"message":"Successfully joined peers in organization Org1 to the channel:mychannel"}

POST request Join channel on Org2

{"success":true,"message":"Successfully joined peers in organization Org2 to the channel:mychannel"}

POST Install chaincode on Org1

{"success":true,"message":"Successfully install chaincode"}

POST Install chaincode on Org2

{"success":true,"message":"Successfully install chaincode"}

POST instantiate chaincode on peer1 of Org1

END

参考:
balance-transfer

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值