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.
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 denDepositToken
-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.
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.
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
#
# 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 |