Я слежу за этим репозиторием git для установки SDK узла для сети Hyperledger: https://github.com/hyperledger/fabric-sdk-node. Мне удалось вызвать / запросить транзакцию через интерфейс командной строки. Но когда я попытался сделать то же самое с помощью Node SDK, мне не удалось добавить однорангового узла к экземпляру канала, и он выдает эту конкретную ошибку: E1219 19: 56: 36.154387360 20765 ssl_transport_security.cc:1237] Не удалось выполнить рукопожатие с фатальной ошибкой SSL_ERROR_SSL: error : 1416F086: подпрограммы SSL: tls_process_server_certificate: проверка сертификата не удалась.
Я мог добавить заказчика к тому же каналу на предыдущем шаге и поэтому не мог понять логику, лежащую в основе этого. Любая помощь будет очень признательна.
const ordererCertPath = ORGS.orderer0.tls_cacerts;
const ordererCertData = fs.readFileSync(path.join(__dirname, ordererCertPath));
const ordererCert = Buffer.from(data).toString();
const peer0CertPath = ORGS.belrium.peers.peer1.tls_cacerts;
const peer0CertData = fs.readFileSync(path.join(__dirname, peer0CertPath));
const peer0Cert = Buffer.from(peer0CertData).toString();
let tlsInfo = null;
orgName = ORGS[userOrg].name;
let promise;
promise = Client.newDefaultKeyValueStore({
path: testUtil.storePathForOrg(orgName)});
return e2eUtils.tlsEnroll(userOrg)
.then((enrollment) => {
console.log('Successfully retrieved TLS certificate');
tlsInfo = enrollment;
client.setTlsClientCertAndKey(tlsInfo.certificate, tlsInfo.key);
return promise;
}).then((store) => {
if (store) {
client.setStateStore(store);
}
return testUtil.getSubmitter(client, userOrg);
}).then((admin) => {
console.log('Successfully enrolled user \'admin\' (e2eUtil 3)');
the_user = admin;
channel.addOrderer(
client.newOrderer(
ORGS.orderer0.url,
{
'pem': caroots,
'ssl-target-name-override': ORGS.orderer0['server-hostname']
}
)
);
//Error part starts here.....
const peer = client.newPeer(
ORGS.belrium.peers.peer1.requests,
{
pem: peer0caroots,
'ssl-target-name-override': ORGS.#{userorg}.peers.peer1['server-hostname']
}
);
channel.addPeer(peer);
return channel.initialize();