Проблема при создании личных данных в Hyperledger Fabric

#hyperledger-fabric #hyperledger-chaincode

#hyperledger-ткань #hyperledger-цепной код #hyperledger-fabric

Вопрос:

Я пытаюсь создать личные данные в Fabric версии 1.2.0.

Я создал файл конфигурации коллекций для хранения личных данных.

 [
{
     "name": "collectionData",
     "policy": "OR('Org1MSP.member','Org2MSP.member')",
     "requiredPeerCount": 0,
     "maxPeerCount": 3,
     "blockToLive":1000000,
     "memberOnlyRead": true
}
]
  

Я создал экземпляр цепного кода, используя --collections-config флаг.Я правильно предоставил файл конфигурации и успешно создал сеть.

Я разработал цепной код с использованием nodejs.

   console.log("************************************");
  console.log("Private Data Testing");
  let sample = "test";
  await stub.putPrivateData("collectionData",transactionId,sample.toString());
  let response = await stub.getPrivateData("collectionData",transactionId);
  console.log("Response",response.toString());
  

Я выполняю операции от имени Org1MSP .Но я не получил никакого ответа.Он возвращает null при извлечении личных данных.

Может ли кто-нибудь помочь мне решить эту проблему?

Комментарии:

1. попробуйте (где Key1 — ваш ключ) — await stub.putPrivateData("collectionData","Key1",Buffer.from(sample.toString())); тогда let response = await stub.getPrivateData('collectionData',"Key1"); (не уверен, используете ли вы transactionId в качестве ключа в вашем сценарии ..) toString по умолчанию должен иметь значение utf8

2. @Paulo’Mahony Я пробовал, как вы упомянули. Но все та же проблема сохраняется. Есть другие предложения??

3. @Paulo’Mahony Я использую версию 1.2.1. Связана ли эта проблема с версией Fabric?

4. PD пришел с версией 1.2 hyperledger-fabric.readthedocs.io/en/release-1.2 /… — к вашему сведению, это официальные релизы Fabric github.com/hyperledger/fabric#releases

5. ps. Возможно, вам также известно, что GetPrivateData не считывает данные из частного набора записей, который не был зафиксирован в collection . Другими словами, GetPrivateData не рассматриваются данные, измененные с помощью `PutPrivateData — которые не были зафиксированы.