#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 — которые не были зафиксированы.