Paquete de código de cadena de Bond Marketplace

Oracle Blockchain Platform Digital Assets Edition incluye un código de cadena de ejemplo para el escenario de mercado de NFT de bonos.

El código de cadenas del mercado de bonos admite la gestión y el comercio de bonos, representados por tokens fraccionales no fungibles (NFT). Puede utilizar métodos de código de cadenas para emitir, comprar, canjear y negociar bonos NFT en un entorno descentralizado.

El paquete de código de cadenas del mercado de bonos se puede descargar desde la consola de Oracle Blockchain Platform e incluye los siguientes componentes.
  • BondMarketplace.zip, un archivo de almacenamiento que contiene el código de cadenas empaquetado para el despliegue.
  • BondMarketplace.yaml, un archivo de especificación que puede utilizar con Blockchain App Builder para andamiar el código de cadena WholesaleCBDC.
  • BondMarketplace_postman_collection.json, una recopilación de Postman que permite probar las API en el código de cadenas.
  • README.md, guía paso a paso para trabajar con el código de cadenas.

Para obtener el paquete de código de cadenas del mercado de bonos, en la consola de activos digitales de Oracle Blockchain Platform, haga clic en el separador Activos digitales y, a continuación, seleccione Aplicación Marketplace de enlace.

Archivo de Especificación

El archivo de especificación de mercado de bonos (Bond_Marketplace.yml) se basa en el archivo de especificación ERC-1155 ampliado. Incluye un atributo model, que genera el código de cadena específico de la aplicación. En este caso, model: bond crea métodos adicionales para la aplicación de mercado de bonos cuando se genera el código de cadenas. Además, se deben definir parámetros específicos en la sección de metadatos del archivo.
#
# Copyright (c) 2025, 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:

Tabla 4-1 Parámetros de metadatos para el archivo de especificación de Bond Marketplace

Entrada Descripción
name: ISIN

Cadena que es un código alfanumérico único de 12 caracteres que identifica un enlace.

name: Segment

Cadena que representa el tipo de segmento del enlace.

name: Issuer

Cadena que representa al emisor del bono.

name: FaceValue

Número que representa el valor nominal (precio) del token de enlace.

name: IssueSize

Número que representa el tamaño de emisión (cantidad total) del bono.

name: CouponRate Número que representa la tasa de cupón (tipo de interés) del bono. Debe ser una tasa anual.
name: InterestPaymentType Cadena que representa el tipo de pago de intereses. El único valor soportado es simple.
name: InterestFrequency Cadena que representa la frecuencia de interés del token de bono. La siguiente lista muestra los valores admitidos.
  • monthly
  • quarterly
  • annually
  • at maturity
name: IssueDate Fecha que representa la fecha de emisión del bono.
name: MaturityDate Una fecha que representa la fecha de vencimiento del bono.