2017-10-27 5 views
0

ich einen NodeJS Server mit dem folgenden Code leite zum Hyperledger Runtime verbinden:Wie abonnieren und sehen Sie Ereignisse aus Hyperledger Komponisten Transaktionen

const BusinessNetworkConnection = require("composer-client") 
    .BusinessNetworkConnection; 
this.businessNetworkConnection = new BusinessNetworkConnection(); 
this.CONNECTION_PROFILE_NAME = "hlfv1"; 
this.businessNetworkIdentifier = "testNetwork"; 
this.businessNetworkConnection 
    .connect(
    this.CONNECTION_PROFILE_NAME, 
    this.businessNetworkIdentifier, 
    "admin", 
    "adminpwd" 
) 
    .then(result => { 
    this.businessNetworkDefinition = result; 
    console.log("BusinessNetworkConnection: ", result); 
    }) 
    .then(() => { 
    // Subscribe to events. 
    this.businessNetworkConnection.on("events", events => { 
     console.log("**********business event received**********", events); 
    }); 
    }) 
    // and catch any exceptions that are triggered 
    .catch(function(error) { 
    throw error; 
    }); 

I-Daten zu sehen, nachdem die Verbindung zurückgegeben wurde in der gemacht result Objekt und es sind die richtigen Netzwerkdaten, die bereitgestellt wurden.

Wenn ich jedoch Transaktionen über meine generierten REST APIs ablege und eine Anfrage über meine generierten REST APIs ablege, werden keine Ereignisse von meinem Server gesehen. Im Historiker kann ich sehen, dass Ereignisse ausgesendet werden. Gibt es noch etwas, was ich tun sollte, um die Ereignisse meiner Transaktionen zu sehen?

Antwort

1

Ich versuchte die gleiche Art von Test und ich konnte Ereignisse empfangen. Ich vergleichen meinen Testcode und bei Sie, und ich fand folgenden Unterschied:.

this.bizNetworkConnection.on ('Events'

this.bizNetworkConnection.on ('Ereignis'

Ich hoffe, es hilft

+0

Großartig es funktioniert! Was ist dummer Fehler ... – TheOkayCoder

Verwandte Themen