Package de code chaîne de structure de jeton fongible
La structure de jetons fongible utilise la norme étendue Token Taxonomy Framework prise en charge par Blockchain App Builder.
L'exemple de jeton de dépôt illustre l'utilisation de la structure générique de jeton fongible, basée sur la norme étendue Token Taxonomy Framework prise en charge par Blockchain App Builder. L'échantillon représente un système dans lequel les jetons de dépôt représentent la monnaie fiduciaire détenue par les institutions financières et sont émis et gérés par les institutions financières réglementées. L'exemple de fichier de spécification génère des méthodes pour initialiser un jeton de dépôt, gérer des comptes, affecter des rôles et effectuer des opérations telles que l'extraction, le transfert et la gravure de jetons. Il fournit également des comptes de notaire pour l'approbation des opérations de frappe et des transferts, applique le respect des limites quotidiennes au niveau du compte et active les procédures d'audit.
DepositToken.zip
, fichier d'archive qui contient le code chaîne packagé pour le déploiement.DepositToken.yaml
, un fichier de spécification que vous pouvez utiliser avec Blockchain App Builder pour échafauder le code chaîneDepositToken
.DepositToken_postman_collection.json
, une collection Postman qui vous permet de tester les API dans le code chaîne.README.md
, guide détaillé pour l'utilisation du code chaîne.
Pour obtenir la structure de jeton fongible, dans la console des ressources numériques Oracle Blockchain Platform, cliquez sur l'onglet Ressources numériques, puis sélectionnez Structure de jeton fongible.
Fichier de spécifications
Le fichier de spécification utilisé pour générer le code chaîne de jeton de dépôt inclut l'attribut events
. La fonction d'événements de code chaîne prend en charge les rappels d'événement dans les codes chaîne générés pour activer les notifications en temps réel et déclencher les workflows. Pour plus d'informations sur les fichiers de spécification et les paramètres utilisés dans les fichiers de spécification, reportez-vous à Fichier de spécification d'entrée pour les jetons fongibles dans Utilisation d'Oracle Blockchain Platform.
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:
Détails du fournisseur dans les méthodes de code chaîne
Oracle Blockchain Platform Digital Assets Edition ajoute un paramètre d'approbation à la charge utile de demande pour toutes les méthodes set. La valeur du paramètre est endorsers
ou sameOrgEndorser
. Si le paramètre sameOrgEndorser
a la valeur Vrai, les approbations de transaction doivent provenir de la même organisation que le demandeur. Le paramètre endorsers
indique la liste des homologues qui doivent approuver la transaction. Pour plus d'informations, reportez-vous à Prise en charge des approbations dans les collections Postman. Le tableau suivant indique le type d'endosseur pour chaque méthode.
Méthode | Type d'approbateur |
---|---|
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 |