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 et rejectBurn 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 et rejectBurn 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.