Package de code chaîne Bond Marketplace
Oracle Blockchain Platform Digital Assets Edition inclut un exemple de code chaîne pour le scénario de marché NFT d'obligation.
Le code chaîne du marché obligataire prend en charge la gestion et la négociation d'obligations, représentées par des jetons non fongibles (NFT). Vous pouvez utiliser des méthodes de code chaîne pour émettre, acheter, échanger des NFT d'obligations dans un environnement décentralisé.
BondMarketplace.zip
, fichier d'archive qui contient 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îneWholesaleCBDC
.BondMarketplace_postman_collection.json
, une collection Postman qui vous permet de tester les API dans le code chaîne.README.md
, guide détaillé pour l'utilisation du code chaîne.
Pour obtenir le package de code chaîne du marché des obligations, dans la console des ressources numériques Oracle Blockchain Platform, cliquez sur l'onglet Ressources numériques, puis sélectionnez Application Bond Marketplace.
Fichier de spécifications
Le fichier de spécification du marché obligataire (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 de marché d'obligations lorsque le code chaîne est généré. En outre, des paramètres spécifiques doivent être définis dans la section des métadonnées du fichier.#
# 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:
Tableau 4-1 Paramètres de métadonnées pour le fichier de spécification Bond Marketplace
Entrée | Description |
---|---|
name: ISIN |
Chaîne qui est un code alphanumérique unique à 12 caractères identifiant une liaison. |
name: Segment |
Chaîne représentant le type de segment de la liaison. |
name: Issuer |
Chaîne représentant 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 qui représente 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 représentant la fréquence d'intérêt du jeton de liaison. La liste suivante présente les valeurs prises en charge.
|
name: IssueDate |
Date qui représente la date d'émission de l'obligation. |
name: MaturityDate |
Date qui représente la date d'échéance de l'obligation. |