Hinzufügen von Fabric-Organisationen zum Netzwerk
Dieses Thema enthält Informationen zum Verbinden von Hyperledger Fabric-Organisationen mit einem Oracle Blockchain Platform-Netzwerk.
Typischer Workflow für den Beitritt einer Fabric-Organisation zu einem Oracle Blockchain Platform-Netzwerk
Im Folgenden werden die Aufgaben aufgeführt, die eine Fabric-Organisation und die Gründerorganisation von Oracle Blockchain Platform ausführen müssen, um einer Fabric-Organisation mit dem Oracle Blockchain Platform-Netzwerk beizutreten.
Aufgabe | Wer macht das? | Beschreibung | Weitere Informationen |
---|---|---|---|
Erstellen Sie die Zertifikatsdatei für die Fabric-Organisation. | Fabric-Organisation | Informationen zum Admin-, CA- und TLS-Zertifikat der Fabric-Organisation suchen und zum Verfassen einer JSON-Zertifikatsdatei verwenden. | Zertifikatsdatei einer Fabric-Organisation erstellen |
Laden Sie die Zertifikatsdatei der Fabric-Organisation in das Oracle Blockchain Platform-Netzwerk hoch | Gründerorganisation | Verwenden Sie die Konsole, um die Zertifikatsdatei der Fabric-Organisation hochzuladen und zu importieren, um die Fabric-Organisation zum Netzwerk hinzuzufügen. | Zertifikate importieren, um Organisationen zum Netzwerk hinzuzufügen |
Kanal erstellen | Gründerorganisation | Erstellen Sie einen neuen Kanal, und fügen Sie ihm die Fabric-Organisation hinzu. | Kanal erstellen |
Ordering Service-Einstellungen vom Gründer exportieren | Gründerorganisation | Ausgabe der Ordering Services-Einstellungen des Gründers in eine JSON-Datei und Senden der Datei an die Fabric-Organisation. | Nehmen Sie an den teilnehmenden oder skalierten OSNs beim Ordering Service des Gründers teil |
Orderer-Zertifikatsdatei erstellen | Fabric-Organisation | Erstellen Sie eine Datei mit dem Namen orderer.pem, die tlscacert-Informationen enthält.
Gehen Sie zur Datei mit den exportierten Einstellungen für den Bestellservice, und kopieren Sie die tlscacert-Informationen. Nachdem Sie die tlscacert-Informationen in die Datei orderer.pem eingefügt haben, müssen Sie alle Instanzen von \n durch das Zeilenvorschubzeichen ersetzen. Die Datei orderer.pem muss das folgende Format aufweisen:
|
Zertifikatsdatei einer Fabric-Organisation erstellen |
Einstellungen für Bestellservice bereitstellen | Gründerorganisation | Öffnen Sie die Einstellungsdatei für den Bestellservice, suchen Sie die Adresse und den Port des Bestellservice, und geben Sie sie an die Fabric-Organisation weiter. Beispiel:
|
- |
Hinzufügen der Fabric-Organisation zum Netzwerk | Fabric-Organisation | Die Fabric-Organisation kopiert Zertifikate in ihre Umgebung, legt Umgebungsvariablen fest, ruft den Genesis-Block ab, tritt dem Kanal bei und installiert den Chaincode. | Fabric-Umgebung zur Verwendung des Oracle Blockchain Platform-Netzwerks vorbereiten |
Zertifikatsdatei einer Fabric-Organisation erstellen
Damit eine Fabric-Organisation einem Oracle Blockchain Platform-Netzwerk beitreten kann, muss sie eine Zertifikatsdatei mit den zugehörigen Informationen zu Admincerts, Cacerts und tlscacerts schreiben. Die Oracle Blockchain Platform-Gründerorganisation importiert diese Datei, um die Fabric-Organisation zum Netzwerk hinzuzufügen.
Die Informationen zu Fabric-Zertifikaten werden in PEM-Dateien im MSP-Ordner der Fabric-Organisation gespeichert. Beispiel: network_name_example/crypto-config/peerOrganizations/example_org.com/msp/
.
Die Zertifikatsdatei muss in JSON geschrieben sein und die folgenden Felder enthalten. Wenn Sie die Zertifikatsinformationen für alle Zertifikate in die JSON-Datei kopieren, müssen Sie jede neue Zeile durch \n ersetzen, damit die Informationen alle in einer Zeile ohne Leerzeichen stehen, wie im folgenden Beispiel dargestellt.
-
mspid – Gibt den Namen der Fabric-Organisation an.
- type - Gibt an, dass die Organisation ein Netzwerkteilnehmer ist. Dieser Wert muss Teilnehmer sein.
-
admincert — Enthält den Inhalt der Admin-Zertifikatsdatei der Organisation:
Admin@example_org.com-cert.pem
. -
cacert: Enthält den Inhalt der CA-Zertifikatsdatei der Organisation:
ca.example_org-cert.pem
. -
tlscacert - Enthält den Inhalt der TLS-Zertifikatsdatei der Organisation:
tlsca.example_org-cert.pem
. - intermediatecerts – Dieses optionale Element enthält den Inhalt einer CA-Zwischenzertifikatsdatei. Geben Sie dieses Element nur an, wenn eine CA-Zwischenzertifikatsdatei vorhanden ist.
- nodeouidentifiercert – Dieser Abschnitt enthält Zertifikate, die OU-Rollen für Knoten identifizieren.
-
adminouidentifiercert – Enthält den Inhalt der Zertifikatsdatei der Organisation, mit der die OU-Admin-Rollen des Knotens identifiziert werden. Wenn Sie die Admin-Rolle nicht benötigen, können Sie den Inhalt der CACERT-Datei oder den Inhalt der Zwischenzertifikatsdatei als Inhalt des Admin-Identifiers verwenden.
-
clientouidentifiercert – Enthält den Inhalt der Zertifikatsdatei der Organisation, mit der OU-Clientrollen des Knotens identifiziert werden.
-
ordererouidentifiercert – Enthält den Inhalt der Zertifikatsdatei der Organisation, mit der OU-Orderer-Rollen für Knoten identifiziert werden. Wenn Sie die Orderer-Rolle nicht benötigen, können Sie den Inhalt der Cacert-Datei oder den Inhalt der Zwischenzertifikatsdatei als Ordererouidentifier-Inhalt verwenden.
-
peerouidentifiercert - Enthält den Inhalt der Zertifikatsdatei der Organisation, mit der OU-Peerrollen des Knotens identifiziert werden.
{
"mspID": "examplemspID",
"type": "Participant",
"certs": {
"admincert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
"cacert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
"tlscacert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n"
"nodeouidentifiercert": {
"adminouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
"clientouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
"ordererouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
"peerouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n"
}
}
}
Fabric-Umgebung zur Verwendung des Oracle Blockchain Platform-Netzwerks vorbereiten
Sie müssen die Umgebung der Fabric-Organisation ändern, bevor sie das Oracle Blockchain Platform-Netzwerk verwenden kann.
Bestätigen Sie, dass die folgenden Voraussetzungsaufgaben abgeschlossen wurden. Weitere Informationen finden Sie unter Typischer Workflow zum Beitritt einer Fabric-Organisation zu einem Oracle Blockchain Platform-Netzwerk.
-
Die Zertifikatsdatei der Fabric-Organisation wurde erstellt und an den Netzwerkgründer von Oracle Blockchain Platform gesendet.
-
Der Netzwerkgründer hat die Zertifikatsdatei hochgeladen, um die Fabric-Organisation zum Netzwerk hinzuzufügen.
-
Der Netzwerkgründer hat einen neuen Kanal erstellt und die Fabric-Organisation hinzugefügt.
-
Der Netzwerkgründer hat seine Ordering-Service-Einstellungen heruntergeladen und an die Fabric-Organisation gesendet.
-
Die Zertifikatsdatei des Bestellers wurde von der Fabric-Organisation erstellt.
-
Der Netzwerkgründer gab die Bestellserviceadresse und den Port an die Fabric-Organisation weiter.
Sie müssen die Fabric-Organisation hinzufügen und den Chaincode installieren und testen.
-
Navigieren Sie zum Fabric-Netzwerkverzeichnis, und starten Sie den Peer-Container.
-
Rufen Sie den Genesis-Block des Kanals mit diesem Befehl ab:
peer channel fetch 0 mychannel.block -o ${orderer_addr}:${orderer_port} -c mychannel --tls --cafile orderer.pem --logging-level debug
Dabei gilt:
-
{orderer_addr} ist die Bestelladresse des Gründers.
-
{orderer_port} ist die Portnummer des Gründers.
-
-c mychannel ist der Name des Kanals, den der Gründer erstellt hat. In diesem Kanal sendet und empfängt die Fabric-Organisation Transaktionen im Oracle Blockchain Platform-Netzwerk.
-
orderer.pem ist die Orderer-Zertifikatsdatei des Gründers.
-
-
Treten Sie dem Kanal mit diesem Befehl bei:
peer channel join -b mychannel.block -o ${orderer_addr}:${orderer_port} --tls --cafile orderer.pem --logging-level debug
-
Installieren Sie den Chaincode mit diesem Befehl:
peer chaincode install -n mycc -v 1.0 -l "golang" -p ${CC_SRC_PATH}
Dabei ist CC_SRC_PATH der Ordner, der den Chaincode enthält.
-
Instanziieren Sie den Chaincode mit diesem Befehl:
peer chaincode instantiate -o ${orderer_addr}:${orderer_port} --tls --cafile orderer.pem -C mychannel -n mycc -l golang -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P <policy_string> --logging-level debug
-
Rufen Sie den Chaincode mit diesem Befehl auf:
peer chaincode invoke -o ${orderer_addr}:${orderer_port} --tls true --cafile orderer.pem -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}' --logging-level debug
-
Fragen Sie den Chaincode mit diesem Befehl ab:
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}' --logging-level debug