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.- L'amministratore del token utilizza il metodo
initializeStablecoinTokenper inizializzare una stablecoin con un valorecurrencyNamefisso (ad esempio,USD) e un valoreconversionRate. - L'amministratore del token utilizza i metodi
createAccounteassociateTokenToAccountper creare conti token per tutti gli utenti (approvatori, minatori, notai, mittenti e riceventi a più livelli). - L'amministratore del token utilizza il metodo
createStablecoinAccountPolicyCheckper 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,AMLerestrictionFlag.-
KYC(Conosci il tuo cliente) - Il trasferimento è consentito solo se i valori KYC sono
trueper i conti mittente e destinatario. -
AML(antiriciclaggio) - Il trasferimento è consentito solo se i valori AML sono
truesia per i conti mittente che per quelli ricevente. -
restrictionFlag - Se il flag di restrizione è impostato su
trueper 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.
-
- L'amministratore del token utilizza
createApprovalPolicyCheckper 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. - L'amministratore del token utilizza il metodo
addRoleper assegnare i ruoli di minter, masterizzatore e notaio agli account appropriati. - Il minter utilizza il metodo
requestMintper inviare una richiesta a mint stablecoin. - Il notaio utilizza il metodo
approveMintper approvare la richiesta di conio. - Il mittente utilizza il metodo
holdTokensper 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 sutrueper 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. - Gli approvatori su più livelli utilizzano il metodo
approveTransactionper 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 metodoexecuteHoldTokensper completare la transazione. Il sistema riconvalida la conformità KYC e AML e il flag di restrizione durante ogni chiamata aexecuteHoldTokenseapproveTransaction. Se un controllo non riesce, la transazione viene bloccata. - Dopo il completamento di tutte le approvazioni, il notaio assegnato utilizza il metodo
executeHoldTokensper completare il trasferimento sul conto del ricevente. - Il bruciatore utilizza il metodo
requestBurnper inviare una richiesta di masterizzazione delle stablecoin. - Il notaio utilizza il metodo
approveBurnper approvare la richiesta di masterizzazione. - Gli amministratori di token e i revisori utilizzano
getStablecointAccountTransactionHistoryegetStablecoinAccountTransactionHistoryWithFiltersper 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
| 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.