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.

Per eseguire la distribuzione mediante Blockchain App Builder, effettuare le operazioni riportate di seguito.
  1. Estrarre il file dell'archivio Stablecoin.zip.
  2. Importa il codice concatenato Stablecoin nell'estensione Blockchain App Builder in Visual Studio Code.
  3. Modificare il file .ochain.json per aggiornare il valore della chiave configFileLocation al percorso del file di specifica Stablecoin.yml.
  4. Aprire una finestra del terminale e passare alla cartella del codice concatenato, quindi eseguire il comando seguente.
    npm install
Per ulteriori informazioni sulla distribuzione mediante Blockchain App Builder, vedere Distribuire il codice concatenato mediante Visual Studio Code in Utilizzo di Oracle Blockchain Platform.

Flusso del processo di esempio per Stablecoin Chaincode

Un tipico flusso di processo che utilizza i metodi stablecoin segue questi passaggi di base.
Impostazione:
  1. Gli amministratori dei token utilizzano il metodo initializeStablecoinToken per inizializzare la stablecoin, specificando i valori per currencyName fisso (ad esempio USD) e conversionRate.
  2. Gli amministratori dei token utilizzano i metodi createAccount e associateTokenToAccount per 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.
  3. Gli amministratori dei token o gli amministratori dell'organizzazione utilizzano il metodo createAccountPolicyCheck per creare criteri di conto per tutti i mittenti e i riceventi e verificare i flag KYC, AML e restrizioni.
  4. Gli amministratori dei token utilizzano il metodo createApprovalPolicyCheck per 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.
  5. Gli amministratori di token utilizzano il metodo addRole per assegnare ruoli quali minter, masterizzatore e notaio agli account.
Coniuge:
  1. Il minter utilizza il metodo requestMint per richiedere l'approvazione alle stablecoin di menta.
  2. L'approvatore della zecca utilizza il metodo approveMint per approvare la richiesta del minatore.
  3. Le stablecoin vengono emesse sul conto del minatore.
Mantenimento e trasferimento:
  1. Un utente avvia un trasferimento utilizzando il metodo holdTokens.
  2. Il sistema controlla la conformità ai criteri AccountPolicyCheck. Se i valori kycCompliance o amlCompliance sono impostati su false per il mittente o il destinatario, il trasferimento non viene eseguito. Se il valore restrictionFlag è impostato su true per 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 soglie ApprovalPolicyCheck e gli approvatori appropriati con le sequenze definite vengono applicati alla transazione.
  3. Gli approvatori utilizzano il metodo approveTransaction per rivedere e autorizzare il trasferimento. Le approvazioni vengono eseguite in base alla sequenza dell'approvatore definita nel criterio di approvazione.
  4. Dopo tutte le approvazioni, il notaio di sistema (definito durante il processo di blocco) utilizza il metodo executeHoldTokens per approvare la transazione. L'importo approvato viene trasferito sul conto del ricevente.
I valori kycCompliance, amlCompliance e restrictionFlag per il mittente e il destinatario vengono convalidati durante tutte le approvazioni che utilizzano i metodi approveTransaction o executeHoldTokens.
Bruciatura:
  1. Il bruciatore utilizza il metodo requestBurn per richiedere l'approvazione per bruciare (distruggere) stablecoin.
  2. L'approvatore della masterizzazione utilizza il metodo approveBurn per approvare la richiesta del masterizzatore.
  3. Le stablecoin vengono bruciate dal conto del bruciatore.
Audit:
  • Gli amministratori e gli auditor possono tracciare ogni menta, blocco, trasferimento, approvazione a più livelli e masterizzare le operazioni utilizzando i metodi getAccountTransactionHistory e getAccountTransactionHistoryWithFilters.
Per ulteriori dettagli sull'uso delle raccolte Postman, vedere i seguenti argomenti in Blockchain App Builder for Oracle Blockchain Platform.