Package code chaîne marché oblig.

Oracle Blockchain Platform Digital Assets Edition inclut un exemple de code chaîne pour le scénario de marché NFT lié.

Le code chaîne du marché des obligations prend en charge la gestion et la négociation d'obligations, représentées par des jetons non fongibles fractionnés (NFT). Vous pouvez utiliser des méthodes de code chaîne pour émettre, acheter, échanger et échanger des NFT dans un environnement décentralisé.

Le package de code chaîne bond marketplace peut être téléchargé à partir de la console Oracle Blockchain Platform et comprend les composants suivants.
  • BondMarketplace.zip, fichier d'archive contenant le code chaîne packagé pour le déploiement.
  • BondMarketplace.yaml, un fichier de spécification que vous pouvez utiliser avec Blockchain App Builder pour échafauder le code chaîne WholesaleCBDC.
  • BondMarketplace_postman_collection.json, une collection Postman qui vous permet de tester les API dans le code chaîne.
  • README.md, guide détaillé sur l'utilisation du code chaîne.

Pour obtenir le package de code chaîne du marché des liens, dans la console numérique Oracle Blockchain Platform, cliquez sur l'onglet Ressources numériques et sélectionnez Application Bond Marketplace.

Fichier de spécification

Le fichier de spécification du marché des obligations (Bond_Marketplace.yml) est basé sur le fichier de spécification étendu ERC-1155. Il inclut un attribut model, qui génère le code chaîne propre à l'application. Dans ce cas, model: bond crée des méthodes supplémentaires pour l'application bond marketplace lors de la génération du code chaîne. En outre, des paramètres spécifiques doivent être définis dans la section des métadonnées du fichier.
#
# Copyright (c) 2026, Oracle and/or its affiliates. All rights reserved.
#
 
# Token asset to manage the complete lifecycle of a Bond in a primary Bond marketplace.  

assets:
    - name: Bond #Asset name
      type: token #Asset type
      standard: erc1155+   # Token standard
      events: true # Supports event code generation for non-GET methods
      model: bond # Supports creation of additional methods for Primary Bond marketplace
      
      anatomy:
          type: nonfungible # Token type
          unit: fractional  #Token unit
      
      behavior: # Bond token behaviors
        - divisible:                                  
        - mintable:                   
        - transferable
        - burnable                
        - roles:
            minter_role_name: minter
            burner_role_name: burner
      
      properties:  # Custom asset attributes for non-fungible Bond token.

          - name: status # Custom asset attribute maintains the status of the Bond.
            type: string
            mandatory: true
               
            
      metadata: # To maintain the metadata on-chain, this tag will be used. Users won't be able to update the metadata attribute values after the bond token is minted.
          
          - name: ISIN # A unique alphanumeric code that identifies a specific bond internationally.
            type: string
            mandatory: true
 
          - name: Segment # The classification of bonds based on issuer type or purpose, such as corporate, government, sovereign, or green bonds.
            type: string
 
          - name: Issuer # The entity, such as a corporation or government, that issues the bond.
            type: string
            mandatory: true
          
          - name: FaceValue # The principal amount of the bond that will be repaid at maturity.
            type: number
            mandatory: true

          - name: IssueSize # The total monetary value or quantity of bonds issued by the issuer.
            type: number
            mandatory: true

          - name: CouponRate # The annual interest rate that the bond pays, typically as a percentage of the face value.
            type: float 
            mandatory: true 

          - name: InterestPaymentType # Specifies whether the bond pays simple or compound interest.
            type: string
            mandatory: true
            validate: /^\\s*(simple)\\s*$/

          - name: InterestFrequency # The regularity with which interest payments are made, such as monthly, quarterly, annually or at maturity.
            type: string
            mandatory: true
            validate: /^\s*["]?((monthly|quarterly|annually|at maturity)\s*)["]?\s*$/

          - name: IssueDate # The date when the bond was initially issued.
            type: date
            mandatory: true 

          - name: MaturityDate # The date on which the bond’s principal amount will be repaid to the bondholder.
            type: date
            mandatory: true    
 
customMethods:

Tableau 5-1 Paramètres de métadonnées pour le fichier de spécification de la place de marché obligataire

Entrée Description
name: ISIN

Chaîne qui est un code alphanumérique unique de 12 caractères identifiant une obligation.

name: Segment

Chaîne qui représente le type de segment de la liaison.

name: Issuer

Chaîne qui représente l'émetteur de l'obligation.

name: FaceValue

Nombre qui représente la valeur nominale (prix) du jeton de liaison.

name: IssueSize

Nombre représentant la taille d'émission (quantité totale) de l'obligation.

name: CouponRate Nombre représentant le taux de coupon (taux d'intérêt) de l'obligation. Il doit s'agir d'un taux annuel.
name: InterestPaymentType Chaîne représentant le type de paiement des intérêts. La seule valeur prise en charge est simple.
name: InterestFrequency Chaîne qui représente la fréquence d'intérêt du jeton de liaison. La liste suivante présente les valeurs prises en charge.
  • monthly
  • quarterly
  • annually
  • at maturity
name: IssueDate Date représentant la date d'émission de l'obligation.
name: MaturityDate Date qui représente la date d'échéance de l'obligation.