2017-09-21 1 views
0

Guten Tag zu teilen,Needing eine statische wandelbar Karte unter corda Knoten

Ich habe versucht, die Messaging-Schicht für die corda Rahmen von AMQP zu FTL zu ändern. Ich habe versucht, dies zu tun, indem ich eine Karte, wo ich ein InboxSubscriber-Objekt zu einer bestimmten P2P-Adresse zuordnen. Die p2p-Adresse, die nur eine Zeichenfolge ist, kann aus dem Parameter target: MessageRecipients abgerufen werden. Ich habe eine statische MutableMap in der ArtemisMessagingServer-Klasse hinzugefügt und ein entsprechendes InboxSubscriber-Objekt hinzugefügt, das von der P2P-Adresse des Servers initialisiert wird, der initialisiert wird. Ich hatte gehofft, dass diese Karte eine für alle Corda-Knoten sein würde, aber ich habe bemerkt, dass ich tatsächlich eine Karte für jeden Knoten habe, daher bin ich nicht in der Lage, die entsprechenden InboxSubscriber-Objekte für andere Knoten als sich selbst zu erhalten. Gibt es einen bestimmten Ort, an dem diese Karte erstellt und dann von allen Knoten im Netzwerk abgerufen werden kann?

Changes in ArtemisMessagingServer.kt Changes in the NodeMessagingClient.kt

Antwort

0

Für diese Informationen gemeinsam genutzt werden, benötigen Sie einen Corda-Dienst zu erstellen. Dieser Dienst würde dann auf dem Knoten gehostet werden und Sie könnten Informationen von ihm als Teil eines Ablaufs anfordern.

Hier ist ein Beispiel für einen Knoten, der einen Dienst anbietet - ein Primzahl-Oracle in diesem Fall: https://github.com/corda/oracle-example. In der build.gradle Datei führen wir NodeB als Angebot net.corda.examples.primes_oracle Dienst.

Wir definieren dann den Dienst hier: https://github.com/corda/oracle-example/blob/master/service/src/main/kotlin/net/corda/examples/oracle/service/Oracle.kt, und die Flüsse, um den Knoten abzufragen, der den Dienst hier anbietet: https://github.com/corda/oracle-example/tree/master/service/src/main/kotlin/net/corda/examples/oracle/flow.

Im Wesentlichen wird der Dienst auf NodeB ein langlebiges Objekt sein. Wenn andere Knoten es abfragen, extrahiert es Informationen von diesem Objekt und sendet es als Teil eines Flusses an die anderen Knoten zurück.

Verwandte Themen