Composants du paquetage d'API d'encapsuleur
Les ensembles d'API d'encapsuleur contiennent un fichier d'archive des API d'encapsuleur, un script Terraform pour le déploiement et une collection Postman correspondante.
- Le fichier d'archive de l'API d'encapsuleur est nommé
<ChaincodeName>WrapperAPI.zip
. Il contient également un script Terraform qui doit être déployé vers la ressource de pile. - Le fichier de collection Postman est nommé
<ChaincodeName>_WrapperAPI.postman_collection.json
. Vous pouvez utiliser cette collection pour appeler toutes les API wrapper.
Ensemble d'API d'encapsuleur
L'ensemble d'API d'encapsuleur contient un script Terraform qui provisionne toutes les ressources Oracle Cloud Infrastructure (OCI) nécessaires à la création des API d'encapsuleur. Il existe des fichiers de prise en charge Terraform supplémentaires et un dossier Oracle Functions pour chaque API. Les ensembles d'API d'encapsuleur créent les ressources OCI suivantes.
- Réseau en nuage virtuel (VCN) : Établit l'infrastructure de réseau pour la communication.
- Applications (Oracle Functions) : Déploie des fonctions sans serveur pour gérer la logique d'API.
- Passerelle d'API : Crée la passerelle pour gérer et acheminer les demandes d'API.
- Déploiement d'API : Configure et déploie les API sur la passerelle d'API.
- Politique de déploiement d'API : Configure les politiques IAM nécessaires pour activer l'accès sécurisé.
- Registre OCI : Fournit un registre de conteneurs pour la gestion des images Docker.
terraform.tfvars
avec des points d'extrémité et des noms de ressource mis à jour. Modifiez la variable function_paths
dans le fichier terraform.tfvars
pour mettre à jour un point d'extrémité. La variable function_paths
est un objet JSON où la clé est le nom de l'API et la valeur est un autre objet JSON avec les deux clés suivantes :
path
: Définit le point d'extrémité de l'APItype
: Spécifie le type de demande (POST ou GET)
function_paths
.function_paths="{\"activateAccount\":{\"path\":\"/activateAccount\",\"type\":[\"POST\"]}}"
Palette Postman Collection
{
"orgId": "{{bc-org-id}}",
"userId": "user1",
"tokenType": "fungible",
"applicationGroups": "[\"application_groups value\"]",
"dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
"endorsers": {{endorsers}}
}
Variable | Description | Valeur par défaut |
---|---|---|
bc-admin-user |
Utilisateur administrateur, doté du rôle d'administrateur, qui a accès à toutes les demandes POST. Par défaut, cet utilisateur est l'appelant de toutes les demandes POST du code de chaîne. | valeur bc-admin-user |
bc-admin-user-password |
Mot de passe de l'utilisateur administrateur. | bc-admin-user-password valeur |
bc-org-id |
ID organisation par défaut dans toutes les demandes POST où orgId est le nom du paramètre
|
valeur bc-org-id |
bc-user-id |
ID utilisateur par défaut dans toutes les demandes POST où userId est le nom du paramètre
|
bc-userid valeur |
bc-token-id |
ID jeton par défaut dans toutes les demandes POST où tokenId est le nom du paramètre
|
valeur bc-token-id |
endorsers |
Le tableau des endosseurs répertorie les pairs spécifiques (par exemple : peer1, peer2) pour endosser cette transaction. | ["org1-xyz-abc.blockchain.ocp.oraclecloud.com :20009", "org2-xyz-abc.blockchain.ocp.oraclecloud.com :20009"] |
api-gateway-endpoint |
Point d'extrémité de chaque demande, qui sert de chemin de base pour les points d'extrémité d'API d'encapsuleur.
S'il y a moins de 50 API, un seul point d'extrémité est utilisé. S'il existe plus de 50 API, les points d'extrémité sont générés dynamiquement en tant que api-gateway-endpoint1, api-gateway-endpoint2, etc., en fonction du nombre d'API. |
https://xyz.apigateway.region.oci.customer-oci.com/CBDC |
peer |
Cette variable existe uniquement pour la collection Postman d'API d'encapsulation de code de chaîne confidentielle, qui nécessite l'en-tête pair pour toutes les API de programme de définition. | org-xyz-abc.blockchain.ocp.oraclecloud.com : 20009 |
Après le déploiement de l'ensemble d'API d'encapsuleur, la sortie du déploiement de ressource de pile est un objet JSON qui contient les valeurs de point d'extrémité de passerelle. Si vous générez plus de 50 API, plusieurs points d'extrémité de passerelle sont générés, un pour 50 API. Vous devez mettre à jour les variables de collection Postman liées à ces points d'extrémité. Les variables liées aux points d'extrémité de la collection Postman doivent être mises à jour avec les valeurs appropriées issues de la sortie du déploiement du package d'API wrapper dans le gestionnaire de ressources de pile.
endorsers
ou sameOrgEndorser
dans les données utiles de la demande. Les informations qui spécifient les API nécessitant le paramètre sameOrgEndorser
sont définies dans le paramètre sameOrgEndorserOptionInWrapperAPI
dans le fichier .ochain.json
du code de chaîne. sameOrgEndorser
sera réglé à Vrai dans les données utiles des API listées dans ce paramètre. Toutes les autres API de l'outil de définition incluront le paramètre endorsers
à la place. L'exemple suivant présente le paramètre pour le code de chaîne CBDC de gros."sameOrgEndorserOptionInWrapperAPI": ["addConversionRate","addTokenAdmin","addTokenAuditor","approveBurn","approveMint","burnTokens","createExchangePoolAccounts","deleteHistoricalTransactions","initializeCBDCToken","initializeExchangePoolUser","mintWithFundingExchangePool","rejectBurn","rejectMint","removeTokenAdmin","removeTokenAuditor","requestBurn","requestMint","updateCBDCToken","updateConversionRate"]
Vous pouvez personnaliser le paramètre sameOrgEndorserOptionInWrapperAPI
dans le fichier .ochain.json
, au besoin. Lorsque vous générez des API d'encapsulation, les API spécifiées incluent alors le paramètre sameOrgEndorser
comme true
dans leurs données utiles.