首先先安装最新版本nodejs
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
查看版本:
node -v
记得一定要更新npm都最新版本,否则,SDK会不成功。
更新npm:
npm install -g npm
可以执行如下命令安装其他工具:
sudo apt install build-essential
进入你克隆到本地的 fabric-samples
仓库的 fabcar
子目录。
使用 startFabric.sh
脚本启动网络。(这里用的是Javascript 版本的 FabCar,
想尝试 Go、Java 或者 TypeScript 版本,改变下边的 ./startFabric.sh
的 javascript
参数为 go
、 java
或者 typescript
)
sudo ./startFabric.sh javascript
等它创建完,看日志可以看出,主要是创建用户和创建通道,然后加入通道等等。
然后进入
cd javascript
安装依赖包
sudo npm install
安装完成后ls可以看有8个文件
登记管理员用户
node enrollAdmin.js
注册和登记应用程序用户
node registerUser.js
查询账本
node query.js
你可以打开query.js文件修改这行文件进行你想要的查询
const result = await contract.evaluateTransaction('queryAllCars');
const result = await contract.evaluateTransaction('queryCar', 'CAR4');
修改后保存,再执行 node query.js 查询
更新账本:
可以先打开看看invoke.js文件,可以看到文件中原本为创建一辆新车。
await contract.submitTransaction('createCar', 'CAR12', 'Honda', 'Accord', 'Black', 'Tom');
先不改动执行:
node invoke.js
然后打开query.js修改查询条件
const result = await contract.evaluateTransaction('queryCar', 'CAR12');
保存执行
node query.js
你创建了一辆汽车并验证了它记录在账本上。
你还可以进行车辆的转赠。打开invoke.js修改参数。
await contract.submitTransaction('changeCarOwner', 'CAR12', 'Dave');
再次保存并执行程序:
node invoke.js
node query.js
CAR12
的主人已经从 Tom 变成了 Dave。
当你完成FabCar示例的尝试后,您就可以返回上层目录使用 networkDown.sh
脚本关闭测试网络。
sudo ./networkDown.sh