Verwenden des HyperLEDGER-Composer NodeJS SDK auf den neuesten Ebenen. Der Versuch, Ping-Netzwerk mit dem mitgelieferten Beispiel-Code in Komponisten-admin pinghyperledger-composer nodejs sdk ping schlägt fehl
var fs = require('fs');
var path = require('path');
var composer = require('composer-admin');
var composerClient = require('composer-client');
var composerCommon = require('composer-common');
var adminConnection = new composer.AdminConnection();
adminConnection.connect(config.composer.connectionProfile, config.composer.adminID, config.composer.adminPW)
.then(function(){
adminConnection.ping()
.then(function(result){
console.log("network ping successful: ",result);
res.send({ping: result});
})
.catch(function(error){
var _error = error;
console.log("network ping failed: "+_error);
res.send({ping: _error.toString()});
});
});
Wenn Sie diesen Befehl ausführen, erhalten die folgende Antwort:
Error: error trying to ping.
Error: error trying to query chaincode.
Error: Missing "chaincodeId" parameter in the proposal request
Allerdings dauert der Ping-Befehl keine Parameter. Hilfe bitte?
Die Überprüfung des Composer-Admin-Codes zeigt, dass der Sicherheitskontext vor einem Ping ausgewertet wird. Wenn ich das Sicherheitskontextobjekt anschaue, das von der new composer.AdminConnection()
-Anforderung zurückgegeben wird, ist das Netzwerkbezeichnerobjekt leer - undefiniert. Wenn ich das Feld mit meiner Netzwerk-ID aktualisieren mit dem folgenden Code
adminConnection.securityContext.connection.businessNetworkIdentifier = "[email protected]";
die Fehlermeldungen zu ändern:
Error: error trying to ping.
Error: error trying to query chaincode.
Error: could not find chaincode with name '[email protected]' - make sure the chaincode [email protected] has been successfully instantiated and try again
Mit dem Admin-Interface Netzwerke kehren dieses Netzwerk zur Liste wie im Einsatz. Verstehe nicht, warum die Nachricht über Chaincode erfolgt, wenn das Update auf die Netzwerk-ID angewendet wurde, die vom Composer-Archiv erstellt und über die Composer-Deploy-Services bereitgestellt wurde.