Distribuisci e testa codice concatenato Stablecoin
Puoi distribuire il codice concatenato direttamente dalla console di Oracle Blockchain Platform o utilizzando Blockchain App Builder.
Distribuzione del codice concatenato
Prima di distribuire il codice concatenato, creare gli ID di registrazione per ciascun utente del token e quindi mappare gli utenti del token ai rispettivi ID di registrazione. Specificare un solo utente per ogni iscrizione. Per ulteriori informazioni sull'aggiunta di iscrizioni, vedere Aggiungere iscrizioni a un proxy REST in Uso di Oracle Blockchain Platform.
Quando si distribuisce il codice concatenato del token, è necessario chiamare il metodo init e passare l'ID organizzazione e l'ID utente dell'utente Token Admin.
Per informazioni sulla distribuzione dalla console di Oracle Blockchain Platform, vedere Usa distribuzione avanzata in Uso di Oracle Blockchain Platform.
- Estrarre il file dell'archivio
Stablecoin.zip. - Importa il codice concatenato
Stablecoinnell'estensione Blockchain App Builder in Visual Studio Code. - Modificare il file
.ochain.jsonper aggiornare il valore della chiaveconfigFileLocational percorso del file di specificaStablecoin.yml. - Aprire una finestra del terminale e passare alla cartella del codice concatenato, quindi eseguire il comando seguente.
npm install
Flusso del processo di esempio per Stablecoin Chaincode
Un tipico flusso di processo che utilizza i metodi stablecoin segue questi passaggi di base.- Gli amministratori dei token utilizzano il metodo
initializeStablecoinTokenper inizializzare la stablecoin, specificando i valori percurrencyNamefisso (ad esempio USD) econversionRate. - Gli amministratori dei token utilizzano i metodi
createAccounteassociateTokenToAccountper creare conti token e assegnare ruoli a tutti gli utenti, inclusi gli approvatori per approvazioni multilivello, i minatori, i notai, i mittenti e i riceventi. - Gli amministratori dei token o gli amministratori dell'organizzazione utilizzano il metodo
createAccountPolicyCheckper creare criteri di conto per tutti i mittenti e i riceventi e verificare i flag KYC, AML e restrizioni. - Gli amministratori dei token utilizzano il metodo
createApprovalPolicyCheckper definire i criteri di approvazione specificando le soglie delle transazioni, i requisiti di approvazione, ad esempio il numero richiesto di approvazioni, e i dettagli degli approvatori con sequenze di approvazione per le approvazioni multilivello. - Gli amministratori di token utilizzano il metodo
addRoleper assegnare ruoli quali minter, masterizzatore e notaio agli account.
- Il minter utilizza il metodo
requestMintper richiedere l'approvazione alle stablecoin di menta. - L'approvatore della zecca utilizza il metodo
approveMintper approvare la richiesta del minatore. - Le stablecoin vengono emesse sul conto del minatore.
- Un utente avvia un trasferimento utilizzando il metodo
holdTokens. - Il sistema controlla la conformità ai criteri
AccountPolicyCheck. Se i valorikycComplianceoamlCompliancesono impostati sufalseper il mittente o il destinatario, il trasferimento non viene eseguito. Se il valorerestrictionFlagè impostato sutrueper il mittente o il destinatario, è possibile trasferire solo l'importo nell'intervallo più basso del criterio di approvazione. L'importo del trasferimento viene confrontato con le soglieApprovalPolicyChecke gli approvatori appropriati con le sequenze definite vengono applicati alla transazione. - Gli approvatori utilizzano il metodo
approveTransactionper rivedere e autorizzare il trasferimento. Le approvazioni vengono eseguite in base alla sequenza dell'approvatore definita nel criterio di approvazione. - Dopo tutte le approvazioni, il notaio di sistema (definito durante il processo di blocco) utilizza il metodo
executeHoldTokensper approvare la transazione. L'importo approvato viene trasferito sul conto del ricevente.
kycCompliance, amlCompliance e restrictionFlag per il mittente e il destinatario vengono convalidati durante tutte le approvazioni che utilizzano i metodi approveTransaction o executeHoldTokens.
- Il bruciatore utilizza il metodo
requestBurnper richiedere l'approvazione per bruciare (distruggere) stablecoin. - L'approvatore della masterizzazione utilizza il metodo
approveBurnper approvare la richiesta del masterizzatore. - Le stablecoin vengono bruciate dal conto del bruciatore.
- Gli amministratori e gli auditor possono tracciare ogni menta, blocco, trasferimento, approvazione a più livelli e masterizzare le operazioni utilizzando i metodi
getAccountTransactionHistoryegetAccountTransactionHistoryWithFilters.