部署和测试债券市场链代码
Prerequisites
在使用债券市场链代码之前,必须完成以下步骤。- 在 Oracle Identity Cloud Service 中创建机密客户端应用程序。债券市场包装器 API 提供了创建 Identity Cloud Service 用户的方法,客户端可以在其注册流中使用这些用户。这需要具有在 Identity Cloud Service 中创建新用户的权限的机密客户端应用程序。债券市场链代码需要此应用程序的客户端 ID 和客户端密钥。有关添加保密应用程序的详细信息,请参阅添加保密应用程序。
- 创建用户组并将其配置为 Oracle Blockchain Platform 实例。必须根据相应的访问和应用程序角色(例如
admin
、restproxy user
、ca user
等)创建 Identity Cloud Service 用户组并将其配置为相应的 Oracle Blockchain Platform 实例,例如ADMIN_GROUP
、USER_GROUP
、CLIENT_GROUP
等。有关更多信息,请参见 Set Up Users and Application Roles 。 - 部署批发 CBDC 链代码。批发 CBDC 链代码必须部署在部署了债券市场链代码的相同 Oracle Blockchain Platform 实例上。必须在批发 CBDC 链代码中将相应的令牌和令牌账户设置为债券的默认付款模式。您可以手动执行此操作,也可以使用区块链应用程序构建器生成的 Postman 集合。批发 CBDC 链码和债券市场可以部署在同一渠道或不同的渠道上。
部署链代码
您可以直接从 Oracle Blockchain Platform 控制台或使用 Blockchain App Builder 部署链代码。在部署链代码之前,为每个令牌用户创建注册 ID,然后将令牌用户映射到其各自的注册 ID。为每个注册仅指定一个用户。有关添加登记的更多信息,请参阅将登记添加到 REST 代理。
部署令牌链代码时,必须调用 init
方法并传递 Token Admin
用户的组织 ID 和用户 ID。
有关从 Oracle Blockchain Platform 控制台部署的信息,请参阅使用高级部署。
要使用 Blockchain App Builder 进行部署,请完成以下步骤。
- 提取
BondMarketplace.zip
归档文件。 - 将
BondMarketplace
链代码导入 Visual Studio Code 中的 Blockchain App Builder 扩展。 - 编辑
.ochain.json
文件以将configFileLocation
密钥的值更新为BondMarketplace.yml
规范文件的路径。 - 打开终端窗口并导航到 chaincode 文件夹,然后运行以下命令。
npm install
债券市场示例流程流
使用债券市场方法的典型流程流遵循这些基本步骤。- 管理员使用
createUserAccount
和createTokenAccount
方法为所有用户创建单个 NFT 帐户。 - 管理员使用
addRole
方法将 minter 角色分配给参与金融机构的负责人(例如FI-1 Bond Issuer
)。 - 金融机构官员(债券发行人)使用
createBondToken
方法以小数 NFT 形式发行债券。 - 金融机构负责人使用
getTokenById
方法检查和确认已发行债券的详细信息。 - 债券购买者(例如
FI User
)使用purchaseToken
方法购买小数 NFT 债券,并使用批发 CBDC 链代码进行付款。 - 购买者使用
balanceOfBatch
方法验证其钱包中的债券收据。 - 购买者使用
getAccountBalance
方法(批发 CBDC 链代码)来确认其批发 CBDC 钱包中的转移。 - 债券发行人使用
payInterest
方法使用批发 CBDC 链代码向债券持有人支付定期利息。 - 购买者使用
requestTokenRedemption
方法在债券到期后提交赎回其债券的请求。 - 金融机构官员使用
approveTokenRedemption
方法批准赎回请求,并将批发 CBDC 资金转移给债券持有人。 - 债券持有人使用
balanceOfBatch
方法(债券市场链代码)和getAccountBalance
方法(批发 CBDC 链代码)来验证债券是否已兑换,以及在批发 CBDC 钱包中收到资金。
有关使用 Postman 集合的更多详细信息,请参见以下主题。