部署及測試債券市集鏈碼
必備條件
您必須先完成下列步驟,才能使用債券市集鏈碼。- 在 Oracle Identity Cloud Service 中建立機密從屬端應用程式。債券市集包裝程式 API 提供方法來建立 Identity Cloud Service 使用者,客戶可以在其註冊流程中使用這些使用者。這需要有在 Identity Cloud Service 中建立使用者的機密從屬端應用程式。債券市集鏈碼需有此應用程式的用戶端 ID 與用戶端密碼。如需有關新增機密應用程式的詳細資訊,請參閱新增機密應用程式的。
- 建立使用者群組並將其設定為 Oracle Blockchain Platform 執行處理。必須根據對應的存取和應用程式角色 (例如
admin
、restproxy user
、ca user
等),建立 Identity Cloud Service 使用者群組 (例如ADMIN_GROUP
、USER_GROUP
、CLIENT_GROUP
等等),並將其設定為對應的 Oracle Blockchain Platform 執行處理。如需詳細資訊,請參閱設定使用者和應用程式角色。 - 部署批發 CBDC 鏈碼。批發 CBDC 鏈碼必須部署在部署債券市場鏈碼的相同 Oracle Blockchain Platform 執行個體上。對應的變數替代字與變數替代字帳戶必須在批發 CBDC 鏈碼中設定,作為債券的預設付款模式。您可以手動執行這項操作,或使用 Blockchain App Builder 產生的 Postman 集合。批發 CBDC 鏈碼與債券市集可部署在相同通路或不同通路。
部署 Chaincode
您可以直接從 Oracle Blockchain Platform 主控台或使用 Blockchain App Builder 來部署鏈碼。部署鏈碼之前,請先為每個權杖使用者建立註冊 ID,然後將權杖使用者對應至其個別的註冊 ID。每次註冊只能指定一位使用者。如需有關新增登記的詳細資訊,請參閱新增登記至 REST 代理。
當您部署記號鏈碼時,必須呼叫 init
方法,並傳送 Token Admin
使用者的組織 ID 和使用者 ID。
如需從 Oracle Blockchain Platform 主控台進行部署的相關資訊,請參閱使用進階部署。
若要使用區塊鏈 App 產生器進行部署,請完成下列步驟。
- 擷取
BondMarketplace.zip
歸檔檔案。 - 將
BondMarketplace
鏈碼匯入 Visual Studio 程式碼中的 Blockchain App Builder 擴充功能。 - 編輯
.ochain.json
檔案以將configFileLocation
金鑰的值更新為BondMarketplace.yml
規格檔案的路徑。 - 開啟終端機視窗並瀏覽至 chaincode 資料夾,然後執行下列命令。
npm install
債券市集樣本處理流程
使用債券市集方法的典型處理流程會遵循這些基本步驟。- 管理員可以使用
createUserAccount
和createTokenAccount
方法,為所有使用者建立個別的 NFT 帳戶。 - 管理員會使用
addRole
方法,將 minter 角色指派給參與金融機構的主管 (例如,FI-1 Bond Issuer
)。 - 金融機構主管 (債券發行人) 使用
createBondToken
方法將債券發行為分數 NFT。 - 金融機構主管使用
getTokenById
方法來複查和確認已發行債券的明細。 - 債券買方 (例如,組織使用者) 使用
purchaseToken
方法購買小數 NFT 債券,並使用批發 CBDC 鏈碼進行付款。 - 買方會使用
balanceOfBatch
方法來驗證其公事包中收到的債券。 - 採購人員使用
getAccountBalance
方法 (批發 CBDC 鏈碼) 來確認其批發 CBDC 公事包中的轉帳。 - 債券發行人使用
payInterest
方法,以批發 CBDC 鏈碼向債券持有人定期支付利息。 - 購買者使用
requestTokenRedemption
方法提交要求,以便在債券到期後贖回債券。 - 金融機構主管使用
approveTokenRedemption
方法來核准贖回要求,以及將批發 CBDC 資金轉帳給債券持有人。 - 債券持有人使用
balanceOfBatch
方法 (債券市集鏈碼) 和getAccountBalance
方法 (批發 CBDC 鏈碼),以確認債券已贖回,並在其批發 CBDC 公事包中收到資金。
如需有關使用 Postman 集合的詳細資訊,請參閱 Blockchain App Builder for Oracle Blockchain Platform 中的下列主題。