채권 마켓플레이스 체인코드 패키지
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 |
본드 토큰의 관심 빈도를 나타내는 문자열입니다. 다음 목록은 지원되는 값을 보여줍니다.
|
name: IssueDate |
채권의 발행 일자를 나타내는 일자입니다. |
name: MaturityDate |
채권의 만기 일자를 나타내는 일자입니다. |