hyperledger-composer - Hyperledger composer Rest API 过滤器不适用于资产
问题描述
我正在尝试使用以下过滤器执行 Rest API
api/Commodity?filter={"where":{"owner":"resource:org.example.mynetwork.Trader%231"},%20"include":"resolve"}
但出现以下错误 -
{"error":{"statusCode":500,"name":"Error","message":"2 UNKNOWN: error executing chaincode: transaction returned with failure: Error: ExecuteQuery not supported for leveldb","code":2,"metadata":{"_internal_repr":{}},"details":"error executing chaincode: transaction returned with failure: Error: ExecuteQuery not supported for leveldb","stack":"Error: 2 UNKNOWN: error executing chaincode: transaction returned with failure: Error: ExecuteQuery not supported for leveldb\n at new createStatusError (/home/composer/.npm-global/lib/node_modules/@ibmblockchain/composer-rest-server/node_modules/grpc/src/client.js:64:15)\n at /home/composer/.npm-global/lib/node_modules/@ibmblockchain/composer-rest-server/node_modules/grpc/src/client.js:583:15"}}
请提出这里有什么问题?
解决方案
响应的重要部分在这里Error: ExecuteQuery not supported for leveldb
这表示您的结构已配置为使用内置的 leveldb 系统来存储世界状态。因此,您不能对其执行任何类型的查询,包括休息过滤器。
您需要更改您的结构设置以使用 couchdb 作为世界状态存储。
可以在此处找到有关构建结构网络的结构文档,并且在此页面上有一个有关启用 couchdb 的特定部分。见https://hyperledger-fabric.readthedocs.io/en/release-1.2/build_network.html
推荐阅读
- angular - 这个toggle()函数来自角度代码?
- c++ - 如何使指针指向模板函数?
- python - 如何在列表中找到2跟随3的次数
- r - 重命名 data.frame 中的整数
- reactjs - 接下来js路由触发useEffect
- javascript - 如何暂时禁用轮播的 CSS 过渡?
- android - 可以构建 Android 项目 (Cmd F9),但由于 GSON BEGIN_OBJECT BEGIN_ARRAY 问题,运行 (Ctrl R) 错误
- java - 正则表达式的新手
- c# - 通过 Microsoft 的 Azure 创建注册调用注册设备时的通道 uri 是什么
- javascript - 反应 Axios 输入未定义