标签: hyperledger

如何设置fabric中特定模块的调试级别?

谁能告诉我如何通过更改 docker 文件中的环境变量来设置 Fabric 中特定模块的调试级别?在对等日志中,我们可以看到

2017-07-24 03:44:44.787 UTC [flogging] setModuleLevel -> DEBU 189 模块“msp/identity”记录器启用日志级别“警告”

2017-07-24 03:44:44.787 UTC [flogging] setModuleLevel -> DEBU 18a 模块“msp”记录器启用日志级别“警告”

2017-07-24 03:44:44.787 UTC [flogging] setModuleLevel -> DEBU 18b 模块“configvalues/msp”记录器启用日志级别“警告”

2017-07-24 03:44:44.787 UTC [flogging] setModuleLevel -> DEBU 18c 模块“peer/gossip/mcs”记录器启用日志级别“警告”

2017-07-24 03:44:44.787 UTC [flogging] setModuleLevel -> DEBU 18d 模块“gossip/state”记录器启用日志级别“警告”

我希望其中一些处于调试模式,如何实现?仅供参考,我尝试设置GOSSIP_SERVICE_LOGGING_LEVEL=DEBUG并使GRPC_LOGGING_LEVEL=DEBUG模块 gossip/service 和 grpc 处于调试模式,但它不起作用:( ...

hyperledger hyperledger-fabric

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

什么是“testchainid”通道?

我使用kafka构建了fabric网络。

我创建了新的“mytestchannel”。
当我在对等服务器上看到 /var/hyperledger/product/ledgersData/chains/chains 时,我发现“mytestchannel”和“testchainid”目录。
另外,我检查了kafka主题,我发现了“mytestchannel”和“testchainid”。

什么是“testchainid”?
该频道包含重要数据?
我的意思是,如果我删除(破坏)Kafka 主题中的“testchainid”数据,它会影响我的整个结构网络吗?

hyperledger hyperledger-fabric

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

你如何生成 pool_transactions_genesis 和 domain_transactions_genesis?

我正在尝试创建一个 Hyperledger-Indy 网络,并且一直在关注readthedocs

我可以启动空白的 indy-node docker 容器,并且能够使用init_indy_node我的种子生成它们的密钥。

我找不到有关如何使用上面生成的密钥生成pool_transactions_genesisdomain_transactions_genesis的说明。我唯一能找到的是命令,generate_indy_pool_transactions但这只是创建了一个通用的引导沙箱网络,该网络始终具有相同的密钥,并且不使用上面使用我选择的种子创建的密钥。

你如何生成这些创世文件?

hyperledger hyperledger-indy

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

Hyperledger Fabric 提交交易和评估交易之间的区别

我正在使用具有 2 个组织的超级账本结构网络,并且链码也安装在其工作的网络上。我在fabric Node js中遇到了submitTransaction和EvaluateTransaction。它们之间有什么区别,我观察到的是什么。

  • 当我启动contract.submittransaction时,即使我从链码调用查询方法,它也会创建新的块,并且链码查询方法没有放置状态

  • 如果我使用Contract.evaluateTransaction评估从结构节点到查询方法的事务,它不会创建任何事务。

hyperledger hyperledger-fabric

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

为什么强烈反对同时成为申请者和订购者组织?

让我们以 3 个公平组织的场景为例,即每个组织都运行对等体,并且应该平等地参与订购过程。
对我来说,将这 3 个组织配置为每个组织都有一个排序者节点和一些对等点是很自然的。然而,强烈建议不要采用这种设置。引用常见问题解答:

问题:我可以让一个组织同时扮演订购角色和应用角色吗?
回答:虽然这是可能的,但这是一种非常不鼓励的配置。默认情况下,/Channel/Orderer/BlockValidation 策略允许订购组织的任何有效证书对区块进行签名。如果组织同时扮演订购和应用程序角色,则应更新此策略以将块签名者限制为授权订购的证书子集。

另一个 SO 问题中,一个答案提供了有关此主题的更多详细信息:

首先,很容易错误配置策略并显着降低系统的安全性。订购服务和应用程序根据权力分离的原则运作。重要的是,排序节点不能制造验证交易,同样重要的是应用程序交易者不能制造区块。

并继续:

其次,由于 MSP 定义必须出现在通道配置的两个部分中,因此您最终会得到两个相同的 MSP 定义副本,它们必须保持完全同步。由于两个 MSP 具有相同的 ID,如果内容不完全相同,则会在评估身份时产生歧义。

我整个晚上都在绞尽脑汁地思考,如果此设置配置不正确,哪些攻击媒介和参与者可能会给我的组织或整个网络带来潜在的安全风险。

不幸的是,我只能想到一种情况:如果排序者二进制文件中存在漏洞,则另一个组织的排序者可以利用此漏洞以我组织的身份创建交易。

问题:如果您在单个组织中拥有对等点和订购者并且配置不正确,可能会暴露哪些攻击媒介?演员会是谁?客户、管理员、网络的其他组织、完全的局外人?

额外问题:在给定场景中建议的替代方案是什么?每个参与组织是否应该分成单独的对等组织和订购者组织?喜欢Company1PeerOrgCompany1OrdererOrgCompany2PeerOrg,...?

hyperledger hyperledger-fabric hyperledger-fabric-ca

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

实际区块链状态数据存储在哪里:在内存中,在文件中还是在数据库中?

我有一个查询,每个节点中保存的区块链数据在哪里。在谷歌、StackOverflow 和一些博客上搜索了很长时间后,得到了很多答案:比如:它保存在像 level-DB 或 Rocks-DB 这样的数据库中,有人说它在内存中保存在一个变量中,有人说它保存在一个变量中文件(来自 hyperledger-fabric)。

我想知道,是否有一种特定的方法来存储大多数区块链框架所遵循的块?

或者所有这些框架都选择不同的方法(如文件、内存或 DB)。

我知道有一个保存在数据库中的区块链的当前状态/世界状态。这种当前状态/世界状态与实际区块链完全不同。在当前状态或世界状态下,数据可以被修改,但在实际区块链中块/数据是不可变的。

简而言之,我的问题是:

数据(不可变块)如何存储在区块链中每个完整节点的分类账上?是在内存中、文件中(如 JSON、CSV 文件)还是数据库中

bitcoin blockchain ethereum hyperledger decentralized-applications

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

结构示例中给出的应用程序未检测到 Hyperledger Fabric 测试网络的名称

我刚刚根据文档从 Hyperledger Fabric 存储库重新安装了 Fabric Samples v2.2.0 。

但是当我尝试通过运行钱包来运行asset-transfer-basic位于fabric-samples/asset-transfer-basic/application-javascript目录中的应用程序时,node app.js会创建一个管理员和用户。但随后它尝试调用中给出的函数app.js并显示此错误

error: [Transaction]: Error: No valid responses from any peers. Errors:
    peer=peer0.org1.example.com:7051, status=500, message=error in simulation: failed to execute transaction 
aa705c10403cb65cecbd360c13337d03aac97a8f233a466975773586fe1086f6: could not launch chaincode basic_1.0:b359a077730d7
f44d6a437ad49d1da951f6a01c6d1eed4f85b8b1f5a08617fe7: error starting container: error starting container:
 API error (404): network _test not found
Run Code Online (Sandbox Code Playgroud)

调用函数的事务响应

这个错误以前从未发生过。但不知何故,在重新安装 docker 和 Hyperledger Fabric 后,fabric-samples它似乎从未找到网络_test

注意:在重新安装网络名称之前net_test。但是现在当我尝试时,docker network ls它显示了一个名为docker_test. 我正在使用适用于 …

docker hyperledger hyperledger-fabric docker-network

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

Hyperledger Fabric是否有虚拟机?

Hyperledger Fabric是否具有用于执行链码的虚拟机?例如,以太坊有以太坊虚拟机来执行合同。

virtual-machine hyperledger hyperledger-fabric

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

Hyperledger中的交易证书如何用于加强隐私?

我正在Hyperledger中创建一个区块链应用程序,该应用程序为一家制造公司执行投标过程。招标过程涉及4个供应商(供应商A到供应商D)。出价最低的一方获胜。

我可以为此创建链码。但是,由于它是区块链,因此供应商可以看到彼此的出价(例如,仅通过查看块的内容即可)。此外,中标的供应商将知道谁真正中标了。

我想在区块链中执行以下隐私规则:

一种。特定供应商的出价只能由制造公司和供应商本身查看(例如,供应商A无法看到供应商B的出价)

b。只有制造公司和中标的供应商知道谁中了(例如,如果供应商A输了标书,那么供应商A只知道它输了标书,却不知道是谁中标了)

我已经查看了交易证书的目的,并且我认为这将解决我的隐私问题。

我可以使用REST API请求多个交易证书。但是,我不确定如何使用交易证书。

它是否打算在链码之外使用(例如,是否用于加密将传递给调用函数的参数)?

还是要将其作为参数传递给链码函数,并在链码内部使用它对特定数据进行加密,然后再将其存储在区块链中?

如何使用交易证书执行实际的加密?

我当前正在将Hyperledger架构的v0.6用于我的链码。对于我的前端,我正在使用Node.JS HFC SDK v0.6.5。

我是否可以使用示例代码作为基础来理解如何使用交易证书解决隐私问题?

blockchain hyperledger hyperledger-fabric

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

Hyperledger Fabric构建错误

我已经按照http://hyperledger-fabric.readthedocs.io上的Hyperledger Fabric的安装和配置进行了操作,并完成了安装。当我尝试构建它时,出现错误。你能告诉我分辨率吗?

要构建Hyperledger Fabric:

cd $GOPATH/src/github.com/hyperledger/fabric
make dist-clean all
Run Code Online (Sandbox Code Playgroud)

错误输出:

docker tag hyperledger/fabric-tools hyperledger/fabric-tools:x86_64-1.0.0-rc2-snapshot-4709b33
Checking committed files for SPDX-License-Identifier headers ...
The following files are missing SPDX-License-Identifier headers:
orderer/multichain/manager.go
orderer/multichain/manager_test.go

Please replace the Apache license header comment text with:
SPDX-License-Identifier: Apache-2.0
Makefile:111: recipe for target 'license' failed
make: *** [license] Error 1
Run Code Online (Sandbox Code Playgroud)

go docker hyperledger hyperledger-fabric

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