Améliorations apportées à Token Taxonomy Framework
La version améliorée de Blockchain App Builder comprend de nouvelles fonctionnalités liées à la norme étendue Token Taxonomy Framework.
Pour plus d'informations sur toutes les améliorations suivantes, voir les descriptions de méthode dans Projet TypeScript avec répartition pour Token Taxonomy Framework et Projet Go avec répartition pour Token Taxonomy Framework.
Limites quotidiennes des transactions
Vous pouvez limiter le nombre de transactions qu'un compte peut effectuer quotidiennement, ainsi que le nombre de jetons pouvant faire l'objet d'une action. Les paramètres d'entrée max_daily_amount
et max_daily_transactions
de la méthode createAccount
contrôlent ce comportement. Ces paramètres sont facultatifs.
Vous pouvez obtenir un débit plus élevé si vous ne définissez pas les limites de transactions quotidiennes pour un compte.
Exigences d'approbation pour l'intrusion et le brûlage
Vous pouvez définir des approbations pour la frappe et le brûlage des jetons, de sorte que les utilisateurs ayant le rôle de frappeur ou de brûleur doivent soumettre une demande à un approbateur, au lieu de frapper ou de brûler des jetons directement. Les approbateurs peuvent accepter ou rejeter des demandes d'extraction ou de gravure de jetons. Pour activer les approbations pour la frappe et la gravure, vous utilisez les paramètres mint_approval_required
et burn_approval_required
dans le fichier de spécification. Vous devez également spécifier des valeurs pour mint_approver_role_name
et burn_approval_role_name
, comme illustré dans l'exemple suivant.
behavior: # Token behaviors
- divisible:
decimal: 2
- mintable:
max_mint_quantity: 1000
mint_approval_required: true
- transferable
- burnable
burn_approval_required: true
- holdable
- roles:
minter_role_name: minter
notary_role_name: notary
mint_approver_role_name: minter_notary
burn_approver_role_name: burner_notary
Lorsqu'une demande de gravure est effectuée, le montant spécifié est immédiatement déduit du solde disponible et ajouté au champ onhold_burn_balance
dans l'objet de compte de l'utilisateur. Si la demande est approuvée, les jetons sont brûlés. Si la demande est rejetée, les jetons sont retournés du champ onhold_burn_balance
au solde disponible. Vous pouvez utiliser la méthode getAccountOnHoldBurnBalance
pour extraire le solde de compte bloqué pour un utilisateur particulier en raison d'une demande de gravure.
Extraction de l'historique des transactions à partir de la base de données d'historique enrichi
Vous pouvez synchroniser les données avec la base de données d'historique enrichi, puis extraire les données à l'aide d'appels d'API de chaîne de code pour extraire l'historique des transactions de la base de données d'historique enrichi. Avant de pouvoir utiliser ces méthodes, vous devez exécuter Oracle Autonomous Database avec Oracle REST Data Services (ORDS) et OAuth activés, comme décrit dans Oracle Database View Definitions for Wholesale CBDC.Attributs de catégorie et de description dans les objets de transaction
- Les attributs de catégorie et de description doivent être inclus dans les méthodes
transferTokens
,holdTokens
,issueTokens
,requestMint
,requestBurn
,burnTokens
etrejectBurn
du fichier de contrôleur. Les méthodes de trousse SDK correspondantes doivent également inclure des attributs de catégorie et de description. - L'entrée de l'attribut de catégorie et de description se présente sous la forme d'un objet JSON nommé
info_details
, comme illustré dans l'exemple suivant.{ "category" : "category input", "description" : "description input" }
- Le champ
info_details
est facultatif. Vous ne pouvez transmettre qu'une catégorie ou seulement une description au besoin. - Les méthodes GET associées à toutes les transactions pour
transferTokens
,holdTokens
,executeHold
,releaseHold
,requestMint
,approveMint
,rejectMint
,requestBurn
,approveBurn
etrejectBurn
doivent inclure des attributs de catégorie et de description dans la réponse des données utiles s'ils sont présents. - Le champ de catégorie est limité à 20 caractères et le champ de description à 250 caractères.