hyperledger/fabric-sdk-node测试运行

概述

下面会介绍hyperledger/fabric-sdk-node的使用并如何跑测试用例

介绍

fabric-sdk-node是IBM开源的区块链项目hyperledger/fabric的node sdk

环境搭建

这里需要fabric,fabric-ca,fabric-sdk-node,具体都在https://github.com/hyperledger这个里面

fabric

首先clone fabric项目
git clone https://github.com/hyperledger/fabric.git
具体如何搭建fabric环境这里不细写了,回头再单独写一下,比较复杂。这里我们就写最关键直接的,这一步其实可以不需要,关键是需要fabric相关的那几个docker image,如果你有其他的路径能下载到,可以不用这样
cd fabric
make docker

fabric-ca

再次强调一下,这一步其实可以不需要,关键是需要fabric相关的那几个docker image,如果你有其他的路径能下载到,可以不用这样

git clone https://github.com/hyperledger/fabric-ca.git
cd fabric-ca
make docker

fabric-sdk-node

再次强调一下,这一步其实可以不需要,关键是需要fabric相关的那几个docker image,如果你有其他的路径能下载到,可以不用这样

git clone https://github.com/hyperledger/fabric-sdk-node.git

如果你对node很熟悉,也可以直接用node命令来跑,下面给个例子:
node test/integration/e2e/query.js

运行测试

sdk安装

cd fabric-sdk-node
npm install

fabric环境运行

peer、orderer、ca都需要跑起来,如果用的couchdb,还会有

cd fabric-sdk-node/test/fixtures/
docker-compose up -d

运行sdk测试

cd $GOPATH/src/github.com/hyperledger/fabric-sdk-node
gulp ca
gulp test

可能的问题

修改gulp配置

因为现在sdk还不成熟,出于调试而修改fabric-ca-client或者fabric-client里面的代码总是无法自动被npm加载,提供下面的办法

cd $GOPATH/src/github.com/hyperledger/fabric-sdk-node

修改build/task/ca.js文件

const DEPS = [
        'fabric-client/lib/api.js',
        'fabric-client/lib/hash.js',
        'fabric-client/lib/utils.js',
        'fabric-client/lib/Config.js',
        'fabric-client/lib/Remote.js',
        'fabric-client/lib/impl/CouchDBKeyValueStore.js',
        'fabric-client/lib/impl/CryptoSuite_ECDSA_AES.js',
        'fabric-client/lib/impl/ecdsa/*',
        'fabric-client/lib/impl/CryptoKeyStore.js',
        'fabric-client/lib/impl/FileKeyValueStore.js',
        'fabric-ca-client/lib/FabricCAClientImpl.js'
];

在这个数组里面添加你需要修改的文件,然后每次修改完文件后,执行gulp ca你修改的文件就会被自动拷贝到npm安装的目录里面

fabric-ca的container起不来

我在搭建这一套环境的时候发现ca的container一直没法正常启动,经过研究代码发现,有个配置是有问题的,这个可能是sdk更新没跟上的原因吧。

cd $GOPATH/src/github.com/hyperledger/fabric-sdk-node

修改文件test/fixtures/fabricca/tlsOrg1/fabric-ca-server-config.yaml
改动如下:

-      certfiles: db-server-cert.pem			# Comma Separated (e.g. root.pem, root2.pem)
 +      certfiles:
 +        - db-server-cert.pem			# Comma Separated (e.g. root.pem, root2.pem)

也可以看一下我GitHub的分支https://github.com/chenshuijin/fabric-sdk-node/tree/fixe2etest

捐赠:
BTC: 1NTom3PgUct3WNmnBYNq5KGDQvY3MXs8dJ
ETH:0x8509f0F37497e094924F5c2e776e0dA522c57e43

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值