
简介
fabcar事例可以让我们了解到,如何使用fabric-ca来生成证书、通过node-sdk调用fabric网络、启用couchdb作为状态数据库等相关内容
启动网络
启动网络之前,一定要把之前的网络内容清理干净。
安装客户端并启动网络
- 进入
fabric-samples/fabcar
目录, 执行ls
我们会看到如下内容。
enrollAdmin.js invoke.js package.json query.js registerUser.js startFabric.sh
执行npm install
npm install
该命令会安装fabric-ca-client
、fabric-client
以及grpc
如果
npm install
安装的特别慢,可以执行npm config set registry https://registry.npm.taobao.org
。之后再重新执行
- 启动
fabric
网络
我们通过startFabric.sh
脚本来启动网络,并调用go语言的fabcar智能合约
./startFabric.sh
注册管理员用户
我们把ca的日志打印一下。
docker logs -f ca.example.com
然后打开另一个终端执行:
node enrollAdmin.js
注册user1
node registerUser.js
我们为两个用户提供了不同的身份证书。并保存在了fabcar/hfc-key-store
目录下。
查询内容
node query.js
会返回如下内容:
root@JDu4e00u53f7:~/gowork/src/fabric-samples/fabcar# node query.js
Store path:/root/gowork/src/fabric-samples/fabcar/hfc-key-store
Successfully loaded user1 from persistence
Query has completed, checking results
Response is [{"Key":"CAR0", "Record":{"colour":"blue","make":"Toyota","model":"Prius","owner":"Tomoko"}},{"Key":"CAR1", "Record":{"colour":"red","make":"Ford","model":"Mustang","owner":"Brad"}},{"Key":"CAR2", "Record":{"colour":"green","make":"Hyundai","model":"Tucson","owner":"Jin Soo"}},{"Key":"CAR3", "Record":{"colour":"yellow","make":"Volkswagen","model":"Passat","owner":"Max"}},{"Key":"CAR4", "Record":{"colour":"black","make":"Tesla","model":"S","owner":"Adriana"}},{"Key":"CAR5", "Record":{"colour":"purple","make":"Peugeot","model":"205","owner":"Michel"}},{"Key":"CAR6", "Record":{"colour":"white","make":"Chery","model":"S22L","owner":"Aarav"}},{"Key":"CAR7", "Record":{"colour":"violet","make":"Fiat","model":"Punto","owner":"Pari"}},{"Key":"CAR8", "Record":{"colour":"indigo","make":"Tata","model":"Nano","owner":"Valeria"}},{"Key":"CAR9", "Record":{"colour":"brown","make":"Holden","model":"Barina","owner":"Shotaro"}}]
调用
node invoke.js //没有指定函数名称,暂时不能调用
网友评论