Хранилище учетных данных клиента Hyperledger Fabric с использованием CouchDB

Я использую Hyperledger Fabric SDK для node.js, чтобы зарегистрировать пользователя. Я использую этот код для развертывания в ткани. Он использует FileKeyValueStore (использует файлы для хранения значений ключей) для хранения учетных данных пользователя клиента.
Я хочу использовать CouchDBKeyValueStore для хранения ключа пользователя в экземпляре базы данных CouchDB. Какие изменения мне нужно внести в файл конфигурации профиля подключения клиента для хранилища учетных данных и в коде, чтобы сделать это. Любая ссылка на пример кода также поможет.

1 ответ

Решение

В профиле подключения нет встроенной поддержки для использования CouchDBKeyValueStore, но вы все равно можете использовать профиль подключения для остальной части конфигурации сети Fabric. Затем вам нужно будет использовать клиентские API для настройки хранилищ. Что-то вроде

const Client = require('fabric-client');
const CDBKVS = require('fabric-client/lib/impl/CouchDBKeyValueStore.js');

var client = Client.loadFromConfig('test/fixtures/network.yaml');

// Set the state store
let stateStore = await new CDBKVS({url: 'https://<USERNAME>:<PASSWORD>@<URL>', name: '<DB_NAME>'})
client.setStateStore(stateStore);

// Set the crypto store
const crypto = Client.newCryptoSuite();
let cryptoKS = Client.newCryptoKeyStore(
    CDBKVS,
    {
      url: 'https://<USERNAME>:<PASSWORD>@<URL>.cloudant.com',
      name: '<DB_NAME>'
    }
);
crypto.SetCryptoKeyStore(cryptoKS);
client.setCryptoSuite(crypto);
Другие вопросы по тегам