【fabric 5】运行你的第一个nodejs应用

本文介绍如何运行fabric-samples中的fabcar示例。

  • 安装nodejs和npm
    application使用nodejs开发,需要安装nodejs.这里我安装的是node v8.9.4,亲测可用。据说fabric node sdk不支持node9.X及以上版本???一开始安装了v6.X版本,是有问题的,不好用。。。
wget https://nodejs.org/download/release/v8.9.4/node-v8.9.4-linux-x64.tar.gz    //下载node包
tar -zxf node-v8.9.4-linux-x64.tar.gz   //解压
ln -s /home/my/tools/node-v8.9.4-linux-x64/bin/node /usr/local/bin/node //创建软连接,记得把路径改成你的node路径
ln -s /home/my/tools/node-v8.9.4-linux-x64/bin/npm /usr/local/bin/npm   //npm链接
node -v     //测试node是否安装成功
npm -v      //测试npm是否安装成功
  • 下载fabric-samples
cd ~/gopath/src/github.com/hyperledger //要放在此目录下,否则需要修改相应脚本,我还没改过,,,
git clone https://github.com/hyperledger/fabric-samples.git 
  • 部署环境
cd fabcar/
npm install --registry=https://registry.npm.taobao.org  //源用淘宝这个,能快一点,下载fabric nodejs sdk
sudo ./startFabric.sh   //启动网络环境
  • 执行js
node enrollAdmin.js         //生成key
node registerUser.js        //注册用户
node query.js   //查询车辆,这里指的是调用fabcar chaincode的queryAllCars方法

query结果如下图所示:
【fabric 5】运行你的第一个nodejs应用_第1张图片
示例中的invoke.js里边调用chaincode的方法和参数都是空,所以如果我们想执行这个,需要先把参数补全

//update following part in invoke.js
var request = {
  //targets: let default to the peer assigned to the client
  chaincodeId: 'fabcar',
  fcn: 'createCar',
  args: ['CAR991', 'bb', 'cc', 'dd', 'my'],
  chainId: 'mychannel',
  txId: tx_id
};

保存执行invoke.js

node invoke.js
node query.js

结果如下,我们可以看到,多了CAR991
【fabric 5】运行你的第一个nodejs应用_第2张图片

  • 关闭网络
cd ../basic-network
./stop.sh

你可能感兴趣的:(fabric)