채권 마켓플레이스 체인코드 패키지

Oracle Blockchain Platform Digital Assets Edition에는 채권 NFT 마켓플레이스 시나리오에 대한 샘플 체인코드가 포함되어 있습니다.

본드 마켓플레이스 체인코드는 소수점 NFT(non-fungible tokens)로 표현되는 채권 관리 및 거래를 지원합니다. 체인코드 방법을 사용하여 분산 환경에서 채권 NFT를 발행, 구매, 상환 및 거래할 수 있습니다.

본드 마켓플레이스 체인코드 패키지는 Oracle Blockchain Platform 콘솔에서 다운로드할 수 있으며 다음 구성 요소를 포함합니다.
  • BondMarketplace.zip - 배치를 위해 패키지화된 체인 코드를 포함하는 아카이브 파일입니다.
  • BondMarketplace.yaml - Blockchain App Builder에서 WholesaleCBDC 체인 코드를 스캐폴딩하는 데 사용할 수 있는 사양 파일입니다.
  • BondMarketplace_postman_collection.json - 체인 코드에서 API를 테스트할 수 있는 Postman 모음입니다.
  • README.md - 체인 코드 작업을 위한 단계별 안내서입니다.

본드 마켓플레이스 체인코드 패키지를 가져오려면 Oracle Blockchain Platform Digital Assets 콘솔에서 디지털 자산 탭을 누른 다음 본드 마켓플레이스 애플리케이션을 선택합니다.

사양 파일

본드 마켓플레이스 사양 파일(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 채권의 쿠폰 금리(이자율)를 나타내는 숫자입니다. 연간 비율이어야 합니다.
name: InterestPaymentType 이자 지급 유형을 나타내는 문자열입니다. 지원되는 값은 simple뿐입니다.
name: InterestFrequency 본드 토큰의 관심 빈도를 나타내는 문자열입니다. 다음 목록은 지원되는 값을 보여줍니다.
  • monthly
  • quarterly
  • annually
  • at maturity
name: IssueDate 채권의 발행 일자를 나타내는 일자입니다.
name: MaturityDate 채권의 만기 일자를 나타내는 일자입니다.