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. |