Фильтр API отдыха Hyperledger composer не работает для ресурса - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь выполнить 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"}}

Просьба предложитьчто здесь не так?

1 Ответ

0 голосов
/ 04 октября 2018

Здесь важная часть ответа Error: ExecuteQuery not supported for leveldb

Это говорит о том, что ваша структура настроена на использование встроенной системы leveldb для хранения состояния мира.Из-за этого вы не можете выполнять какие-либо запросы к нему, включая фильтры отдыха.

Вам нужно изменить настройки ткани, чтобы вместо нее использовать couchdb в качестве мирового хранилища состояний.

Документацию по фабрике можно найти здесь о создании сетей фабрики, и на этой странице есть специальный раздел о включении couchdb.см. https://hyperledger -fabric.readthedocs.io / en / release-1.2 / build_network.html

...