批發 CBDC 鏈碼套件

Oracle Blockchain Platform Digital Assets Edition 包含批發中央銀行數位貨幣 (CBDC) 案例的鏈碼範例。

批發 CBDC 鏈碼套件是以區塊鏈應用程式建構器支援的延伸記號分類架構標準為基礎。此套件會導入系統方法,其中代表法定幣別的變數替代字會保留在金融機構,並由受管制的金融機構核發與管理。範例規格檔案會產生初始化記號、管理帳戶、指派角色以及完成作業 (例如採礦、傳輸和燒錄記號) 的方法。它也提供核准採礦與移轉的公證帳戶、強制遵守帳戶層級的每日限制,以及啟用稽核程序。鏈碼可由 Blockchain App Builder 從 TypeScript 或 Go 中的 WholesaleCBDC.yml 規格檔案產生。

批發 CBDC 鏈碼套件可從 Oracle Blockchain Platform 主控台下載,並包含下列元件。
  • WholesaleCBDC.zip,包含用於部署之封裝鏈碼的封存檔案。
  • WholesaleCBDC.yaml,您可以搭配 Blockchain App Builder 使用以編排 WholesaleCBDC 鏈碼的規格檔案。
  • WholesaleCBDC_postman_collection.json - Postman 集合,可讓您測試鏈碼中的 API。
  • README.md - 使用鏈碼的逐步指南。

若要取得批發 CBDC 鏈碼套件,請在 Oracle Blockchain Platform Digital Assets 主控台中按一下數位資產頁籤,然後選取批發 CBDC 應用程式

您可以用與其他樣本相同的方式來嘗試批發 CBDC 鏈碼。您必須是管理員才能安裝並部署範例鏈碼。

  1. 批發中心銀行數位幣別頁面上,按一下安裝
  2. 安裝鏈碼視窗中,指定一或多個要安裝鏈碼的對等體,然後按一下安裝
  3. 按一下建置
  4. 部署鏈碼視窗中,指定要部署鏈碼的通道。將會使用鏈碼的起始參數來指定權杖管理員。這些值無法編輯。它們預設為登入主控台之使用者的組織 ID 和使用者 ID。按一下部署
  5. 按一下呼叫
  6. 呼叫鏈碼視窗中,指定要執行交易的通道。在動作清單中,指定要完成的動作。按一下「執行」

規格檔案

批發 CBDC 規格檔案 (Wholesale_CBDC.yml) 是以延伸的「權杖分類架構」規格檔案為基礎。它包含產生應用程式特定鏈碼的 model 屬性。在此情況下,model: wcbdc 會在產生鏈碼時為批發 CBDC 應用程式建立其他方法。規格檔中的下列程式碼片段顯示 model 屬性。
#
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
#

assets:

# Token asset to manage the complete lifecycle of Wholesale CBDC token.

    - name: CBDC # Asset name
      type: token # Asset type
      standard: ttf+   # Token standard
      events: true # Supports event code generation for non-GET methods
      model: wcbdc # Supports creation of additional methods for Wholesale CBDC application

      anatomy:
          type: fungible # Token type 
          unit: fractional # Token unit

      behavior: # Token behaviors
          - divisible:
                decimal: 2 
          - mintable: 
                mint_approval_required: true 
          - transferable 
          - burnable:
                burn_approval_required: true 
          - holdable
          - roles:
                minter_role_name: minter
                burner_role_name: burner
                notary_role_name: notary
                mint_approver_role_name: notary
                burn_approver_role_name: notary