Pacchetto Chaincode Marketplace Bond

Oracle Blockchain Platform Digital Assets Edition include un codice concatenato di esempio per lo scenario di mercato NFT delle obbligazioni.

Il codice concatenato del mercato obbligazionario supporta la gestione e la negoziazione di obbligazioni, rappresentate da token frazionari non fungibili (NFT). Puoi utilizzare i metodi del codice concatenato per emettere, acquistare, riscattare e scambiare NFT in un ambiente decentralizzato.

Il pacchetto di codici concatenati del marketplace delle obbligazioni è scaricabile dalla console di Oracle Blockchain Platform e include i componenti riportati di seguito.
  • BondMarketplace.zip, un file di archivio che contiene il codice concatenato per la distribuzione.
  • BondMarketplace.yaml, un file di specifica che è possibile utilizzare con Blockchain App Builder per impiantare il codice concatenato WholesaleCBDC.
  • BondMarketplace_postman_collection.json, una raccolta Postman che consente di eseguire il test delle API nel codice concatenato.
  • README.md, una guida dettagliata per l'utilizzo del codice concatenato.

Per ottenere il pacchetto di codici concatenati del marketplace delle obbligazioni, nella console degli asset digitali di Oracle Blockchain Platform fare clic sulla scheda Asset digitali, quindi selezionare Applicazione Bond Marketplace.

File specifica

Il file di specifica del mercato obbligazionario (Bond_Marketplace.yml) si basa sul file di specifica ERC-1155 esteso. Include un attributo model che genera il codice concatenato specifico dell'applicazione. In questo caso, model: bond crea metodi aggiuntivi per l'applicazione di mercato delle obbligazioni quando viene generato il codice concatenato. Inoltre, è necessario impostare parametri specifici nella sezione dei metadati del file.
#
# 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:

Tabella 4-1 Parametri dei metadati per il file di specifica Bond Marketplace

Voce Descrizione
name: ISIN

Stringa che è un codice alfanumerico di 12 caratteri univoco che identifica un legame.

name: Segment

Stringa che rappresenta il tipo di segmento del legame.

name: Issuer

Stringa che rappresenta l'emittente dell'obbligazione.

name: FaceValue

Numero che rappresenta il valore nominale (prezzo) del token obbligazionario.

name: IssueSize

Numero che rappresenta la dimensione dell'emissione (quantità totale) dell'obbligazione.

name: CouponRate Numero che rappresenta il tasso cedolare (tasso di interesse) dell'obbligazione. Deve essere un tasso annuo.
name: InterestPaymentType Stringa che rappresenta il tipo di pagamento interessi. L'unico valore supportato è simple.
name: InterestFrequency Stringa che rappresenta la frequenza di interesse del token di legame. L'elenco seguente mostra i valori supportati.
  • monthly
  • quarterly
  • annually
  • at maturity
name: IssueDate Data che rappresenta la data di emissione dell'obbligazione.
name: MaturityDate Data che rappresenta la data di scadenza dell'obbligazione.