小编chr*_*ris的帖子

在Hyperledger Fabric v1.0中使用多个通道提供物源跟踪时,我们如何实施隐私?

在Hyperledger Fabric v0.6中,可以实施供应链应用程序,允许跟踪出处并避免双重花费(即,分配/销售项目比它更多),从而避免伪造.例如,当供应商向分销商提供500个单位的项目时,该数据存储在分类帐中.分销商可以通过调用"转移"功能将指定数量的物品分配给特定的经销商.传递函数执行以下操作:

  • 检查分销商是否有足够数量的物品分配给特定的经销商(即,如果要转移的数量<=当前数量)
  • 更新分类帐(即扣除分销商的当前数量并将其添加到经销商的当前数量)

通过这种方法,分销商不能分配比(例如,分发伪造/走私物品)更多(即,双倍支出).

此外,消费者可以通过查看分类帐来追踪出处(例如,从经销商处购买的物品,该经销商来自供应商).

但是,由于它使用单个分类帐,因此隐私是个问题(例如,经销商2可以查看经销商1订购的商品数量等)

建议的实施隐私的解决方案是在Hyperledger Fabric v1.0中使用多个通道.在这种方法中,供应商和分销商使用单独的渠道/分类帐.同样,分销商和经销商1使用单独的渠道/分类帐,分销商和经销商2使用另一个单独的渠道/分类帐.

但是,由于经销商(即经销商1和经销商2)无法访问供应商和分销商的渠道/分类帐,因此经销商不知道供应商向分销商提供的实际数量.例如,如果供应商仅向分销商提供了500个数量,则分销商可以向经销商索赔其从供应商处采购的1000个数量.采用这种方法,双重消费/假冒将无法避免.

此外,如何实施物源追踪?消费者是否可以访问所有渠道/分类账?如果是这种情况,则隐私再次成为问题.

鉴于此,我们如何在Hyperledger Fabric v1.0中使用多个渠道,同时允许跟踪来源并禁止双重支出?

hyperledger hyperledger-fabric

10
推荐指数
2
解决办法
762
查看次数

错误:找不到模块'fabric-client'

正常运行后./startFabric.sh(如下所示):

2017-07-21 07:47:37.477 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 
00a Chaincode invoke successful. result: status:200
2017-07-21 07:47:37.477 UTC [main] main -> INFO 00b Exiting.....
Total execution time : 364 secs ...
Run Code Online (Sandbox Code Playgroud)

然后我试着跑npm install进去\facbar但是我又错了.

$ npm install

> grpc@1.2.4 install C:\Users\Lenovo.WIN10-20170627G\Desktop\fabric-samples-
release\fabcar\node_modules\grpc
> node-pre-gyp install --fallback-to-build

node-pre-gyp info it worked if it ends with ok
node-pre-gyp verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
node-pre-gyp verb cli   'C:\\Users\\Lenovo.WIN10-20170627G\\Desktop\\fabric-
samples-release\\fabcar\\node_modules\\grpc\\node_modules\\node-pre-
gyp\\bin\\node-pre-gyp',
node-pre-gyp verb cli   'install',
node-pre-gyp verb cli   '--fallback-to-build' ]
node-pre-gyp info …
Run Code Online (Sandbox Code Playgroud)

npm-install hyperledger hyperledger-fabric

10
推荐指数
1
解决办法
6805
查看次数

Hyperledger Fabric示例中的连接失败

您好,我是Hyperledger Fabric的新手。

我刚刚开始使用它,我正在从http://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html中提取第一个示例

我从http://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html进行了必备安装

我的操作系统是ubuntu 16.04,我落后于代理

当我运行时node query.js,出现以下错误

Create a client and set the wallet location
Set wallet path, and associate user PeerAdmin with application
Check user is enrolled, and set a query URL in the network
Make query
Assigning transaction_id: a85d2111f5d6e5eef064f87de42be677e69849724b1242dca0503be84d397f5d
error: [client-utils.js]: sendPeersProposal - Promise is rejected: Error: Connect Failed
at /home/nokia/hyperledger/firstApp/fabric-samples/fabcar/node_modules/grpc/src/node/src/client.js:434:17
returned from query
Query result count = 1
error from query = { Error: Connect Failed
at /home/nokia/hyperledger/firstApp/fabric-samples/fabcar/node_modules/grpc/src/node/src/client.js:434:17 code: …
Run Code Online (Sandbox Code Playgroud)

hyperledger hyperledger-fabric

5
推荐指数
1
解决办法
741
查看次数

在哪里可以找到Hyperledger Fabric对等命令的可能环境变量?

配置对等节点运行时,示例docker-compose文件中包含许多环境变量。我可以找到所有记录在案的地方吗?

例如

environment:
  - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
  - CORE_PEER_ID=peer0.org1.example.com
  - CORE_LOGGING_PEER=debug
  - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
  - CORE_PEER_LOCALMSPID=Org1MSP
  - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
  - CORE_PEER_ADDRESS=peer0.org1.example.com:7051
Run Code Online (Sandbox Code Playgroud)

hyperledger hyperledger-fabric

5
推荐指数
1
解决办法
2247
查看次数

Hyperledger Fabric改变fabcar的例子

我一直在研究fabcar的例子,并且在没有发生任何改变的情况下让它完美运行.我正在尝试更新fabcar.go代码以添加更多字段并简单地玩w /示例,但我的docker图像没有更新w /正确的代码.

要安装链代码,此命令在cli容器上运行:

docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode install -n fabcar -v 1.0 -p github.com/fabcar
Run Code Online (Sandbox Code Playgroud)

cli容器已设置此卷:

./../chaincode/:/opt/gopath/src/github.com/
Run Code Online (Sandbox Code Playgroud)

然而,在代码/去更新之后(我实际上已将它从Car更改为具有全新字段的Ticket对象并更新所有相关的链命令以反映),拆解,然后再次启动我仍然看到所有旧字段.

我在这里错过了什么?

这是在"调用"功能中更改为票证的代码片段

func (s *SmartContract) Invoke(APIstub shim.ChaincodeStubInterface) sc.Response {

    // Retrieve the requested Smart Contract function and arguments
    function, args := APIstub.GetFunctionAndParameters()
    // Route to the appropriate handler function to interact with the ledger appropriately
    if function == "queryTicket" {
        return s.queryTicket(APIstub, args)
    } else if function == "initLedger" {
        return s.initLedger(APIstub)
    } else if …
Run Code Online (Sandbox Code Playgroud)

docker hyperledger hyperledger-fabric

4
推荐指数
1
解决办法
1850
查看次数

如何在Hyperledger Fabric中实现和部署可插入的ESCC或VSCC策略?

我想在现有的VSCC和ESCC中分别添加一些额外的验证和认可逻辑.有没有关于如何编辑和部署我的自定义VSCC和ESCC到Hyperledger Fabric的文档?

hyperledger-fabric

3
推荐指数
1
解决办法
871
查看次数

Hyperledger Fabric如何避免无限循环?

以太坊中有“毒气”,而比特币根本不支持循环,我很好奇超级账本结构如何避免无限循环?

bitcoin blockchain ethereum hyperledger hyperledger-fabric

2
推荐指数
1
解决办法
316
查看次数