Hyperledger fabric fabcar

在运行fabcar时出现了一些错误

1 npm install出现错误提示

删除fabcar文件夹下的node_modules文件夹

ps. 我的node_modules在fabcar里的javascript里

2 ./startFabric.sh

3 node enrollAdmin.js

生成Admin客户(作为证书颁发机构的注册器)

*首先生成private key 和public key

*然后public key 被送给CA得到加密过后的certificate(证书)

ps 个人理解为这是有了管理员的权力,可以添加用户了

4 node registerUser.js

与区块链交互

5 node query.js

const result = await contract.evaluateTransaction('queryAllCars');

查询分类帐上所有的汽车但不会导致分类账更新

async queryAllCars(ctx) {

  const startKey = 'CAR0';
  const endKey = 'CAR999';

  const iterator = await ctx.stub.getStateByRange(startKey, endKey);

一共有100辆车,迭代查询结果返回Json文件

const result = await contract.evaluateTransaction('queryCar', 'CAR4');

查询第四辆车(在query.js)里面改

await contract.submitTransaction('createCar', 'CAR12', 'Honda', 'Accord', 'Black',

˓'Tom');

submitTransaction

不同于evaluateTransaction,

1.SDK会将submitTransaction发送到区块链网络中的所有对等节点中

2.这些节点会启用智能合约,生成一个事物回复并将其签名返回给SDK(易发起人需要使用[私钥]对交易进行签名)即证明你是你

3.SDK将所有已经签名的交易起来合成一个新的交易,并将它送给Order节点

4.Order节点将每个Application的交易收集起来并排序生成一个事物块

5.Order将这些块分发给网络中的对等节点

6.最后通知SDK让他把结果返回给Application

 

#新建节点(在invoke.js里面改)

await contract.submitTransaction('createCar', 'CAR12', 'Honda', 'Accord', 'Black',

˓'Tom');

node invoke.js 

 

 

const result = await contract.evaluateTransaction('queryCar', 'CAR12');

#改主人

await contract.submitTransaction('changeCarOwner', 'CAR12', 'Dave');

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值