Stablecoin 체인 코드 방법

Stablecoin 체인코드는 일반 Token Taxonomy Framework 체인코드에서 사용할 수 있는 모든 TypeScript 메서드와 Stablecoin 시나리오와 관련된 추가 TypeScript 메서드를 포함합니다.

Stablecoin 자산 방법

Stablecoin 자산은 확장 된 토큰 분류법 프레임워크 표준을 기반으로하며 해당 표준에 대한 모든 일반 방법을 지원합니다. 일반 토큰 분류법 프레임워크 방법에 대한 자세한 내용은 Oracle Blockchain Platform용 블록체인 앱 빌더토큰 분류법 프레임워크에 대한 캐폴드 TypeScript 프로젝트를 참조하십시오.

주:

Stablecoin 체인 코드에서 executeHoldTokens 메서드는 일반 버전과 다르게 동작합니다. 이 방법의 stablecoin 버전은 항상 전체 보류 금액을 완료하며 부분 전송을 지원하지 않습니다.

계정 정책 확인 방법

createAccountPolicyCheck
이 방법은 지정된 계정에 대한 정책을 만듭니다. 이 메소드는 지정된 조직의 Token Admin 또는 Org Admin에 의해서만 호출될 수 있습니다.
createAccountPolicyCheck(asset: AccountPolicyCheck)
매개변수:
  • asset: AccountPolicyCheck class – 다음 필드를 포함하는 계정 정책 매개변수를 정의하는 클래스입니다.
    • accountPolicyId – 시스템에서 지정된 orgId 및 userId 필드에서 이 ID를 생성합니다. 이 필드는 수동으로 제공하지 않습니다.
    • orgId – 정책을 만들 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
    • userId – 정책을 만들 사용자의 사용자 이름 또는 전자 메일 ID입니다.
    • kycCompliance – 계정이 KYC(Know Your Customer) 요구 사항을 충족하는지 여부를 나타내는 부울 값입니다.
    • amlCompliance – 계정이 AML(Anti-Money Laundering) 요구 사항을 충족하는지 여부를 나타내는 부울 값입니다.
    • riskScore – 준수 평가에 사용되는 계정과 연관된 위험 점수입니다.
    • restrictionFlag – 계정에 제한된 이전이 적용되는지 여부를 나타내는 부울 값입니다. true로 설정된 경우 최저 승인 정책 임계값 내 전송만 허용됩니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "02875ca9c6a7408da3f81156214228b91b09c4bb2b8026d7a5733b53598c6635",
        "payload": {
            "assetType": "AccountPolicyCheck",
            "accountPolicyId": "APID~CentralBank~cb__creator_demo",
            "orgId": "CentralBank",
            "userId": "cb__creator_demo",
            "kycCompliance": "true",
            "amlCompliance": "true",
            "riskScore": 1000,
            "restrictionFlag": "false"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 272
    }
}
getAccountPolicyCheckById
이 방법은 지정된 정책 ID에 대한 계정 정책 세부정보를 가져옵니다. 이 메소드는 지정된 조직의 Token Admin 또는 Token Auditor 또는 Org Admin 또는 Org Auditor에 의해서만 호출될 수 있습니다.
getAccountPolicyCheckById(id: string)
매개변수:
  • id: string – 고유한 계정 정책 ID입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "02875ca9c6a7408da3f81156214228b91b09c4bb2b8026d7a5733b53598c6635",
        "payload": {
            "assetType": "AccountPolicyCheck",
            "accountPolicyId": "APID~CentralBank~cb__creator_demo",
            "orgId": "CentralBank",
            "userId": "cb__creator_demo",
            "kycCompliance": "true",
            "amlCompliance": "true",
            "riskScore": 1000,
            "restrictionFlag": "false"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 272
    }
}
updateAccountPolicyCheck
이 방법은 지정된 계정에 대한 정책을 업데이트합니다. 이 메소드는 지정된 조직의 Token Admin 또는 Org Admin에 의해서만 호출될 수 있습니다.
updateAccountPolicyCheck(asset: AccountPolicyCheck)
매개변수:
  • asset: AccountPolicyCheck class – 다음 필드를 포함하는 계정 정책 매개변수를 정의하는 클래스입니다.
    • accountPolicyId – 고유한 계정 정책 ID입니다.
    • orgId – 정책을 만들 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
    • userId – 정책을 만들 사용자의 사용자 이름 또는 전자 메일 ID입니다.
    • kycCompliance – 계정이 KYC(Know Your Customer) 요구 사항을 충족하는지 여부를 나타내는 부울 값입니다.
    • amlCompliance – 계정이 AML(Anti-Money Laundering) 요구 사항을 충족하는지 여부를 나타내는 부울 값입니다.
    • riskScore – 준수 평가에 사용되는 계정과 연관된 위험 점수입니다.
    • restrictionFlag – 계정에 제한된 이전이 적용되는지 여부를 나타내는 부울 값입니다. true로 설정된 경우 최저 승인 정책 임계값 내 전송만 허용됩니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "02875ca9c6a7408da3f81156214228b91b09c4bb2b8026d7a5733b53598c6635",
        "payload": {
            "assetType": "AccountPolicyCheck",
            "accountPolicyId": "APID~CentralBank~cb__creator_demo",
            "orgId": "CentralBank",
            "userId": "cb__creator_demo",
            "kycCompliance": "true",
            "amlCompliance": "true",
            "riskScore": 1000,
            "restrictionFlag": "true"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 272
    }
}
deleteAccountPolicyCheck
이 방법은 지정된 정책 ID에 대한 정책을 삭제합니다. 이 메소드는 지정된 조직의 Token Admin 또는 Org Admin에 의해서만 호출될 수 있습니다.
deleteAccountPolicyCheck(id: string)
매개변수:
  • id: string – 고유한 계정 정책 ID입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "5499f49ae8595facbcbf56835bed9e6606875c0f54fd3cacb31a4104b56d3579",
        "payload": {
            "isValid": true,
            "message": "Successfully deleted asset with ID [APID~CentralBank~cb__creator_demo] from ledger"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 273
    }
}
getAccountPolicyCheckHistoryById
이 메소드는 지정된 정책 ID에 대한 전체 계정 정책 내역을 가져옵니다. 이 메소드는 지정된 조직의 Token Admin 또는 Token Auditor 또는 Org Admin 또는 Org Auditor에 의해서만 호출될 수 있습니다.
getAccountPolicyCheckHistoryById(id: string)
매개변수:
  • id: string – 고유한 계정 정책 ID입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "trxId": "dbfd34199bc5ea7224ca6c9976e30166dc859923ab044e595d0d42ad842eb471",
                "timeStamp": "2025-11-20T21:36:29.000Z",
                "value": {
                    "assetType": "AccountPolicyCheck",
                    "accountPolicyId": "APID~CentralBank~cb__creator_demo",
                    "orgId": "CentralBank",
                    "userId": "cb__creator_demo",
                    "kycCompliance": "true",
                    "amlCompliance": "true",
                    "riskScore": 1000,
                    "restrictionFlag": "true"
                }
            },
            {
                "trxId": "8b6951a4093f3bb79a489397878f9025ce4384c8973a0c4d0ec9c618667e8935",
                "timeStamp": "2025-11-20T21:35:34.000Z",
                "value": {
                    "assetType": "AccountPolicyCheck",
                    "accountPolicyId": "APID~CentralBank~cb__creator_demo",
                    "orgId": "CentralBank",
                    "userId": "cb__creator_demo",
                    "kycCompliance": "true",
                    "amlCompliance": "true",
                    "riskScore": 1000,
                    "restrictionFlag": "false"
                }
            },
            {
                "trxId": "5499f49ae8595facbcbf56835bed9e6606875c0f54fd3cacb31a4104b56d3579",
                "timeStamp": "2025-11-20T21:34:03.000Z",
                "value": "KEY DELETED"
            },
            {
                "trxId": "02875ca9c6a7408da3f81156214228b91b09c4bb2b8026d7a5733b53598c6635",
                "timeStamp": "2025-11-20T21:33:24.000Z",
                "value": {
                    "assetType": "AccountPolicyCheck",
                    "accountPolicyId": "APID~CentralBank~cb__creator_demo",
                    "orgId": "CentralBank",
                    "userId": "cb__creator_demo",
                    "kycCompliance": "true",
                    "amlCompliance": "true",
                    "riskScore": 1000,
                    "restrictionFlag": "false"
                }
            }
        ],
        "encode": "JSON"
    }
}
getAccountPolicyCheckByRange
이 메소드는 지정된 정책 ID 범위에 대한 모든 정책 내역을 가져옵니다. 이 메소드는 지정된 조직의 Token Admin 또는 Org Admin에 의해서만 호출될 수 있습니다.
getAccountPolicyCheckByRange(startId: string, endId: string)
매개변수:
  • startId: string – 범위의 시작 계정 정책 ID(포함)입니다.
  • endId: string – 범위의 종료 계정 정책 ID(제외)입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "assetType": "AccountPolicyCheck",
                "accountPolicyId": "APID~CentralBank~cb__creator_demo",
                "orgId": "CentralBank",
                "userId": "cb__creator_demo",
                "kycCompliance": "true",
                "amlCompliance": "true",
                "riskScore": 1000,
                "restrictionFlag": "true"
            },
            {
                "assetType": "AccountPolicyCheck",
                "accountPolicyId": "APID~CentralBank~cb_issuer_demo",
                "orgId": "CentralBank",
                "userId": "cb_issuer_demo",
                "kycCompliance": "true",
                "amlCompliance": "true",
                "riskScore": 1000,
                "restrictionFlag": "false"
            }
        ],
        "encode": "JSON"
    }
}

승인 정책 확인 방법

createApprovalPolicyCheck
이 방법은 승인 정책을 생성합니다. 이 메소드는 Token Admin에 의해서만 호출될 수 있습니다.
createApprovalPolicyCheck(asset: ApprovalPolicyCheck)
매개변수:
  • asset: ApprovalPolicyCheck class – 다음 필드를 포함하는 트랜잭션에 대한 승인 규칙을 정의하는 클래스입니다.
    • approvalPolicyId – 시스템에서 이 ID를 생성합니다. 이 필드는 수동으로 제공하지 않습니다.
    • transactionLowerLimit – 승인 정책이 적용되는 최소 거래 금액입니다.
    • transactionUpperLimit – 승인 정책이 적용되는 최대 트랜잭션 금액입니다.
    • numberOfApprovalsRequired – 트랜잭션을 완료하기 전에 필요한 총 승인 수입니다.
    • approverDetails – 승인에 대한 필수 순서를 정의하는 지정된 승인 순서와 함께 승인자 목록입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "3a5701ca90ffb98832421c7d5377eb9c0df9fdab30a0a3ce06216808bdea098e",
        "payload": {
            "status": "active",
            "assetType": "ApprovalPolicyCheck",
            "approvalPolicyId": "GPID~500~1000",
            "transactionLowerLimit": "500",
            "transactionUpperLimit": "1000",
            "numberOfApprovalsRequired": 2,
            "approverDetails": [
                {
                    "approverOrgId": "CentralBank",
                    "approverUserId": "manager",
                    "approvalSequence": 1
                },
                {
                    "approverOrgId": "CentralBank",
                    "approverUserId": "creator",
                    "approvalSequence": 2
                }
            ]
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 284
    }
}
getApprovalPolicyCheckById
이 메소드는 지정된 정책 ID에 대한 승인 정책 세부정보를 가져옵니다. 이 메소드는 지정된 조직의 Token Admin 또는 Org Admin에 의해서만 호출될 수 있습니다.
getApprovalPolicyCheckById(id: string)
매개변수:
  • id: string – 고유한 승인 정책 ID입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "assetType": "ApprovalPolicyCheck",
            "approvalPolicyId": "GPID~0~100",
            "transactionLowerLimit": "0",
            "transactionUpperLimit": "100",
            "numberOfApprovalsRequired": 0,
            "approverDetails": []
        },
        "encode": "JSON"
    }
}
updateApprovalPolicyCheck
이 방법은 승인 정책을 업데이트합니다. 이 메소드는 Token Admin에 의해서만 호출될 수 있습니다.
updateApprovalPolicyCheck(asset: ApprovalPolicyCheck)
매개변수:
  • asset: ApprovalPolicyCheck class – 다음 필드를 포함하는 트랜잭션에 대한 승인 규칙을 정의하는 클래스입니다.
    • approvalPolicyId – 고유한 승인 정책 ID입니다.
    • transactionLowerLimit – 승인 정책이 적용되는 최소 거래 금액입니다.
    • transactionUpperLimit – 승인 정책이 적용되는 최대 트랜잭션 금액입니다.
    • numberOfApprovalsRequired – 트랜잭션을 완료하기 전에 필요한 총 승인 수입니다.
    • approverDetails – 승인에 대한 필수 순서를 정의하는 지정된 승인 순서와 함께 승인자 목록입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "ed1e1950fe02dbab74fa3aa7630b8dc6096e30aae5c81bab0dd22d5232c44fc9",
        "payload": {
            "status": "active",
            "assetType": "ApprovalPolicyCheck",
            "approvalPolicyId": "GPID~500~1000",
            "transactionLowerLimit": "500",
            "transactionUpperLimit": "1000",
            "numberOfApprovalsRequired": 1,
            "approverDetails": [
                {
                    "approverOrgId": "CentralBank",
                    "approverUserId": "manager",
                    "approvalSequence": 1
                }
            ]
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009",
        "blockNumber": 285
    }
}
deleteApprovalPolicyCheck
이 방법은 지정된 정책 ID에 대한 승인 정책을 삭제합니다. 이 메소드는 Token Admin에 의해서만 호출될 수 있습니다.
deleteApprovalPolicyCheck(id: string)
매개변수:
  • id: string – 고유한 승인 정책 ID입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "5ac54d3279a183022a00495aee3c25c2893388ff9aaaecd5c3b594edfa49ad8f",
        "payload": {
            "isValid": true,
            "message": "Successfully deleted asset with ID [GPID~500~1000] from ledger"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009",
        "blockNumber": 286
    }
}
getApprovalPolicyCheckHistoryById
이 메소드는 지정된 정책 ID에 대한 전체 승인 정책 내역을 가져옵니다. 이 메소드는 지정된 조직의 Token Admin 또는 Org Admin에 의해서만 호출될 수 있습니다.
getApprovalPolicyCheckHistoryById(id: string)
매개변수:
  • id: string – 고유한 승인 정책 ID입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "trxId": "48f196c18869e871dc92ab880933ccc1c4dc402b9753ae6270e223646c177090",
                "timeStamp": "2025-11-21T09:30:04.000Z",
                "value": {
                    "assetType": "ApprovalPolicyCheck",
                    "approvalPolicyId": "GPID~0~100",
                    "transactionLowerLimit": "0",
                    "transactionUpperLimit": "100",
                    "numberOfApprovalsRequired": 0,
                    "approverDetails": []
                }
            }
        ],
        "encode": "JSON"
    }
}
getApprovalPolicyCheckByRange
이 메소드는 지정된 정책 ID 범위에 대한 모든 승인 정책 내역을 가져옵니다. 이 메소드는 지정된 조직의 Token Admin 또는 Org Admin에 의해서만 호출될 수 있습니다.
getApprovalPolicyCheckByRange(startId: string, endId: string)
매개변수:
  • startId: string – 범위의 시작 승인 정책 ID(포함)입니다.
  • endId: string – 범위의 종료 승인 정책 ID(제외)입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "assetType": "ApprovalPolicyCheck",
                "approvalPolicyId": "GPID~0~100",
                "transactionLowerLimit": "0",
                "transactionUpperLimit": "100",
                "numberOfApprovalsRequired": 0,
                "approverDetails": []
            },
            {
                "status": "active",
                "assetType": "ApprovalPolicyCheck",
                "approvalPolicyId": "GPID~500~1000",
                "transactionLowerLimit": "500",
                "transactionUpperLimit": "1000",
                "numberOfApprovalsRequired": 2,
                "approverDetails": [
                    {
                        "approverOrgId": "CentralBank",
                        "approverUserId": "manager",
                        "approvalSequence": 1
                    },
                    {
                        "approverOrgId": "CentralBank",
                        "approverUserId": "creator",
                        "approvalSequence": 2
                    }
                ]
            }
        ],
        "encode": "JSON"
    }
}

승인 트랜잭션 방법

getApprovalTransactionById
이 방법은 지정된 트랜잭션 ID에 대한 승인 트랜잭션을 가져옵니다. 이 메소드는 지정된 조직의 Token Admin 또는 Org Admin에 의해서만 호출될 수 있습니다.
getApprovalTransactionsById(id: string)
매개변수:
  • id: string – 승인 트랜잭션의 시스템 생성 ID입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "assetType": "ApprovalTransactions",
            "approvalTransactionId": "hold1~oaccount~1cf5d40c7ea7b9dceedfc66292ab843c1583564c3ecaf9f5ceb11f834018b02f",
            "approvalOperationId": "hold1",
            "fromAccountId": "oaccount~374e4e762940fc185c7cd5b6528c7f94985b6c56acf46abb746de6381589edd2",
            "toAccountId": "oaccount~79c427e614530eacad6fb07cff6048f6b96283e65019301320c9684932846f64",
            "approverAccountId": "oaccount~1cf5d40c7ea7b9dceedfc66292ab843c1583564c3ecaf9f5ceb11f834018b02f",
            "totalApprovals": 1,
            "timestamp": "2025-11-21T12:32:43.000Z"
        },
        "encode": "JSON"
    }
}

사용자정의 방법

getApproverDetailsByTransferAmount
이 방법은 지정된 이체 금액에 필요한 승인자 세부정보를 가져옵니다. 이 메소드는 Token Admin 또는 Token Auditor에 의해서만 호출될 수 있습니다.
getApproverDetailsByTransferAmount(Amount: number)
매개변수:
  • amount: number – 이전 금액입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "5874105c14abd67e68cb4dacf82f2a2dca6cc9da4f5b27fcc91c83a60b7249e1",
        "payload": {
            "approverDetails": [
                {
                    "approverOrgId": "CentralBank",
                    "approverUserId": "manager",
                    "approvalSequence": 1
                },
                {
                    "approverOrgId": "CentralBank",
                    "approverUserId": "creator",
                    "approvalSequence": 2
                }
            ]
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 292
    }
}
approveTransaction
승인자는 이 방법을 사용하여 보류 트랜잭션을 승인할 수 있습니다.
approveTransaction(token_id: string, operation_id: string, quantity: number)
매개변수:
  • token_id: string – 토큰 ID입니다.
  • operation_id: string – 보류 작업을 식별하는 고유 ID입니다. 일반적으로 이 ID는 클라이언트 응용 프로그램에서 전달합니다.
  • quantity: number – 전송을 승인할 보류 중인 토큰 수입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "44685b0ff1b0ee72d57cb62900aae30638d65c82f264d5de7b28375732171702",
        "payload": {
            "assetType": "ApprovalTransactions",
            "approvalTransactionId": "hold1~oaccount~1cf5d40c7ea7b9dceedfc66292ab843c1583564c3ecaf9f5ceb11f834018b02f",
            "approvalOperationId": "hold1",
            "fromAccountId": "oaccount~374e4e762940fc185c7cd5b6528c7f94985b6c56acf46abb746de6381589edd2",
            "toAccountId": "oaccount~79c427e614530eacad6fb07cff6048f6b96283e65019301320c9684932846f64",
            "approverAccountId": "oaccount~1cf5d40c7ea7b9dceedfc66292ab843c1583564c3ecaf9f5ceb11f834018b02f",
            "totalApprovals": 1,
            "timestamp": "2025-11-21T12:32:43.000Z"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 289
    }
}