Bond Marketplace-Chaincode-Paket
Die Oracle Blockchain Platform Digital Assets Edition enthält Beispiel-Chaincode für das NFT-Marktplatzszenario für Anleihen.
Der Anleihemarkt-Chaincode unterstützt die Verwaltung und den Handel von Anleihen, repräsentiert durch fraktionierte nicht fungible Token (NFTs). 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-Chaincode zu erstellen.BondMarketplace_postman_collection.json, eine Postman-Collection, mit der Sie die APIs im Chaincode testen können.README.md, eine Schritt-für-Schritt-Anleitung zum Arbeiten mit dem Chaincode.
Um das Chaincode-Package 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 Anleihemarkt-Spezifikationsdatei (Bond_Marketplace.yml) basiert auf der erweiterten ERC-1155-Spezifikationsdatei. Sie enthält ein Attribut model, 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) 2026, 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 5-1: Metadatenparameter für die Bond Marketplace-Spezifikationsdatei
| Eintrag | Beschreibung |
|---|---|
name: ISIN |
Eine Zeichenfolge, die ein eindeutiger alphanumerischer Code mit 12 Zeichen ist, 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 Bondtokens darstellt. |
name: IssueSize |
Eine Zahl, die für die Emissionsgröße (Gesamtmenge) der Anleihe steht. |
name: CouponRate |
Eine Zahl, die den Kuponsatz (Zinssatz) der Anleihe darstellt. Es muss eine Rate pro Jahr sein. |
name: InterestPaymentType |
Ein String, der den Zinszahlungstyp darstellt. Der einzige unterstützte Wert ist simple.
|
name: InterestFrequency |
Eine Zeichenfolge, die für die Zinshäufigkeit des Bindungstokens steht. Die folgende Liste zeigt die unterstützten Werte.
|
name: IssueDate |
Ein Datum, das das Emissionstermin der Anleihe darstellt. |
name: MaturityDate |
Ein Datum, das das Fälligkeitsdatum der Anleihe darstellt. |