2017-10-26 1 views
0

Ich versuche ein DLT mit 4 Knoten und 2 Notare zu erstellen, wobei jeder Notar für die Kommunikation mit 2 Knoten zuständig ist.Mehrere Notare hinzufügen in CORDA

Probe Gradle Config

task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) { 
directory "./build/nodes" 
networkMap "O=Controller,L=London,C=GB" 
node { 
    name "O=Controller,L=London,C=GB" 
    advertisedServices = ["corda.notary.validating"] 
    p2pPort 10002 
    rpcPort 10003 
    cordapps = ["net.corda:corda-finance:$corda_release_version"] 
} 
node { 
    name "O=ControllerNY,L=New York,C=US" 
    advertisedServices = ["corda.notary.validating"] 
    p2pPort 10004 
    rpcPort 10005 
    cordapps = ["net.corda:corda-finance:$corda_release_version"] 
} 
node { 
    name "O=PartyA,L=London,C=GB" 
    advertisedServices = [] 
    p2pPort 10006 
    rpcPort 10007 
    webPort 10008 
    cordapps = ["net.corda:corda-finance:$corda_release_version"] 
    rpcUsers = [[ user: "user1", "password": "test", "permissions": []]] 
} 
node { 
    name "O=PartyB,L=London,C=GB" 
    advertisedServices = [] 
    p2pPort 10009 
    rpcPort 10010 
    webPort 10011 
    cordapps = ["net.corda:corda-finance:$corda_release_version"] 
    rpcUsers = [[ user: "user1", "password": "test", "permissions": []]] 
} 
node { 
    name "O=PartyC,L=New York,C=US" 
    advertisedServices = [] 
    p2pPort 10012 
    rpcPort 10013 
    webPort 10014 
    cordapps = ["net.corda:corda-finance:$corda_release_version"] 
    rpcUsers = [[ user: "user1", "password": "test", "permissions": []]] 
} 
node { 
    name "O=PartyD,L=New York,C=US" 
    advertisedServices = [] 
    p2pPort 10015 
    rpcPort 10016 
    webPort 10017 
    cordapps = ["net.corda:corda-finance:$corda_release_version"] 
    rpcUsers = [[ user: "user1", "password": "test", "permissions": []]] 
} 

}

Wie kann ich sowohl controller, controllerNY so zu vernetzen, dass sie es als Notar nimmt und nicht als normaler Knoten

Antwort

1

Sowohl Controller und ControllerNY wird in diesem Fall als Notare zu Ihrem Netzwerk hinzugefügt, da beide einen Notar-Service bewerben.

Jeder Knoten ist dann frei, Notar für eine bestimmte Transaktion zu verwenden. Sie wählen Ihren Notar in der Strömung mit so etwas wie:

serviceHub.networkMapCache.getNotary(notaryToUse) 

Oder

serviceHub.networkMapCache.notaryIdentities.single { it.name.organisation == notaryToUse }