Distribuisci e testa API wrapper per Stablecoin

Distribuzione del package API wrapper

Prima di poter distribuire il package API wrapper, è necessario aggiornare le variabili di configurazione richieste. Alcune variabili di configurazione hanno valori predefiniti, ma è necessario aggiornare manualmente qualsiasi variabile che contiene un segnaposto come valore predefinito. Le variabili di configurazione vengono memorizzate nel file terraform.tfvars nell'archivio API wrapper. Per ulteriori informazioni sulla distribuzione delle API wrapper e sulle variabili di configurazione, vedere API wrapper in Blockchain App Builder for Oracle Blockchain Platform. Nella tabella seguente sono elencate le variabili di configurazione e i valori predefiniti per il pacchetto API wrapper stablecoin.

Nome variabile Valore predefinito Descrizione
compartment_ocid <compartment_ocid> OCID del compartimento in Oracle Cloud Infrastructure (OCI).
compartment_name <compartment_name> Nome del compartimento OCI.
identity_domain <identity_domain> Il dominio di Identity da utilizzare.
blockchain_channel <blockchain_channel> Nome del canale Oracle Blockchain Platform in cui viene distribuito il codice concatenato.
blockchain_url <blockchain_url> URL di Oracle Blockchain Platform associato alla distribuzione del codice concatenato.
blockchain_chaincode Stablecoin Nome del codice concatenato per il quale generare le API wrapper.
blockchain_sync true Il valore di sincronizzazione da includere nel payload per le chiamate API.
blockchain_timeout 6000 Valore di timeout da includere nel payload per le chiamate API.
vcn_display_name Stablecoin Nome visualizzato della rete cloud virtuale OCI.
application_display_name Stablecoin Nome visualizzato dell'applicazione OCI.
gateway_display_name Stablecoin Nome visualizzato del gateway API.
deployment_display_name Stablecoin Nome visualizzato della distribuzione nel gateway API.
deployment_path_prefix /Stablecoin Prefisso del percorso di distribuzione nel gateway API, che specifica il percorso in cui vengono distribuiti gli instradamenti. La variabile deployment_path_prefix deve iniziare con una barra (/).
ocir_repo_name Stablecoin Nome del repository del registro OCI. La variabile ocir_repo_name deve essere composta da tutte le lettere minuscole.
policy_name Stablecoin Nome del criterio che consente la gestione controllata e l'accesso alle API tramite autorizzazioni definite per gruppi e compartimenti nell'organizzazione

Flusso processo campione Stablecoin

Un tipico flusso di processo che utilizza le API wrapper stablecoin segue questi passaggi di base.
  1. L'amministratore del token utilizza il metodo initializeStablecoinToken per inizializzare una stablecoin con un valore currencyName fisso (ad esempio, USD) e un valore conversionRate.
  2. L'amministratore del token utilizza i metodi createAccounte associateTokenToAccount per creare conti token per tutti gli utenti (approvatori, minatori, notai, mittenti e riceventi a più livelli).
  3. L'amministratore del token utilizza il metodo createStablecoinAccountPolicyCheck per creare i criteri dell'account. I criteri dell'account sono obbligatori per tutti i conti che trasferiscono o detengono stablecoin. Ogni criterio account include tre parametri: KYC, AML e restrictionFlag.
    KYC (Conosci il tuo cliente)
    Il trasferimento è consentito solo se i valori KYC sono true per i conti mittente e destinatario.
    AML (antiriciclaggio)
    Il trasferimento è consentito solo se i valori AML sono true sia per i conti mittente che per quelli ricevente.
    restrictionFlag
    Se il flag di restrizione è impostato su true per il conto del mittente o del destinatario, il trasferimento è consentito solo nell'intervallo di periodi fissi dei criteri di approvazione più basso, rendendo obbligatorio un criterio di approvazione.
  4. L'amministratore del token utilizza createApprovalPolicyCheck per creare un criterio di approvazione. I criteri di approvazione definiscono le soglie delle transazioni, i numeri obbligatori di approvazioni e i dettagli degli approvatori e impostano la sequenza per le approvazioni a più livelli. Un criterio di approvazione è obbligatorio per un'operazione di blocco. Senza un criterio di approvazione, gli utenti non possono bloccare o trasferire i token quando vengono applicate restrizioni.
  5. L'amministratore del token utilizza il metodo addRole per assegnare i ruoli di minter, masterizzatore e notaio agli account appropriati.
  6. Il minter utilizza il metodo requestMint per inviare una richiesta a mint stablecoin.
  7. Il notaio utilizza il metodo approveMint per approvare la richiesta di conio.
  8. Il mittente utilizza il metodo holdTokens per avviare un trasferimento. Il sistema esegue un controllo dei criteri del conto per il mittente e il destinatario. Se la conformità KYC o AML non è soddisfatta per uno dei due conti, il trasferimento non è consentito. Se il flag di restrizione è impostato su true per uno dei due conti, è possibile bloccare solo l'importo nell'intervallo di soglie dei criteri di approvazione più basso. L'importo del trasferimento viene quindi confrontato con le soglie dei criteri di approvazione e gli approvatori richiesti e le relative sequenze di approvazione vengono derivati dal criterio di approvazione.
  9. Gli approvatori su più livelli utilizzano il metodo approveTransaction per rivedere e autorizzare il trasferimento nella sequenza esatta definita nel criterio di approvazione. Se il criterio di approvazione specifica zero approvatori, il notaio può utilizzare direttamente il metodo executeHoldTokens per completare la transazione. Il sistema riconvalida la conformità KYC e AML e il flag di restrizione durante ogni chiamata a executeHoldTokens e approveTransaction. Se un controllo non riesce, la transazione viene bloccata.
  10. Dopo il completamento di tutte le approvazioni, il notaio assegnato utilizza il metodo executeHoldTokens per completare il trasferimento sul conto del ricevente.
  11. Il bruciatore utilizza il metodo requestBurn per inviare una richiesta di masterizzazione delle stablecoin.
  12. Il notaio utilizza il metodo approveBurn per approvare la richiesta di masterizzazione.
  13. Gli amministratori di token e i revisori utilizzano getStablecointAccountTransactionHistory e getStablecoinAccountTransactionHistoryWithFilters per tenere traccia di tutti gli eventi di token, tra cui la visualizzazione, la conservazione, i flussi di approvazione multilivello, i trasferimenti e la masterizzazione.

Collezione Postman

La raccolta Postman nel pacchetto API wrapper stablecoin include attributi e metodi aggiuntivi che supportano il codice concatenato stablecoin. La tabella seguente mostra le variabili di raccolta Postman specifiche del pacchetto stablecoin.
Variabile Descrizione Valore predefinito
bc-instance-client-id ID client del servizio cloud Oracle Blockchain Platform. id-cliente-istanza-bc
bc-instance-client-secret Il segreto client del servizio cloud Oracle Blockchain Platform. bc-instance-client-secret
int-app-client-id L'ID client dell'applicazione riservata IDCS (Oracle Identity Cloud Service), utilizzato per creare un utente IDCS nell'API utente CreateIDCS. int-app-client-id
int-app-client-secret Il segreto client dell'applicazione riservata IDCS, utilizzato per creare un utente IDCS nell'API utente CreateIDCS. segreto client int-app

Per ulteriori informazioni, vedere Componenti del package API wrapper in Blockchain App Builder for Oracle Blockchain Platform.