ボンド・マーケットプレイス・チェーンコード・パッケージ

Oracle Blockchain Platform Digital Assets Editionには、債券NFTマーケットプレイス・シナリオのサンプル・チェーンコードが含まれています。

ボンド・マーケットプレイス・チェーンコードは、小数非代替トークン(NFT)で表される債券の管理および取引をサポートします。チェーンコード・メソッドを使用して、分散環境で債券NFTを発行、購入、償還および取引できます。

ボンド・マーケットプレイスのチェーンコード・パッケージは、Oracle Blockchain Platformコンソールからダウンロードでき、次のコンポーネントが含まれています。
  • BondMarketplace.zip。デプロイメント用のパッケージ・チェーンコードを含むアーカイブ・ファイル。
  • BondMarketplace.yaml。ブロックチェーン・アプリケーション・ビルダーでWholesaleCBDCチェーンコードをスキャフォールドするために使用できる仕様ファイルです。
  • BondMarketplace_postman_collection.json: チェーンコード内のAPIをテストできるPostmanコレクション。
  • README.mdは、チェーンコードを使用するためのステップバイステップ・ガイドです。

ボンド・マーケットプレイスのチェーンコード・パッケージを取得するには、Oracle Blockchain Platformデジタル・アセット・コンソールで「デジタル・アセット」タブをクリックし、「ボンド・マーケットプレイス・アプリケーション」を選択します。

仕様ファイル

ボンド・マーケットプレイス仕様ファイル(Bond_Marketplace.yml)は、拡張ERC-1155仕様ファイルに基づいています。これには、アプリケーション固有のチェーンコードを生成するmodel属性が含まれます。この場合、model: bondは、チェーンコードの生成時に債券マーケットプレイス・アプリケーション用の追加のメソッドを作成します。また、ファイルのメタデータ・セクションで特定のパラメータを設定する必要があります。
#
# 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:

表4-1ボンド・マーケットプレイス仕様ファイルのメタデータ・パラメータ

開始時 説明
name: ISIN

結合を識別する一意の12文字の英数字コードである文字列。

name: Segment

結合のセグメント・タイプを表す文字列。

name: Issuer

ボンドの発行者を表す文字列。

name: FaceValue

ボンド・トークンの額面値(価格)を表す数値。

name: IssueSize

債券の発行サイズ(合計数量)を表す数値。

name: CouponRate 債券のクーポン・レート(金利)を表す数値。1年当たりのレートである必要があります。
name: InterestPaymentType 利息支払タイプを表す文字列。サポートされている値はsimpleのみです。
name: InterestFrequency ボンド・トークンの利息頻度を表す文字列。次に、サポートされている値を示します。
  • monthly
  • quarterly
  • annually
  • at maturity
name: IssueDate 債券の発行日を表す日付。
name: MaturityDate 債券の満期日を表す日付。