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.
- Extrahieren Sie die Archivdatei
Stablecoin.zip. - Importieren Sie den Chaincode
Stablecoinin die Blockchain App Builder-Erweiterung in Visual Studio Code. - Bearbeiten Sie die Datei
.ochain.json, um den Wert des SchlüsselsconfigFileLocationin den Pfad der SpezifikationsdateiStablecoin.ymlzu aktualisieren. - Öffnen Sie ein Terminalfenster, navigieren Sie zum Chaincode-Ordner, und führen Sie dann den folgenden Befehl aus.
npm install
Beispielprozessablauf für den Stablecoin Chaincode
Ein typischer Prozessfluss mit den Stablecoin-Methoden folgt diesen grundlegenden Schritten.- Tokenadministratoren verwenden die Methode
initializeStablecoinToken, um den Stablecoin zu initialisieren und Werte für die festen WertecurrencyName(wie USD) undconversionRateanzugeben. - Tokenadministratoren verwenden die Methoden
createAccountundassociateTokenToAccount, 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. - 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. - 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. - Tokenadministratoren verwenden die Methode
addRole, um Accounts Rollen wie "Mineral", "Brenner" und "Notar" zuzuweisen.
- Der Miner verwendet die
requestMint-Methode, um die Genehmigung von Stablecoins anzufordern. - Der Mint-Genehmiger verwendet die Methode
approveMint, um die Anforderung des Minters zu genehmigen. - Die Stablecoins werden auf das Konto des Minters ausgegeben.
- Ein Benutzer initiiert eine Übertragung mit der Methode
holdTokens. - Das System prüft die
AccountPolicyCheck-Policy auf Compliance. Wenn die Werte fürkycComplianceoderamlCompliancefür den Absender oder Empfänger auffalsegesetzt sind, erfolgt keine Übertragung. Wenn der WertrestrictionFlagfür den Absender oder Empfänger auftruegesetzt ist, kann nur der Betrag im niedrigsten Bereich in der Genehmigungs-Policy übertragen werden. Der Transferbetrag wird mitApprovalPolicyCheck-Schwellenwerten abgeglichen, und die entsprechenden Genehmiger mit den definierten Sequenzen werden auf die Transaktion angewendet. - 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. - 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.
kycCompliance, amlCompliance und restrictionFlag für den Absender und Empfänger werden bei allen Genehmigungen validiert, die die Methoden approveTransaction oder executeHoldTokens verwenden.
- Der Brenner verwendet die Methode
requestBurn, um die Genehmigung zum Brennen (Zerstören) von Stablecoins anzufordern. - Der Brenngenehmiger verwendet die Methode
approveBurn, um die Anforderung des Brenners zu genehmigen. - Die Stablecoins werden aus dem Konto des Brenners verbrannt.
- Administratoren und Auditoren können jeden Mint-, Hold-, Transfer-, Multi-Level-Genehmigungs- und Burn-Vorgang mit den Methoden
getAccountTransactionHistoryundgetAccountTransactionHistoryWithFiltersverfolgen.