Wrapper-API-Packagekomponenten
Wrapper-API-Packages enthalten eine Archivdatei der Wrapper-APIs, ein Terraform-Skript für das Deployment und eine entsprechende Postman-Collection.
- Die Wrapper-API-Archivdatei heißt
<ChaincodeName>WrapperAPI.zip
. Außerdem enthält es ein Terraform-Skript, das in der Stackressource bereitgestellt werden muss. - Die Postman-Collection-Datei heißt
<ChaincodeName>_WrapperAPI.postman_collection.json
. Mit dieser Sammlung können Sie alle Wrapper-APIs aufrufen.
Wrapper-API-Package
Das Wrapper-API-Package enthält ein Terraform-Skript, das alle Oracle Cloud Infrastructure-(OCI-)Ressourcen bereitstellt, die zum Erstellen der Wrapper-APIs erforderlich sind. Es gibt zusätzliche Terraform-Supportdateien und einen Oracle Functions-Ordner für jede API. Die Wrapper-API-Packages erstellen die folgenden OCI-Ressourcen.
- Virtuelles Cloud-Netzwerk (VCN): Richtet die Netzwerkinfrastruktur für die Kommunikation ein.
- Anwendungen (Oracle Functions): Stellt serverlose Funktionen zur Verarbeitung der API-Logik bereit.
- API-Gateway: Erstellt das Gateway zur Verwaltung und Weiterleitung von API-Anforderungen.
- API-Deployment: Konfiguriert und stellt die APIs im API-Gateway bereit.
- API-Deployment-Policy: Richtet die erforderlichen IAM-Policys ein, um sicheren Zugriff zu ermöglichen.
- OCI Registry: Stellt eine Container-Registry zur Verwaltung von Docker-Images bereit.
terraform.tfvars
mit aktualisierten Endpunkten und Ressourcennamen und die Datei routes.go
mit aktualisierten Endpunkten aktualisieren. Bearbeiten Sie die Variable function_paths
in der Datei terraform.tfvars
, um einen Endpunkt zu aktualisieren. Die Variable function_paths definiert Endpunkte mit der folgenden Syntax: {endpoint, methodType}
. Der folgende Text zeigt ein Beispiel für eine Variable function_paths
.function_paths="[{\"endpoint\":\"/activateCBDCAccount\",\"methodType\":[\"POST\"]},{\"endpoint\":\"/addCBAdmin\",\"methodType\":[\"POST\"]},{\"endpoint\":\"/approveBurn\",\"methodType\":[\"POST\"]}]"
Die Datei routes.go
befindet sich im Ordner <ChaincodeName>OCIFunction
. Die Variable routeData
enthält Metadaten für alle im Gateway erstellten Routen, einschließlich Routenname, Argumenten und Angabe, ob optionale Argumente vorhanden sind. Wenn Sie einen Endpunkt in der Variablen function_paths
in der Datei terraform.tfvars
aktualisieren, müssen Sie auch den entsprechenden Eintrag in der Variablen routeData
in der Datei routes.go
aktualisieren, wie im folgenden Beispiel dargestellt.var routeData = map[string]Route{
"/activateCBDCAccount": {
Args: []string{"activateAccount", "orgId", "userId", "tokenId"},
OptionalParams: true,
},
}
Postman Sammlung
Postman-Sammlungen unterstützen jetzt vertrauliche Chaincode- und OAuth 2.0-Authentifizierung. Weitere Informationen finden Sie unter Verbesserungen an Postman Collections.
{
"orgId": "{{bc-org-id}}",
"userId": "user1",
"tokenType": "fungible",
"applicationGroups": "[\"application_groups value\"]",
"dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
"endorsers": {{endorsers}}
}
Variable | Beschreibung | Standardwert |
---|---|---|
bc-admin-user |
Der administrative Benutzer, der die Rolle admin hat und auf alle POST-Anforderungen zugreifen kann. Standardmäßig ist dieser Benutzer der Aufrufer aller POST-Anforderungen im Chaincode.
|
bc-admin-user-Wert |
bc-admin-user-password |
Administratives Benutzerkennwort. | bc-admin-user-password-Wert |
bc-org-id |
Die Standardorganisations-ID in allen POST-Anforderungen, wobei orgId der Parametername ist
|
bc-org-id-Wert |
bc-user-id |
Die Standardbenutzer-ID in allen POST-Anforderungen, wobei userId der Parametername ist
|
bc-user-id-Wert |
bc-token-id |
Die Standardtoken-ID in allen POST-Anforderungen, wobei tokenId der Parametername ist
|
bc-token-id-Wert |
endorsers |
Das Endorser-Array listet die spezifischen Peers auf (Beispiel: peer1, peer2), um diese Transaktion zu bestätigen. | ["org1-xyz-abc.blockchain.ocp.oraclecloud.com:20009", "org2-xyz-abc.blockchain.ocp.oraclecloud.com:20009"] |
api-gateway-endpoint |
Der Endpunkt jeder Anforderung, der als Basispfad für Wrapper-API-Endpunkte dient.
Wenn weniger als 50 APIs vorhanden sind, wird ein einzelner Endpunkt verwendet. Wenn mehr als 50 APIs vorhanden sind, werden die Endpunkte basierend auf der Anzahl der APIs dynamisch als |
https://xyz.apigateway.region.oci.customer-oci.com/CBDC |
bc-url |
Die REST-Proxy-URL der Oracle Blockchain Platform-Instanz. | https://test-xyz-abc.blockchain.ocp.oraclecloud.com:7443/restproxy |
access-token-url |
Die Oracle Identity Cloud Service-(IDCS-)Zugriffstoken-URL. Beispiel: <idcs_endpoint>/oauth/v1/token |
access-token-url-Wert |
client-id |
Die Client-ID der Oracle Blockchain Platform-Instanz. | Client-Kennung |
client-secret |
Das Client Secret der Oracle Blockchain Platform-Instanz. | Client-Secret |
peer |
Diese Variable ist nur für die Confidential-Chaincode-Wrapper-API Postman-Collection vorhanden, die den Peer-Header für alle Setter- und Getter-APIs erfordert. | org-xyz-abc.blockchain.ocp.oraclecloud.com:20009 |
Nachdem Sie das Wrapper-API-Package bereitgestellt haben, ist die Ausgabe des Stackressourcen-Deployments ein JSON-Objekt, das die Gatewayendpunktwerte enthält. Wenn Sie mehr als 50 APIs generieren, werden mehrere Gateway-Endpunkte generiert, eine für alle 50 APIs. Sie müssen die Postman-Collection-Variablen aktualisieren, die sich auf diese Endpunkte beziehen. Die Endpunktvariablen in der Postman-Collection müssen mit den entsprechenden Werten aus der Ausgabe des Wrapper-API-Package-Deployments im Stack Resource Manager aktualisiert werden.
endorsers
oder sameOrgEndorser
in der Anforderungs-Payload. Die Informationen, die angeben, welche APIs den Parameter sameOrgEndorser
erfordern, werden im Parameter sameOrgEndorserOptionInWrapperAPI
in der Datei .ochain.json
im Chaincode definiert. Für APIs, die in diesem Parameter aufgeführt werden, ist sameOrgEndorser
in ihren Payloads auf "true" gesetzt. Alle anderen Setter-APIs enthalten stattdessen den Parameter endorsers
. Das folgende Beispiel zeigt den Parameter für den CBDC-Großhandelskettencode."sameOrgEndorserOptionInWrapperAPI": ["addConversionRate","addTokenAdmin","addTokenAuditor","approveBurn","approveMint","burnTokens","createExchangePoolAccounts","deleteHistoricalTransactions","initializeCBDCToken","initializeExchangePoolUser","mintWithFundingExchangePool","rejectBurn","rejectMint","removeTokenAdmin","removeTokenAuditor","requestBurn","requestMint","updateCBDCToken","updateConversionRate"]
Sie können den Parameter sameOrgEndorserOptionInWrapperAPI
in der Datei .ochain.json
nach Bedarf anpassen. Wenn Sie Wrapper-APIs generieren, nehmen die angegebenen APIs dann den Parameter sameOrgEndorser
als true
in ihre Payloads auf.