Stablecoin용 래퍼 API 배포 및 테스트

래퍼 API 패키지 배치

래퍼 API 패키지를 배치하려면 먼저 필요한 구성 변수를 갱신해야 합니다. 일부 구성 변수에는 기본값이 있지만 위치 표시자를 기본값으로 포함하는 변수를 수동으로 업데이트해야 합니다. 구성 변수는 래퍼 API 아카이브의 terraform.tfvars 파일에 저장됩니다. 래퍼 API 배포 및 구성 변수에 대한 자세한 내용은 Oracle Blockchain Platform용 블록체인 앱 빌더래퍼 API를 참조하십시오. 다음 표에서는 Stablecoin 래퍼 API 패키지의 구성 변수 및 기본값을 나열합니다.

변수 이름 기본값 설명
compartment_ocid <compartment_ocid> OCI(Oracle Cloud Infrastructure)의 컴파트먼트의 OCID입니다.
compartment_name <compartment_name> OCI 컴파트먼트의 이름입니다.
identity_domain <identity_domain> 사용할 ID 도메인입니다.
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 Gateway의 배치 경로 접두어입니다. deployment_path_prefix 변수는 슬래시(/)로 시작해야 합니다.
ocir_repo_name Stablecoin OCI 레지스트리 저장소 이름입니다. ocir_repo_name 변수는 모두 소문자여야 합니다.
policy_name Stablecoin 조직의 그룹 및 구획에 대해 정의된 권한을 통해 API에 대한 제어 관리 및 액세스를 사용으로 설정하는 정책의 이름입니다.

Stablecoin 샘플 프로세스 흐름

Stablecoin 래퍼 API를 사용하는 일반적인 프로세스 흐름은 이러한 기본 단계를 따릅니다.
  1. 토큰 관리자는 initializeStablecoinToken 메소드를 사용하여 고정된 currencyName 값(예: USD) 및 conversionRate 값으로 Stablecoin을 초기화합니다.
  2. 토큰 관리자는 createAccountassociateTokenToAccount 메소드를 사용하여 모든 사용자에 대한 토큰 계정(다중 레벨 승인자, Minters, 노타리, 발신자 및 수신자)을 생성합니다.
  3. 토큰 관리자는 createStablecoinAccountPolicyCheck 메소드를 사용하여 계정 정책을 생성합니다. Stablecoins를 이전하거나 보유하는 모든 계정에 대해 계정 정책은 필수입니다. 각 계정 정책에는 KYC, AMLrestrictionFlag의 세 가지 매개변수가 포함됩니다.
    KYC(고객 알기 제도)
    KYC 값이 발신자 및 수령인 계정 모두에 대해 true인 경우에만 이전이 허용됩니다.
    AML(금융 세탁 방지)
    전송은 발신자 및 수신자 계정 모두에 대해 AML 값이 true인 경우에만 허용됩니다.
    restrictionFlag
    발신자 또는 수령인 계정에 대해 제한 플래그가 true로 설정된 경우 승인 정책이 필수인 최하위 승인 정책 버켓 범위에서만 이전이 허용됩니다.
  4. 토큰 관리자는 createApprovalPolicyCheck를 사용하여 승인 정책을 생성합니다. 승인 정책은 트랜잭션 임계값, 필요한 승인 수 및 승인자 세부정보를 정의하고 다중 레벨 승인에 대한 순서를 설정합니다. 보류 작업의 경우 승인 정책은 필수입니다. 승인 정책이 없으면 제한이 적용되는 경우 사용자가 토큰을 보유하거나 전송할 수 없습니다.
  5. 토큰 관리자는 addRole 메소드를 사용하여 광부, 버너 및 공증 역할을 적절한 계정에 지정합니다.
  6. Minter는 requestMint 메서드를 사용하여 Stablecoins를 민트하기 위한 요청을 제출합니다.
  7. 공증인은 approveMint 메소드를 사용하여 주조 요청을 승인합니다.
  8. 발신기는 holdTokens 메소드를 사용하여 전송을 시작합니다. 시스템에서 발신자와 수신자에 대한 계정 정책 검사를 실행합니다. 한 계정에 대해 KYC 또는 AML 준수가 충족되지 않으면 전송이 허용되지 않습니다. 두 계정 중 하나에 대해 제한 플래그가 true로 설정된 경우 최저 승인 정책 임계값 범위의 금액만 보류할 수 있습니다. 그런 다음 이전 금액이 승인 정책 임계값에 대해 대응되고 필요한 승인자 및 해당 승인 순서가 승인 정책에서 파생됩니다.
  9. 다중 레벨 승인자는 approveTransaction 방법을 사용하여 승인 정책에 정의된 정확한 순서로 전송을 검토하고 승인합니다. 승인 정책에서 0명의 승인자를 지정하는 경우 공증인은 executeHoldTokens 메소드를 직접 사용하여 트랜잭션을 완료할 수 있습니다. 시스템은 executeHoldTokensapproveTransaction를 호출할 때마다 KYC 및 AML 준수 및 제한 플래그를 재검증합니다. 검사가 실패하면 트랜잭션이 차단됩니다.
  10. 모든 승인이 성공적으로 완료된 후 지정된 공증인은 executeHoldTokens 방법을 사용하여 수령인의 계정으로 이전을 완료합니다.
  11. 버너는 requestBurn 메소드를 사용하여 Stablecoins 레코딩 요청을 제출합니다.
  12. 공증인은 approveBurn 메소드를 사용하여 레코딩 요청을 승인합니다.
  13. 토큰 관리자와 감사자는 getStablecointAccountTransactionHistorygetStablecoinAccountTransactionHistoryWithFilters를 사용하여 모든 토큰 이벤트(주조, 보류, 다중 레벨 승인 플로우, 전송 및 레코딩 포함)를 추적합니다.

포스트맨 컬렉션

Stablecoin 래퍼 API 패키지의 Postman 컬렉션에는 Stablecoin 체인 코드를 지원하는 추가 속성과 방법이 포함되어 있습니다. 다음 표는 Stablecoin 패키지와 관련된 Postman 컬렉션 변수를 보여줍니다.
변수 설명 기본값
bc-instance-client-id Oracle Blockchain Platform Cloud Service의 클라이언트 ID입니다. bc 인스턴스-클라이언트 ID
bc-instance-client-secret Oracle Blockchain Platform Cloud Service의 클라이언트 암호입니다. bc-인스턴스-클라이언트-비밀
int-app-client-id CreateIDCS 사용자 API에서 IDCS 사용자를 생성하는 데 사용되는 Oracle Identity Cloud Service(IDCS) 기밀 애플리케이션의 클라이언트 ID입니다. int-app-client-id
int-app-client-secret IDCS 기밀 애플리케이션의 클라이언트 암호로, CreateIDCS 사용자 API에서 IDCS 사용자를 생성하는 데 사용됩니다. int-app-client-secret

자세한 내용은 Oracle Blockchain Platform용 블록체인 앱 빌더래퍼 API 패키지 구성요소를 참조하십시오.