Bond Marketplace Chaincode-Paket
Die Oracle Blockchain Platform Digital Assets Edition enthält Beispielkettencode für das NFT-Marktplatzszenario für Anleihen.
Der Bond Marketplace Chaincode unterstützt die Verwaltung und den Handel von Anleihen, die durch fraktionierte nicht fungible Token (NFTs) repräsentiert werden. Sie können Chaincode-Methoden verwenden, um NFTs in einer dezentralen Umgebung auszugeben, zu kaufen, einzulösen und zu handeln.
BondMarketplace.zip, eine Archivdatei, die den in einem Package integrierten Chaincode für das Deployment enthält.BondMarketplace.yaml, eine Spezifikationsdatei, die Sie mit Blockchain App Builder verwenden können, um denWholesaleCBDC-Kettencode zu erstellen.BondMarketplace_postman_collection.json, eine Postman-Sammlung, mit der Sie die APIs im Chaincode testen können.README.md, eine schrittweise Anleitung für die Arbeit mit dem Chaincode.
Um das Chaincode-Paket für Bond Marketplace abzurufen, klicken Sie in der Oracle Blockchain Platform Digital Assets-Konsole auf die Registerkarte Digitale Assets, und wählen Sie Bond Marketplace-Anwendung aus.
Spezifikationsdatei
Die Bond Marketplace-Spezifikationsdatei (Bond_Marketplace.yml) basiert auf der erweiterten ERC-1155-Spezifikationsdatei. Es enthält ein model-Attribut, das den anwendungsspezifischen Chaincode generiert. In diesem Fall erstellt model: bond zusätzliche Methoden für die Bond Marketplace-Anwendung, wenn der Chaincode generiert wird. Darüber hinaus müssen bestimmte Parameter im Metadatenabschnitt der Datei festgelegt werden.#
# 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:
Tabelle 4-1: Metadatenparameter für die Bond Marketplace-Spezifikationsdatei
| Eintrag | Beschreibung |
|---|---|
name: ISIN |
Eine Zeichenfolge, bei der es sich um einen eindeutigen alphanumerischen Code mit 12 Zeichen handelt, der eine Bindung identifiziert. |
name: Segment |
Eine Zeichenfolge, die den Segmenttyp der Bindung darstellt. |
name: Issuer |
Eine Zeichenfolge, die den Emittenten der Anleihe darstellt. |
name: FaceValue |
Eine Zahl, die den Nennwert (Preis) des Bond-Tokens darstellt. |
name: IssueSize |
Eine Zahl, die für die Emissionsgröße (Gesamtmenge) der Anleihe steht. |
name: CouponRate |
Eine Zahl, die den Kuponzinssatz (Zinssatz) der Anleihe darstellt. Es muss eine jährliche Rate sein. |
name: InterestPaymentType |
Eine Zeichenfolge, die den Zinszahlungstyp darstellt. Der einzige unterstützte Wert ist simple.
|
name: InterestFrequency |
Eine Zeichenfolge, die das Zinsintervall des Bond-Tokens darstellt. Die folgende Liste zeigt die unterstützten Werte.
|
name: IssueDate |
Ein Datum, das das Ausgabedatum der Anleihe darstellt. |
name: MaturityDate |
Ein Datum, das das Fälligkeitsdatum der Anleihe darstellt. |