我正在尝试使用hyperledger caliper监控我的区块链。我使用repo中给出的模板创建了自己的基准测试文件。但是我得到了这个错误
Error: Network configuration file "F:Blockchain\hyperledger-caliper\networks\fabric\docker-compose\3org1peercouchdb\docker-compose.yaml" is missing its "caliper.blockchain" string attribute
at Function.assertConfigurationFilePaths (F:\SE\3rd_Year\FYP\Blockchain\hyperledger-caliper\node_modules\@hyperledger\caliper-core\lib\common\utils\caliper-utils.js:75:19)有什么办法解决这个问题吗?
发布于 2021-04-07 21:37:31
问题
问题出在您提供给Caliper的网络配置文件上。根据Hyperledger Caliper的 ,网络配置由一个YAML网络配置文件组成。此文件需要有一个 object ,因为它是必需的,并且是一个非空对象,其中包含attribute blockchain,这是必需的非空字符串。您的日志显示,您指定的文件中缺少此对象和特定的属性。
解决方案
您指定的文件是docker-composer文件。例如,Fabric区块链的网络配置文件应类似于'networks/fabric/v1/v1.4.1/2org1peercouchdb/fabric-go.yaml‘中的文件,该文件包含Hyperledger卡尺所需的网络配置参数,并在卡尺对象内的属性命令处管理码头容器。
您可以在caliper github repository上获得这些文件,也可以查看Hyperledger Caliper official documentation以更好地了解这些文件。
示例
应该有一个网络配置文件,该文件在属性编辑器( attribute caliper.blockchain,)上指定要使用的区块,并在属性编辑器( attribute caliper.command )上指定停靠容器的管理方式(就像其余和必需的参数一样)。例如:
...
caliper:
blockchain: fabric
command:
start: export FABRIC_VERSION=1.4.0;export FABRIC_CA_VERSION=1.4.0;docker-compose -f networks/fabric/docker-compose/2org1peercouchdb/docker-compose.yaml up -d;sleep 3s
end: docker-compose -f networks/fabric/docker-compose/2org1peercouchdb/docker-compose.yaml down;(test -z \"$(docker ps -aq)\") || docker rm $(docker ps -aq);(test -z \"$(docker images dev* -q)\") || docker rmi $(docker images dev* -q);rm -rf /tmp/hfc-*
...
...备注
我使用JSON文件作为Hyperledger锯齿和Ethereum的网络配置文件,以及Hyperledger Caliper。但是,我不确定JSON文件是否适用于Fabric基准测试。
https://stackoverflow.com/questions/61782793
复制相似问题