Wrapper-API-Packagekomponenten
Wrapper-API-Packages enthalten eine Archivdatei der Wrapper-APIs, ein Terraform-Skript für das Deployment und eine entsprechende Postman-Sammlung.
- Die Wrapper-API-Archivdatei hat den Namen
<ChaincodeName>WrapperAPI.zip
. Außerdem enthält es ein Terraform-Skript, das in der Stackressource bereitgestellt werden muss. - Die Postman-Sammlungsdatei hat den Namen
<ChaincodeName>_WrapperAPI.postman_collection.json
. Mit dieser Collection 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. Für jede API sind zusätzliche Terraform-Supportdateien und ein Oracle Functions-Ordner vorhanden. Die Wrapper-API-Packages erstellen die folgenden OCI-Ressourcen.
- Virtual Cloud Network (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 zum Verwalten und Weiterleiten von API-Anforderungen.
- API-Deployment: Konfiguriert und stellt die APIs im API-Gateway bereit.
- API-Deployment-Policy: Richtet die erforderlichen IAM-Policys ein, um den sicheren Zugriff zu ermöglichen.
- OCI-Registry: Stellt eine Container-Registry zur Verwaltung von Docker-Images bereit.
terraform.tfvars
mit aktualisierten Endpunkten und Ressourcennamen aktualisieren. Bearbeiten Sie die Variable function_paths
in der Datei terraform.tfvars
, um einen Endpunkt zu aktualisieren. Die Variable function_paths
ist ein JSON-Objekt, bei dem der Schlüssel der API-Name ist und der Wert ein anderes JSON-Objekt mit den folgenden zwei Schlüsseln ist:
path
: Definiert den Endpunkt für die APItype
: Gibt den Anforderungstyp an (POST oder GET)
function_paths
.function_paths="{\"activateAccount\":{\"path\":\"/activateAccount\",\"type\":[\"POST\"]}}"
Postman-Sammlung
{
"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 Admin-Benutzer mit Administratorrolle, der Zugriff auf alle POST-Anforderungen hat. Standardmäßig ist dieser Benutzer der Aufrufer aller POST-Anforderungen im Chaincode. | bc-admin-user-Wert |
bc-admin-user-password |
Admin-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 api-gateway-endpoint1, api-gateway-endpoint2 usw. generiert. |
https://xyz.apigateway.region.oci.customer-oci.com/CBDC |
peer |
Diese Variable ist nur für die Postman-Collection der Confidential Chaincode-Wrapper-API vorhanden, für die der Peerheader für alle Setter-APIs erforderlich ist. | org-xyz-abc.blockchain.ocp.oraclecloud.com: 20009 |
Nachdem Sie das Wrapper-API-Package bereitgestellt haben, ist die Ausgabe aus dem Stackressourcen-Deployment 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 für diese Endpunkte aktualisieren. 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
benötigen, werden im Parameter sameOrgEndorserOptionInWrapperAPI
in der Datei .ochain.json
im Chaincode definiert. Für die in diesem Parameter aufgeführten APIs 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.