Я скачал hyperledger-fabric v2.0 хранилище fabric-samples, запустил сеть, следовал примеру fabtoken, кажется, все работает должным образом.
Проблемы начались, когда я попытался изменить пример fabtoken, чтобы поддержать создание дополнительных пользователей для организации по умолчанию.Я пытаюсь зарегистрировать новых пользователей в организации в сети, следуя инструкции Как использовать общий профиль подключения учебник для Node SDK.Однако метод initCredentialStores () , похоже, не инициализирует поле crypto_suite файла Client.js , из-за которого я получаю Ошибка: криптографический пакет не был назначен этому клиенту ошибка, когда я пытаюсь вызвать client.getCertificateAuthority () метод.
Я попытался отладитьчерез инициализацию хранилищ учетных данных ( initCredentialStores () метод).Кажется, проблема возникает, когда вызывается const crypto_suite = BaseClient.newCryptoSuite (); , но я не могу определить основную причину ошибки.
Функция RegiserNewUser:
async function registerNewUser(client, caService, admin, uname){
await client.setUserContext(admin, true);
client.loadFromConfig('/home/todorovic/fabric-samples/basic-network/connection.yaml');
client.loadFromConfig('/home/todorovic/fabric-samples/basic-network/org1.yaml')
client.initCredentialStores().then(_ => {console.log('zavrsio init');});
const ca_client = client.getCertificateAuthority();
ca_client.register({enrollmentID: uname, affiliation: 'Org1'}, admin)
.then((secret) =>
{return client.setUserContext({username: uname, password: secret});
});
}
connection.yaml остается неизменным, а добавленный мной файл Org1.yaml выглядит так:
name: "Org1 Client"
version: "1.0"
client:
organization: Org1
credentialStore:
path: "/tmp/hfc-cvs/org1"
cryptoStore:
path: "/tmp/hfc-cvs/org1"