Componenti pacchetto API wrapper
I package API wrapper contengono un file di archivio delle API wrapper, uno script Terraform per la distribuzione e una raccolta Postman corrispondente.
- Il file di archivio API wrapper è denominato
<ChaincodeName>WrapperAPI.zip
. Contiene anche uno script Terraform che deve essere distribuito nella risorsa stack. - Il file di raccolta Postman è denominato
<ChaincodeName>_WrapperAPI.postman_collection.json
. È possibile utilizzare questa raccolta per richiamare tutte le API wrapper.
Package API del wrapper
Il package API wrapper contiene uno script Terraform che esegue il provisioning di tutte le risorse Oracle Cloud Infrastructure (OCI) necessarie per creare le API wrapper. Sono disponibili file di supporto Terraform aggiuntivi e una cartella Oracle Functions per ogni API. I package API wrapper creano le risorse OCI riportate di seguito.
- Rete cloud virtuale (VCN): stabilisce l'infrastruttura di rete per la comunicazione.
- Applicazioni (Oracle Functions): implementa funzioni serverless per gestire la logica API.
- Gateway API: crea il gateway per gestire e instradare le richieste API.
- Distribuzione API: configura e distribuisce le API nel gateway API.
- Criterio di distribuzione API: imposta i criteri IAM necessari per abilitare l'accesso sicuro.
- OCI Registry: fornisce un registro container per la gestione delle immagini Docker.
terraform.tfvars
con endpoint e nomi di risorsa aggiornati. Modificare la variabile function_paths
nel file terraform.tfvars
per aggiornare un endpoint. La variabile function_paths
è un oggetto JSON in cui la chiave è il nome dell'API e il valore è un altro oggetto JSON con le due chiavi seguenti:
path
: definisce l'endpoint per l'APItype
: specifica il tipo di richiesta (POST o GET).
function_paths
.function_paths="{\"activateAccount\":{\"path\":\"/activateAccount\",\"type\":[\"POST\"]}}"
Collezione Postman
{
"orgId": "{{bc-org-id}}",
"userId": "user1",
"tokenType": "fungible",
"applicationGroups": "[\"application_groups value\"]",
"dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
"endorsers": {{endorsers}}
}
Variabile | Descrizione | Valore predefinito |
---|---|---|
bc-admin-user |
L'utente amministratore, che dispone del ruolo di amministratore in cui ha accesso a tutte le richieste POST. Per impostazione predefinita, questo utente è il chiamante di tutte le richieste POST nel codice concatenato. | valore bc-admin-user |
bc-admin-user-password |
Password utente amministratore. | valore bc-admin-user-password |
bc-org-id |
ID organizzazione predefinito in tutte le richieste POST in cui orgId è il nome del parametro
|
valore bc-org-id |
bc-user-id |
L'ID utente predefinito in tutte le richieste POST in cui userId è il nome del parametro
|
valore bc-user-id |
bc-token-id |
ID token predefinito in tutte le richieste POST in cui tokenId è il nome del parametro
|
valore di bc-token-id |
endorsers |
L'array di autori approvazione elenca i pari livello specifici (ad esempio peer1, peer2) per approvare questa transazione. | ["org1-xyz-abc.blockchain.ocp.oraclecloud.com:20009", "org2-xyz-abc.blockchain.ocp.oraclecloud.com:20009"] |
api-gateway-endpoint |
Endpoint di ogni richiesta, che funge da percorso di base per gli endpoint API wrapper.
Se sono presenti meno di 50 API, viene utilizzato un singolo endpoint. Se sono presenti più di 50 API, gli endpoint vengono generati in modo dinamico come api-gateway-endpoint1, api-gateway-endpoint2 e così via, in base al numero di API. |
https://xyz.apigateway.region.oci.customer-oci.com/CBDC |
peer |
Questa variabile esiste solo per la raccolta Postman API wrapper codice concatenato riservata, che richiede l'intestazione peer per tutte le API setter. | org-xyz-abc.blockchain.ocp.oraclecloud.com:20009 |
Dopo aver distribuito il package API wrapper, l'output della distribuzione delle risorse dello stack è un oggetto JSON contenente i valori dell'endpoint del gateway. Se si generano più di 50 API, vengono generati più endpoint di gateway, uno per ogni 50 API. È necessario aggiornare le variabili di raccolta Postman correlate a questi endpoint. Le variabili correlate all'endpoint nella raccolta Postman devono essere aggiornate con i valori appropriati dall'output della distribuzione del package API wrapper in Stack Resource Manager.
endorsers
o sameOrgEndorser
nel payload della richiesta. Le informazioni che specificano quali API richiedono il parametro sameOrgEndorser
vengono definite nel parametro sameOrgEndorserOptionInWrapperAPI
nel file .ochain.json
nel codice concatenato. Le API elencate in questo parametro avranno sameOrgEndorser
impostato su true nei relativi payload. Tutte le altre API del setter includeranno invece il parametro endorsers
. L'esempio seguente mostra il parametro per il codice concatenato CBDC all'ingrosso."sameOrgEndorserOptionInWrapperAPI": ["addConversionRate","addTokenAdmin","addTokenAuditor","approveBurn","approveMint","burnTokens","createExchangePoolAccounts","deleteHistoricalTransactions","initializeCBDCToken","initializeExchangePoolUser","mintWithFundingExchangePool","rejectBurn","rejectMint","removeTokenAdmin","removeTokenAuditor","requestBurn","requestMint","updateCBDCToken","updateConversionRate"]
È possibile personalizzare il parametro sameOrgEndorserOptionInWrapperAPI
nel file .ochain.json
in base alle esigenze. Quando si generano le API wrapper, le API specificate includeranno il parametro sameOrgEndorser
come true
nei relativi payload.