Stablecoin 链码方法

稳定币链代码包括通用的 Token Taxonomy Framework 链代码中可用的所有 TypeScript 方法,以及特定于稳定币场景的其他 TypeScript 方法。

Stablecoin 资产方法

稳定币资产基于扩展的代币分类框架标准,并支持该标准的所有通用方法。有关通用的标记分类框架方法的更多信息,请参见 Blockchain App Builder for Oracle Blockchain Platform 中的 Scaffolded TypeScript Project for Token Taxonomy Framework

注意:

在稳定币链代码中,executeHoldTokens 方法的行为与通用版本不同。该方法的稳定币版本始终完成全部暂挂金额,不支持部分转移。

账户策略检查方法

createAccountPolicyCheck
此方法为指定的帐户创建策略。此方法只能由指定组织的 Token AdminOrg Admin 调用。
createAccountPolicyCheck(asset: AccountPolicyCheck)
参数:
  • asset: AccountPolicyCheck class- 定义帐户策略参数的类,其中包括以下字段:
    • accountPolicyId- 系统从指定的 orgId 和 userId 字段生成此 ID。您不手动提供此字段。
    • orgId- 要为其创建策略的用户的成员资格服务提供商 (membership service provider,MSP) ID。
    • userId- 要为其创建策略的用户的用户名或电子邮件 ID。
    • kycCompliance –一个布尔值,指示帐户是否满足 KYC(了解您的客户)要求。
    • amlCompliance –一个布尔值,指示帐户是否满足 AML(反洗钱)要求。
    • 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 AdminToken AuditorOrg AdminOrg 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 AdminOrg Admin 调用。
updateAccountPolicyCheck(asset: AccountPolicyCheck)
参数:
  • asset: AccountPolicyCheck class- 定义帐户策略参数的类,其中包括以下字段:
    • accountPolicyId- 唯一的帐户策略 ID。
    • orgId- 要为其创建策略的用户的成员资格服务提供商 (membership service provider,MSP) ID。
    • userId- 要为其创建策略的用户的用户名或电子邮件 ID。
    • kycCompliance –一个布尔值,指示帐户是否满足 KYC(了解您的客户)要求。
    • amlCompliance –一个布尔值,指示帐户是否满足 AML(反洗钱)要求。
    • 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 AdminOrg 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 AdminToken AuditorOrg AdminOrg 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 AdminOrg 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 AdminOrg 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 AdminOrg 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 AdminOrg 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 AdminOrg 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 AdminToken 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
    }
}