部署並測試 Stablecoin Chaincode

您可以直接從 Oracle Blockchain Platform 主控台或使用 Blockchain App Builder 部署鏈碼。

部署 Chaincode

在您部署鏈碼之前,請先為每個權杖使用者建立註冊 ID,然後將權杖使用者對應至其個別的註冊 ID。每個註冊只能指定一位使用者。如需有關新增註冊的詳細資訊,請參閱使用 Oracle Blockchain Platform 中的新增註冊至 REST Proxy

部署權杖鏈碼時,您必須呼叫 init 方法,並傳送 Token Admin 使用者的組織 ID 和使用者 ID。

For information about deploying from the Oracle Blockchain Platform console, see Use Advanced Deployment in Using Oracle Blockchain Platform.

若要使用區塊鏈 App 產生器進行部署,請完成以下步驟。
  1. 擷取 Stablecoin.zip 封存檔案。
  2. Stablecoin 鏈碼匯入 Visual Studio Code 中的區塊鏈 App 產生器擴充功能。
  3. 編輯 .ochain.json 檔案,將 configFileLocation 鍵值的值更新為 Stablecoin.yml 規格檔案的路徑。
  4. 開啟終端機視窗並瀏覽至 chaincode 資料夾,然後執行下列命令。
    npm install
如需有關使用區塊鏈 App 產生器進行部署的詳細資訊,請參閱使用 Oracle Blockchain Platform 中的使用 Visual Studio Code 部署您的鏈碼

Stablecoin Chaincode 的範例處理流程

使用穩定幣方法的典型處理流程遵循這些基本步驟。
設定:
  1. 記號管理員使用 initializeStablecoinToken 方法來初始化 stablecoin,指定固定 currencyName (例如 USD) 和 conversionRate 的值。
  2. 記號管理員使用 createAccountassociateTokenToAccount 方法來建立記號帳戶,並為所有使用者指派角色,包括多層次核准、提示、記號、寄件者和接收者的核准者。
  3. 記號管理員或組織管理員使用 createAccountPolicyCheck 方法,為所有寄件者和接收者建立帳戶原則,並驗證 KYC、AML 和限制旗標。
  4. 記號管理員使用 createApprovalPolicyCheck 方法,透過指定交易臨界值、核准需求 (例如必要的核准數目) 以及具有多層次核准之核准順序的核准者詳細資訊,來定義核准原則。
  5. 記號管理員使用 addRole 方法,將礦工、燒錄機和公證等角色指派給帳戶。
薄荷:
  1. 礦工使用 requestMint 方法要求核准薄荷穩定幣。
  2. mint 核准者使用 approveMint 方法來核准 minter 的要求。
  3. 穩定幣發行到礦工賬戶。
保留與移轉:
  1. 使用者使用 holdTokens 方法起始傳輸。
  2. 系統會檢查 AccountPolicyCheck 策略是否符合規範。如果傳送者或接收者的 kycComplianceamlCompliance 值設為 false,則不會進行傳輸。如果傳送者或接收者的 restrictionFlag 值設為 true,則只能移轉核准原則中最小範圍的金額。移轉金額會與 ApprovalPolicyCheck 臨界值進行比對,且具有已定義序號的適當核准者會套用至異動。
  3. 核准者使用 approveTransaction 方法來複查和授權傳輸。核准是根據核准原則中定義的核准者順序進行。
  4. 在所有核准之後,系統公證人 (在保留處理程序期間定義) 會使用 executeHoldTokens 方法來核准異動。核准的金額會轉移至接收者的帳戶。
在所有使用 approveTransactionexecuteHoldTokens 方法的核准期間,會驗證寄件者與接收者的 kycComplianceamlCompliancerestrictionFlag 值。
燒錄:
  1. 燒錄機使用 requestBurn 方法要求核准燒錄 (毀) 穩定幣。
  2. 燒錄核准者使用 approveBurn 方法來核准燒錄者的要求。
  3. 穩定幣是從燒錄機的帳戶燒錄而來的。
稽核:
  • 管理員和稽核人員可以使用 getAccountTransactionHistorygetAccountTransactionHistoryWithFilters 方法來追蹤每個提示、保留、傳輸、多層級核准和燒錄作業。
如需有關使用 Postman 集合的詳細資訊,請參閱 Blockchain App Builder for Oracle Blockchain Platform 中的下列主題。