Bereitstellen und Testen von Stablecoin Chaincode

Sie können den Chaincode direkt über die Oracle Blockchain Platform-Konsole oder mit Blockchain App Builder bereitstellen.

Chaincode bereitstellen

Bevor Sie den Chaincode bereitstellen, erstellen Sie Anmeldungs-IDs für jeden Tokenbenutzer, und ordnen Sie die Tokenbenutzer den jeweiligen Anmeldungs-IDs zu. Geben Sie für jede Anmeldung nur einen Benutzer an. Weitere Informationen zum Hinzufügen von Anmeldungen finden Sie unter Anmeldungen zu einem REST-Proxy hinzufügen in Oracle Blockchain Platform verwenden.

Wenn Sie den Token-Chaincode bereitstellen, müssen Sie die Methode init aufrufen und die Organisations-ID und Benutzer-ID des Benutzers Token Admin übergeben.

Informationen zum Deployment über die Oracle Blockchain Platform-Konsole finden Sie unter Erweitertes Deployment verwenden in der Dokumentation Oracle Blockchain Platform verwenden.

Gehen Sie folgendermaßen vor, um das Deployment mit Blockchain App Builder durchzuführen.
  1. Extrahieren Sie die Archivdatei Stablecoin.zip.
  2. Importieren Sie den Chaincode Stablecoin in die Blockchain App Builder-Erweiterung in Visual Studio Code.
  3. Bearbeiten Sie die Datei .ochain.json, um den Wert des Schlüssels configFileLocation in den Pfad der Spezifikationsdatei Stablecoin.yml zu aktualisieren.
  4. Öffnen Sie ein Terminalfenster, navigieren Sie zum Chaincode-Ordner, und führen Sie dann den folgenden Befehl aus.
    npm install
Weitere Informationen zum Deployment mit Blockchain App Builder finden Sie unter Chaincode mit Visual Studio Code bereitstellen in der Dokumentation Oracle Blockchain Platform verwenden.

Beispielprozessablauf für den Stablecoin Chaincode

Ein typischer Prozessfluss mit den Stablecoin-Methoden folgt diesen grundlegenden Schritten.
Setup:
  1. Tokenadministratoren verwenden die Methode initializeStablecoinToken, um den Stablecoin zu initialisieren und Werte für die festen Werte currencyName (wie USD) und conversionRate anzugeben.
  2. Tokenadministratoren verwenden die Methoden createAccount und associateTokenToAccount, um Tokenaccounts zu erstellen und Rollen für alle Benutzer zuzuweisen, einschließlich Genehmigern für Genehmigungen auf mehreren Ebenen, Mintern, Notaren, Absendern und Empfängern.
  3. Tokenadministratoren oder Organisationsadministratoren verwenden die Methode createAccountPolicyCheck, um Account-Policys für alle Absender und Empfänger zu erstellen und KYC-, AML- und Einschränkungskennzeichen zu prüfen.
  4. Tokenadministratoren verwenden die Methode createApprovalPolicyCheck, um Genehmigungs-Policys zu definieren, indem sie Transaktionsschwellenwerte, Genehmigungsanforderungen, wie die erforderliche Anzahl von Genehmigungen, und Genehmigerdetails mit Genehmigungsfolgen für Genehmigungen auf mehreren Ebenen angeben.
  5. Tokenadministratoren verwenden die Methode addRole, um Accounts Rollen wie "Mineral", "Brenner" und "Notar" zuzuweisen.
Prägevorgang:
  1. Der Miner verwendet die requestMint-Methode, um die Genehmigung von Stablecoins anzufordern.
  2. Der Mint-Genehmiger verwendet die Methode approveMint, um die Anforderung des Minters zu genehmigen.
  3. Die Stablecoins werden auf das Konto des Minters ausgegeben.
Holding und Transfer:
  1. Ein Benutzer initiiert eine Übertragung mit der Methode holdTokens.
  2. Das System prüft die AccountPolicyCheck-Policy auf Compliance. Wenn die Werte für kycCompliance oder amlCompliance für den Absender oder Empfänger auf false gesetzt sind, erfolgt keine Übertragung. Wenn der Wert restrictionFlag für den Absender oder Empfänger auf true gesetzt ist, kann nur der Betrag im niedrigsten Bereich in der Genehmigungs-Policy übertragen werden. Der Transferbetrag wird mit ApprovalPolicyCheck-Schwellenwerten abgeglichen, und die entsprechenden Genehmiger mit den definierten Sequenzen werden auf die Transaktion angewendet.
  3. Genehmiger verwenden die Methode approveTransaction, um den Transfer zu prüfen und zu autorisieren. Die Genehmigungen erfolgen basierend auf der Reihenfolge des Genehmigers, wie in der Genehmigungs-Policy definiert.
  4. Nach allen Genehmigungen verwendet der Systemnotar (während des Sperrprozesses definiert) die Methode executeHoldTokens, um die Transaktion zu genehmigen. Der genehmigte Betrag wird auf das Konto des Empfängers übertragen.
Die Werte kycCompliance, amlCompliance und restrictionFlag für den Absender und Empfänger werden bei allen Genehmigungen validiert, die die Methoden approveTransaction oder executeHoldTokens verwenden.
Brennen:
  1. Der Brenner verwendet die Methode requestBurn, um die Genehmigung zum Brennen (Zerstören) von Stablecoins anzufordern.
  2. Der Brenngenehmiger verwendet die Methode approveBurn, um die Anforderung des Brenners zu genehmigen.
  3. Die Stablecoins werden aus dem Konto des Brenners verbrannt.
Audits durchführen:
  • Administratoren und Auditoren können jeden Mint-, Hold-, Transfer-, Multi-Level-Genehmigungs- und Burn-Vorgang mit den Methoden getAccountTransactionHistory und getAccountTransactionHistoryWithFilters verfolgen.
Weitere Informationen zur Verwendung von Postman-Sammlungen finden Sie in den folgenden Themen in Blockchain App Builder for Oracle Blockchain Platform.