Значение не отражается в couchdb с помощью putState в Hyperledger Fabric - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь создать приложение с использованием цепного кода с использованием fabric-shim в NodeJS.Когда я использую putState (ключ, Buffer.from (значение)), значение не отражается в CouchDB, в то время как ключ и другие параметры (заглушка и т. Д.) Можно увидеть в CouchDB.Любой эрасон, почему он не работает?

1 Ответ

0 голосов
/ 05 апреля 2019

Да, если вы посмотрите на документ CouchDB, он не будет показывать значение соответствующей клавиши.Но вы можете видеть, что есть одно вложение с документом, у которого есть фактически байтовый массив или значение буфера ключа.

Пожалуйста, проверьте следующее изображение, чтобы увидеть пример вложения, если вы нажмете на него, вы получите загрузку в двоичном видеfile.

enter image description here

Если вы хотите получить точное значение, используйте следующий скрипт для получения дампа базы данных

https://github.com/danielebailo/couchdb-dump

Таким образом, после дампа базы данных вы увидите объект JSON с данными в качестве одного из ключей в нем следующим образом:

{
  "_id": <<id>>,
  "_rev": <<rev>>,
  "~version": <<version>>,
  "_attachments": {
    "valueBytes": {
      "content_type": "application/octet-stream",
      "revpos": 1,
      "digest": <<key>>,
      "data": "AAAHAQA="  ==> <<value in Base64 format>>
    }
  }
}

Используя декодер Base64, вы можете декодировать значение, которое будет возвращать значение в видебайтовый массив или буфер.Затем вы можете преобразовать байтовый массив или буфер в соответствующий объект.

...