Fungible Token Framework Chaincode-Package

Das fungible Token Framework verwendet den erweiterten Token Taxonomy Framework-Standard, der von Blockchain App Builder unterstützt wird.

Das Einzahlungstokenbeispiel veranschaulicht die Verwendung des generischen Frameworks für fungible Token, das auf dem erweiterten Token Taxonomy Framework-Standard basiert, der von Blockchain App Builder unterstützt wird. Die Stichprobe stellt ein System dar, bei dem Einzahlungstoken Fiat-Währung darstellen, die bei Finanzinstituten gehalten und von regulierten Finanzinstituten ausgegeben und verwaltet werden. Die Beispielspezifikationsdatei generiert Methoden zum Initialisieren eines Einzahlungstokens, zum Verwalten von Konten, zum Zuweisen von Rollen und zum Ausführen von Vorgängen wie Prägen, Übertragen und Brennen von Token. Es bietet auch Notarkonten für die Genehmigung von Präge- und Versetzungen, setzt die Einhaltung der täglichen Limits auf Kontoebene durch und ermöglicht Auditingverfahren.

Das Chaincode-Package des fungiblen Token Frameworks kann von der Oracle Blockchain Platform-Konsole heruntergeladen werden und umfasst die folgenden Komponenten.
  • DepositToken.zip, eine Archivdatei, die den in einem Package integrierten Chaincode für das Deployment enthält.
  • DepositToken.yaml, eine Spezifikationsdatei, die Sie mit Blockchain App Builder verwenden können, um den DepositToken-Kettencode zu erstellen.
  • DepositToken_postman_collection.json, eine Postman-Sammlung, mit der Sie die APIs im Chaincode testen können.
  • README.md, eine schrittweise Anleitung für die Arbeit mit dem Chaincode.

Um das fungible Token Framework abzurufen, klicken Sie in der Oracle Blockchain Platform Digital Assets-Konsole auf die Registerkarte Digitale Assets, und wählen Sie Fungible Token Framework aus.

Weitere Informationen zur Verwendung von Postman-Sammlungen finden Sie in den folgenden Themen.

Spezifikationsdatei

Die Spezifikationsdatei, mit der der Chaincode für Einzahlungstoken generiert wird, enthält das Attribut events. Die Chaincode-Ereignisfunktion unterstützt Ereignis-Callbacks in generierten Chaincodes, um Echtzeitbenachrichtigungen zu ermöglichen und Workflows auszulösen. Weitere Informationen zu Spezifikationsdateien und den Parametern, die in Spezifikationsdateien verwendet werden, finden Sie unter Eingabespezifikationsdatei für unverzichtbare Token in Oracle Blockchain Platform verwenden.

Der Einzahlungstokenkettencode basiert auf dem erweiterten Token Taxonomy Framework-Standard mit Anpassungen zur Unterstützung des Anwendungsszenarios. Der folgende Verhaltensabschnitt der Spezifikationsdatei ist erforderlich, um diese Anpassungen zu aktivieren.
behavior: # Token behaviors
    - divisible:
          decimal: 2
    - mintable:
          mint_approval_required: true
    - transferable
    - burnable
    - holdable
    - roles:
          minter_role_name: minter
          notary_role_name: notary
          mint_approver_role_name: notary
Der folgende Code ist die Spezifikationsdatei für das Einzahlungstokenmuster.
#
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
#
 
assets:
 
# This specification file is an example how to build any fungible token application.
# For a fungible token application, deposit token system has been used as an example.
# Deposit token is a digital representation of deposits held at commercial banks, enabling transactions on blockchain networks while maintaining the value and stability of traditional bank deposits.
 
 
    - name: Deposit # Asset name
      type: token  # Asset type
      standard: ttf+   # Token standard
      events: true # Supports event code generation for non-GET methods
 
      anatomy:
          type: fungible # Token type
          unit: fractional # Token unit
 
      behavior: # Token behaviors
          - divisible:
                decimal: 2 
          - mintable:
                mint_approval_required: true
          - transferable 
          - holdable
          - burnable
          - roles:
                minter_role_name: minter
                notary_role_name: notary
                mint_approver_role_name: notary
 
 
      properties:
          - name: Token_Name # Custom attribute to represent the deposit token name.
            type: string
 
          - name: Token_to_Currency_Ratio # Custom attribute to specify the token to currency ratio. This attribute is helpful for exchanging the tokens with fiat currency.
            type: number
 
customMethods:

Unterstützerdetails in Chaincode-Methoden

Die Oracle Blockchain Platform Digital Assets Edition fügt der Anforderungs-Payload für alle Setter-Methoden einen Bestätigungsparameter hinzu. Der Wert des Parameters ist entweder endorsers oder sameOrgEndorser. Wenn der Parameter sameOrgEndorser wahr ist, müssen Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen. Der Parameter endorsers gibt eine Liste der Peers an, die die Transaktion bestätigen müssen. Weitere Informationen finden Sie unter Unterstützung von Empfehlungen in Postman-Sammlungen. Die folgende Tabelle zeigt den Endorser-Typ für jede Methode.

Methode Typ des Unterstützers
activateAccount endorsers
addTokenAdmin sameOrgEndorser
addTokenAuditor sameOrgEndorser
addOrgAdmin sameOrgEndorser
addOrgAuditor sameOrgEndorser
addRole endorsers
approveMint sameOrgEndorser
executeHoldTokens endorsers
associateTokenToAccount endorsers
createAccount endorsers
getAccount endorsers
getAccountBalance endorsers
getAccountsByUser endorsers
getAccountTransactionHistory endorsers
getAccountTransactionHistoryWithFiltersFromRichHistDB endorsers
getNetTokens endorsers
getOnHoldIds endorsers
getTotalMintedTokens endorsers
getUserByAccountId endorsers
getUsersByRole endorsers
holdTokens endorsers
init endorsers
initializeDepositToken sameOrgEndorser
issueTokens sameOrgEndorser
rejectMint sameOrgEndorser
releaseHoldTokens endorsers
removeTokenAdmin sameOrgEndorser
removeTokenAuditor sameOrgEndorser
removeOrgAdmin sameOrgEndorser
removeOrgAuditor sameOrgEndorser
removeRole endorsers
requestMint sameOrgEndorser
burnTokens sameOrgEndorser
setMaxDailyAmount endorsers
setMaxDailyTransactionCount endorsers
suspendAccount endorsers
transferTokens endorsers
initializeExchangePoolUser sameOrgEndorser
createExchangePoolAccounts sameOrgEndorser
addConversionRate sameOrgEndorser
updateConversionRate sameOrgEndorser
mintWithFundingExchangePool sameOrgEndorser
tokenConversion endorsers
getConversionRate endorsers
getConversionHistory endorsers
getConversionRateHistory endorsers
getExchangePoolUser endorsers
getAccountOnHoldBalance endorsers
getAccountStatus endorsers
getAccountsByRole endorsers