Hyperledger Fabric вызывает код цепочки из Node.js с использованием пользовательских артефактов, сгенерированных configtxgen. Как?

Если я правильно понимаю, примеры клиентов Node.js регистрируют пользователей, создают кошельки, а затем используют эти вновь созданные удостоверения для выполнения транзакций. В то же время в примерах для Fabric-tools/CLI используются идентификаторы/пользователи, сгенерированные с помощью configtxgen, регистрация или создание кошелька не выполняются. Я могу запустить оба этих примера для своих целей.

Чего мне не хватает, так это примера использования сгенерированных configtxgen администраторов/пользователей из клиента Node.js, создания для них кошелька и т. д.? Существует ли такой пример? Спасибо за помощь.




Ответы (1)


Вы можете просто прочитать из файла, сохранить в кошелек и продолжить так же, как и раньше.

Объявите или замените переменные соответствующим образом:

        let identity0;
        let wallet0 = new FileSystemWallet(wallet0Path);
        let exists0 = await wallet0.exists(wallet0ID);
        if (!exists0) {
            let user0CertPemRead = fs.readFileSync(user0CertPath).toString('utf8');
            let user0PrvKeyPemRead = fs.readFileSync(user0KeyPath).toString('utf8');
            identity0 = X509WalletMixin.createIdentity(mspID0, user0CertPemRead, user0PrvKeyPemRead);
            await wallet0.import(wallet0ID, identity0);
        } else {
            identity0 = await wallet0.export(wallet0ID);
        }
person kekomal    schedule 31.03.2020
comment
Спасибо. Это кажется простым. Я попробую! - person Fedor Petrov; 31.03.2020
comment
У вас есть идеи, как заставить его работать в файловой системе только для чтения, которая не позволяет сохранять файлы? - person Fedor Petrov; 31.03.2020
comment
Странная среда... Используйте InMemoryWallet вместо FileSystemWallet. Я никогда не делал, но это точно работает. hyperledger.github.io/fabric- SDK-узел/выпуск-1.4/ - person kekomal; 31.03.2020