Хранилище учетных данных клиента 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);