部署和测试 Stablecoin 的包装 API

部署 Wrapper API 程序包

必须先更新所需的配置变量,然后才能部署包装 API 软件包。某些配置变量具有默认值,但必须手动更新包含占位符作为其默认值的任何变量。配置变量存储在包装器 API 档案中的 terraform.tfvars 文件中。有关部署包装 API 和配置变量的更多信息,请参见 Blockchain App Builder for Oracle Blockchain Platform 中的 Wrapper API 。下表列出了稳定币包装 API 包的配置变量及其默认值。

变量名称 默认值 说明
compartment_ocid <compartment_ocid> Oracle Cloud Infrastructure (OCI) 中区间的 OCID。
compartment_name <compartment_name> OCI 区间的名称。
identity_domain <identity_domain> 要使用的身份域。
blockchain_channel <blockchain_channel> 部署链代码的 Oracle Blockchain Platform 通道的名称。
blockchain_url <blockchain_url> 与链代码部署关联的 Oracle Blockchain Platform URL。
blockchain_chaincode Stablecoin 要为其生成包装 API 的链代码的名称。
blockchain_sync true 要包括在 API 调用有效负载中的同步值。
blockchain_timeout 6000 要包括在 API 调用有效负载中的超时值。
vcn_display_name Stablecoin OCI 虚拟云网络的显示名称。
application_display_name Stablecoin OCI 应用程序的显示名称。
gateway_display_name Stablecoin API 网关的显示名称。
deployment_display_name Stablecoin API 网关中部署的显示名称。
deployment_path_prefix /Stablecoin API 网关中的部署路径前缀,用于指定部署路由的路径。deployment_path_prefix 变量必须以斜杠 (/) 开头。
ocir_repo_name Stablecoin OCI 注册表资料档案库名称。ocir_repo_name 变量必须全部为小写字母。
policy_name Stablecoin 该策略的名称,通过为组织中的组和区间定义的权限来控制对 API 的管理和访问

Stablecoin 样品处理流程

使用稳定币包装 API 的典型流程遵循这些基本步骤。
  1. 令牌管理员使用 initializeStablecoinToken 方法初始化具有固定 currencyName 值(例如 USD)和 conversionRate 值的稳定币。
  2. 令牌管理员使用 createAccountassociateTokenToAccount 方法为所有用户(多级审批者、矿工、公证人、发送者和接收者)创建令牌账户。
  3. 令牌管理员使用 createStablecoinAccountPolicyCheck 方法创建帐户策略。账户策略对于转移或持有稳定币的所有账户都是必需的。每个帐户策略包括三个参数:KYCAMLrestrictionFlag
    KYC(了解您的客户)
    仅当发送方和接收方账户的 KYC 值均为 true 时,才允许转移。
    AML(反洗钱)
    仅当发送方和接收方账户的 AML 值均为 true 时,才允许转移。
    restrictionFlag
    如果为发送方或接收方账户将限制标志设置为 true,则只允许在最低审批策略时段范围内进行转移,从而必须提供审批策略。
  4. 令牌管理员使用 createApprovalPolicyCheck 创建审批策略。审批策略定义事务处理阈值、所需的审批数和审批人详细信息,并设置多级别审批的顺序。审批策略对于暂挂操作是必需的。如果没有审批策略,用户将无法在应用限制时持有或转移令牌。
  5. 令牌管理员使用 addRole 方法将 minter、Burner 和 Notary 角色分配给相应的帐户。
  6. minter 使用 requestMint 方法提交对 mint 稳定币的请求。
  7. 公证人使用 approveMint 方法批准铸造请求。
  8. 发送者使用 holdTokens 方法启动传输。系统会为发送者和接收者运行帐户策略检查。如果未满足任一账户的 KYC 或 AML 合规性,则不允许转移。如果将任一账户的限制标志设置为 true,则只能暂挂处于最低审批策略阈值范围内的金额。然后,转移金额与审批策略阈值进行匹配,所需的审批人及其审批顺序源自审批策略。
  9. 多级审批人使用 approveTransaction 方法按审批策略中定义的确切顺序检查和授权调动。如果审批策略指定了零审批者,公证人可以直接使用 executeHoldTokens 方法来完成事务处理。每次调用 executeHoldTokensapproveTransaction 时,系统都会重新验证 KYC 和 AML 合规性以及限制标志。如果任何检查失败,将阻止事务处理。
  10. 在成功完成所有审批之后,分配的公证人使用 executeHoldTokens 方法完成传送至接收人的帐户。
  11. 刻录器使用 requestBurn 方法提交烧录稳定币的请求。
  12. 公证人使用 approveBurn 方法批准刻录请求。
  13. 令牌管理员和审计者使用 getStablecointAccountTransactionHistorygetStablecoinAccountTransactionHistoryWithFilters 跟踪所有令牌事件,包括铸造、持有、多级别审批流、传输和刻录。

邮递员

在 stablecoin 包装 API 包中的 Postman 集合包括支持 stablecoin 链码的其他属性和方法。下表显示了特定于稳定币包的 Postman 集合变量。
变量 说明 默认值
bc-instance-client-id Oracle Blockchain Platform 云服务的客户端 ID。 bc- 实例 - 客户机 - 标识
bc-instance-client-secret Oracle Blockchain Platform 云服务的客户端密钥。 bc 实例 - 客户端 - 密钥
int-app-client-id Oracle Identity Cloud Service (IDCS) 机密应用程序的客户端 ID,用于在 CreateIDCS 用户 API 中创建 IDCS 用户。 int-app-client-id
int-app-client-secret IDCS 机密应用程序的客户端密钥,用于在 CreateIDCS 用户 API 中创建 IDCS 用户。 内部应用程序客户端密钥

有关详细信息,请参阅 Blockchain App Builder for Oracle Blockchain Platform 中的 Wrapper API Package Components