Despliegue y pruebe las API de envoltorio para Stablecoin

Despliegue del Paquete de API de Wrapper

Antes de desplegar el paquete de API de envoltorio, debe actualizar las variables de configuración necesarias. Algunas variables de configuración tienen valores por defecto, pero debe actualizar manualmente cualquier variable que contenga un marcador de posición como valor por defecto. Las variables de configuración se almacenan en el archivo terraform.tfvars en el archivo de API de envoltorio. Para obtener más información sobre el despliegue de API de envoltorio y sobre las variables de configuración, consulte API de envoltorio en Blockchain App Builder para Oracle Blockchain Platform. En la siguiente tabla, se muestran las variables de configuración y sus valores por defecto para el paquete de API de encapsulador de stablecoin.

Nombre de la variable Valor por defecto Descripción
compartment_ocid <compartment_ocid> OCID del compartimento en Oracle Cloud Infrastructure (OCI).
compartment_name <compartment_name> Nombre del compartimento de OCI.
identity_domain <identity_domain> Dominio de identidad que se va a utilizar.
blockchain_channel <blockchain_channel> Nombre del canal de Oracle Blockchain Platform donde se despliega el código de cadena.
blockchain_url <blockchain_url> URL de Oracle Blockchain Platform asociada al despliegue de código de cadena.
blockchain_chaincode Stablecoin Nombre del código de cadena para el que se van a generar las API de envoltorio.
blockchain_sync true Valor de sincronización que se debe incluir en la carga útil de las llamadas de API.
blockchain_timeout 6000 Valor de timeout que se debe incluir en la carga útil para llamadas de API.
vcn_display_name Stablecoin Nombre mostrado de la red virtual en la nube de OCI.
application_display_name Stablecoin Nombre mostrado de la aplicación de OCI.
gateway_display_name Stablecoin Nombre mostrado de API Gateway.
deployment_display_name Stablecoin Nombre mostrado del despliegue en API Gateway.
deployment_path_prefix /Stablecoin Prefijo de ruta de acceso de despliegue en API Gateway, que especifica la ruta de acceso donde se despliegan las rutas. La variable deployment_path_prefix debe comenzar con una barra inclinada (/).
ocir_repo_name Stablecoin Nombre del repositorio de OCI Registry. La variable ocir_repo_name debe ser todas letras en minúscula.
policy_name Stablecoin Nombre de la política que permite la gestión controlada y el acceso a las API mediante permisos definidos para grupos y compartimentos de la organización

Flujo de proceso de muestra de Stablecoin

Un flujo de proceso típico que utiliza las API de envoltorio de stablecoin sigue estos pasos básicos.
  1. El administrador de tokens utiliza el método initializeStablecoinToken para inicializar un stablecoin con un valor currencyName fijo (por ejemplo, USD) y un valor conversionRate.
  2. El administrador de tokens utiliza los métodos createAccounty associateTokenToAccount para crear cuentas de token para todos los usuarios (aprobadores, minters, notarios, remitentes y receptores de varios niveles).
  3. El administrador de token utiliza el método createStablecoinAccountPolicyCheck para crear políticas de cuenta. Las políticas de cuentas son obligatorias para todas las cuentas que transfieren o mantienen monedas estables. Cada política de cuenta incluye tres parámetros: KYC, AML y restrictionFlag.
    KYC (Conozca a su cliente)
    La transferencia solo se permite cuando los valores de KYC son true para las cuentas de remitente y de receptor.
    AML (Antilavado de dinero)
    La transferencia solo se permite cuando los valores de lista de fabricantes aprobados son true para las cuentas de remitente y de receptor.
    restrictionFlag
    Si el indicador de restricción se define en true para la cuenta del remitente o del receptor, la transferencia solo se permite en el rango de bloques de política de aprobación más bajo, lo que hace que sea obligatoria una política de aprobación.
  4. El administrador de token utiliza createApprovalPolicyCheck para crear una política de aprobación. Las políticas de aprobación definen los umbrales de transacción, el número necesario de aprobaciones y los detalles del aprobador, y definen la secuencia para las aprobaciones de varios niveles. Una política de aprobación es obligatoria para una operación de retención. Sin una política de aprobación, los usuarios no pueden retener ni transferir tokens cuando se aplican restricciones.
  5. El administrador de token utiliza el método addRole para asignar los roles de minter, quemador y notario a las cuentas adecuadas.
  6. El minter utiliza el método requestMint para enviar una solicitud a mint stablecoins.
  7. El notario utiliza el método approveMint para aprobar la solicitud de acuñación.
  8. El remitente utiliza el método holdTokens para iniciar una transferencia. El sistema ejecuta una comprobación de política de cuentas para el remitente y el receptor. Si no se cumple el cumplimiento de KYC o AML para ninguna cuenta, no se permite la transferencia. Si el indicador de restricción se define en true para cualquiera de las cuentas, solo se puede retener el importe del rango de umbrales de política de aprobación más bajo. A continuación, el importe de transferencia se confronta con los umbrales de la política de aprobación, y los aprobadores necesarios y sus secuencias de aprobación se derivan de la política de aprobación.
  9. Los aprobadores de varios niveles utilizan el método approveTransaction para revisar y autorizar la transferencia en la secuencia exacta definida en la política de aprobación. Si la política de aprobación especifica cero aprobadores, el notario puede utilizar el método executeHoldTokens directamente para completar la transacción. El sistema vuelve a validar el cumplimiento de KYC y AML y el indicador de restricción durante cada llamada a executeHoldTokens y approveTransaction. Si falla algún cheque, la transacción está bloqueada.
  10. Una vez que todas las aprobaciones se han completado correctamente, el notario asignado utiliza el método executeHoldTokens para completar la transferencia a la cuenta del receptor.
  11. El quemador utiliza el método requestBurn para enviar una solicitud para quemar monedas estables.
  12. El notario utiliza el método approveBurn para aprobar la solicitud de grabación.
  13. Los administradores y auditores de token utilizan getStablecointAccountTransactionHistory y getStablecoinAccountTransactionHistoryWithFilters para realizar un seguimiento de todos los eventos de token, incluida la acuñación, la retención, los flujos de aprobación de varios niveles, las transferencias y la quema.

Colección Postman

La colección Postman en el paquete API de encapsulador de stablecoin incluye atributos y métodos adicionales que admiten el código de cadena de stablecoin. La siguiente tabla muestra las variables de recopilación de Postman que son específicas del paquete de stablecoin.
Variable Descripción Valor por defecto
bc-instance-client-id ID de cliente del servicio en la nube de Oracle Blockchain Platform. bc-instance-client-id
bc-instance-client-secret El secreto de cliente del servicio en la nube de Oracle Blockchain Platform. bc-instance-client-secret
int-app-client-id ID de cliente de la aplicación confidencial de Oracle Identity Cloud Service (IDCS), que se utiliza para crear un usuario de IDCS en la API de usuario CreateIDCS. int-app-client-id
int-app-client-secret Secreto de cliente de la aplicación confidencial de IDCS, que se utiliza para crear un usuario de IDCS en la API de usuario CreateIDCS. int-app-client-secret

Para obtener más información, consulte Componentes de paquete de API de envoltorio en Blockchain App Builder para Oracle Blockchain Platform.