批發 CBDC 的 TypeScript 方法
批發 CBDC 鏈碼包含通用權杖分類架構 NFT 鏈碼中所有可用的 TypeScript 方法。此外,也提供批發 CBDC 方案特定的下列其他方法。
如需有關一般權杖分類架構方法的詳細資訊,請參閱 Blockchain App Builder for Oracle Blockchain Platform 中的 Scaffolded TypeScript Project for Token Taxonomy Framework 。
附註:
在批發 CBDC 鏈碼中,createAccount 方法與一般版本的行為不同,如下資訊所示。
批發 CBDC 的 TypeScript 方法
已修改批發 CBDC 模型的下列 API。
-
createAccount - 這個方法會為指定的使用者與記號建立帳號。必須為任何需要記號的使用者建立帳戶。科目可追蹤餘額、保留餘額及交易歷史記錄。帳戶 ID 的形成方式是連結資產類型和權杖 ID,然後建立 SHA-256 雜湊以串連組織 ID 和使用者 ID。只有鏈碼的
Token Admin才能呼叫此方法。 public async createAccount(org_id: string, user_id: string, token_type: string, application_groups: string[], daily_limits?: DailyLimits)- 參數:
orgId– 要為其建立帳戶之使用者的會員服務提供者 (MSP) ID。ID 必須以數字或英文字母字元為開頭,而且可以包含英文字母、數字以及特殊字元,例如底線 (_)、句號 (.)、@ 符號以及連字號 (-)。userId– 使用者的使用者名稱或電子郵件 ID。ID 必須以數字或英文字母字元為開頭,而且可以包含英文字母、數字以及特殊字元,例如底線 (_)、句號 (.)、@ 符號以及連字號 (-)。tokenType: TokenType– 記號的類型,必須是fungible。application_groups: string[]– 使用者 ID 所屬的應用程式群組清單,在 CBDC 應用程式中定義使用者的關聯。daily_limits: DailyLimits– 下列類型的 JSON 物件。
在範例中,{ "max_daily_amount": 100000 "max_daily_transactions": 10000 }max_daily_amount值是每日可交易的記號數量上限,而max_daily_transactions值是每日可完成的交易數上限。endorsers: string[]– 必須為交易背書的對等體陣列 (例如peer1、peer2)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 188 } }
-
setApplicationGroups - 此方法會在 API 中指定之應用程式群組的帳戶詳細資訊中設定
application_groups參數。只有指定的組織之Token Admin或Org Admin才能呼叫此方法。 public async setApplicationGroups (org_id: string, user_id: string, token_id: string, application_groups: string[])- 參數:
org_id: string– 目前組織中使用者的會員服務提供者 (MSP) ID。user_id: string– 使用者的使用者名稱或電子郵件 ID。token_id: string– 記號的 ID。application_groups: string[]– 使用者 ID 所屬的應用程式群組清單,在 CBDC 應用程式中定義使用者的關聯。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 188 } } -
getAllActiveAccounts - 此方法會傳回與指定權杖 ID 相關聯的所有作用中帳戶。所有使用者都可以呼叫此方法。
public async getAllActiveAccounts(token_id: string)- 參數:
token_id: string– 記號的 ID。
- 傳回值:
- 成功時,包含使用者詳細資訊的訊息。輸出會根據使用者的角色而有所不同,如下列範例所示。
- 傳回值範例 (權杖管理員、權杖稽核員):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" } } ], "encode": "JSON" } } - 傳回值範例 (組織管理、組織稽核者):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "org_id": "CB", "user_id": "admin_user_cb", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } } - 傳回值範例 (所有其他使用者):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "org_id": "CB", "user_id": "admin_user_cb", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } } -
getAllSuspendedAccounts - 這個方法會傳回與指定記號 ID 相關聯的所有暫停帳戶。所有使用者都可以呼叫此方法。
func (t *Controller) GetAllSuspendedAccounts(token_id string) (interface{}, error)- 參數:
token_id: string– 記號的 ID。
- 傳回值:
- 成功時,包含使用者詳細資訊的訊息。輸出會根據使用者的角色而有所不同,如下列範例所示。
- 傳回值範例 (權杖管理員、權杖稽核員):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "assetType": "oaccount", "bapAccountVersion": 1, "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "user_id": "user1_fi1", "org_id": "FI1", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 5, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "Org_Users" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" } } ], "encode": "JSON" } } - 傳回值範例 (組織管理、組織稽核者):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "org_id": "FI1", "user_id": "user1_fi1", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } } - 傳回值範例 (所有其他使用者):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "org_id": "FI1", "user_id": "user1_fi1", "token_id": "USD" } } ], "encode": "JSON" } } -
getBurnQuantity - 此方法會傳回指定組織的燒錄記號總數量。只有
Token Admin、Token Auditor或具有燒錄機角色的使用者才能呼叫此方法。 public async getBurnQuantity(token_id: string)- 參數:
token_id: string– 記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "burnt_quantity": 31 }, "encode": "JSON" } } -
getActionHistory - 此方法會擷取呼叫程式針對 mint、 burn 和 transfer (issuance) 作業所進行的核准或拒絕歷史記錄,包括組織的詳細資訊,以及相關帳戶的使用者 ID (寄件者、收件者和公證人)。
public async getActionHistory(token_id: string)- 參數:
token_id: string– 記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c", "from_org_id": "CB", "from_user_id": "retirer_user_cb", "holding_id": "ohold~cbdc~USD~eaf6", "holding_status": "REJECT_BURN", "last_updated_time": "2024-11-26T21:43:22.000Z", "notary_account_id": null, "notary_org_id": null, "notary_user_id": null, "operation_id": null, "quantity": 3, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "to_user_id": null, "token_id": "USD", "token_name": null }, { "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c", "from_org_id": "CB", "from_user_id": "retirer_user_cb", "holding_id": "ohold~cbdc~USD~0031", "holding_status": "REJECT_BURN", "last_updated_time": "2024-11-26T21:43:15.000Z", "notary_account_id": null, "notary_org_id": null, "notary_user_id": null, "operation_id": null, "quantity": 2, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "to_user_id": null, "token_id": "USD", "token_name": null } ], "encode": "JSON" } } -
getPendingIssuance - 此方法會擷取將來電者指派為核准者的所有待發放 (調動) 異動,包括組織的詳細資料,以及涉及帳戶的使用者 ID (寄件者、接收者與公證人)。只有鏈碼的
Token Admin或Token Auditor、指定組織的Org Admin或Org Auditor或Notary才能呼叫此方法。 public async getPendingIssuance(token_id: string)- 參數:
token_id: string– 記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "asset_type": "ONHOLD", "category": "category value", "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "from_org_id": "CB", "from_user_id": "creator_user_cb", "holding_id": "ohold~cbdc~USD~8e314", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "notary_org_id": "CB", "notary_user_id": "manager_user_cb", "operation_id": "8e314", "quantity": 10, "timetoexpiration": "0", "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142", "to_org_id": "FI1", "to_user_id": "officer_user1_fi1", "token_id": "USD", "token_name": "cbdc" }, { "asset_type": "ONHOLD", "category": "category value", "from_account_id": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594", "from_org_id": "CB", "from_user_id": "issuer_user_cb", "holding_id": "ohold~cbdc~USD~8e315", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "notary_org_id": "CB", "notary_user_id": "manager_user_cb", "operation_id": "8e315", "quantity": 10, "timetoexpiration": "0", "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142", "to_org_id": "FI1", "to_user_id": "officer_user1_fi1", "token_id": "USD", "token_name": "cbdc" } ], "encode": "JSON" } } -
getPendingRequest - 此方法會擷取指定類型的所有待處理要求,其中呼叫者被指派為核准者。只有鏈碼的
Token Admin或Token Auditor、指定組織的Org Admin或Org Auditor或Notary才能呼叫此方法。 public async getPendingRequest(token_id: string, request_type: string)- 參數:
token_id: string– 記號的 ID。request_type: string– 交易類型。例如,mint或burn。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "valueJson": { "assetType": "ohold", "holding_id": "ohold~cbdc~USD~op123", "operation_id": "op123", "token_id": "USD", "token_name": "cbdc", "operation_type": "mint", "status": "pending", "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "to_account_id": "", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "quantity": 10, "time_to_expiration": "0", "category": "category value", "description": "description value" } } ], "encode": "JSON" } } -
getTotalBalanceByCallerOrgId - 此方法會擷取呼叫者組織的總結餘。它可以由
Token Admin、Token Auditor、Org Admin、Org Auditor或任何帳戶擁有者呼叫。 public async getTotalBalanceByCallerOrgId()- 參數:
token_id: string– 記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "totalBalance": 704 } ], "encode": "JSON" } } -
getTransactionWithBlockNumber - 此方法會傳回指定交易 ID 之交易的詳細資料。
public async getTransactionWithBlockNumber(token_id: string, transaction_id: string)- 參數:
token_id: string– 記號的 ID。transaction_id: string– 交易的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "blockNo": 82, "key": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b", "metadata": null, "txnNo": 0, "value": null, "valueJson": { "assetType": "otransaction", "transaction_id": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b", "token_id": "USD", "from_account_id": "", "from_account_balance": 0, "from_account_onhold_balance": 0, "to_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "to_account_balance": 100, "to_account_onhold_balance": 0, "transaction_type": "REQUEST_MINT", "amount": 200, "timestamp": "2024-11-20T06:48:42.000Z", "number_of_sub_transactions": 0, "holding_id": "", "sub_transaction": "false", "description": "" } } ], "encode": "JSON" } }
批發 CBDC 的 TypeScript SDK 方法
已修改批發 CBDC 模型的下列 SDK 方法。
-
createAccount - 這個方法會為指定的使用者與記號建立帳號。必須為任何需要記號的使用者建立帳戶。科目可追蹤餘額、保留餘額及交易歷史記錄。帳戶 ID 的形成方式是連結資產類型和權杖 ID,然後建立 SHA-256 雜湊以串連組織 ID 和使用者 ID。
this.Ctx.Account.createAccount(org_id, user_id, token_type, application_groups, daily_limits)- 參數:
orgId– 要為其建立帳戶之使用者的會員服務提供者 (MSP) ID。ID 必須以數字或英文字母字元為開頭,而且可以包含英文字母、數字以及特殊字元,例如底線 (_)、句號 (.)、@ 符號以及連字號 (-)。userId– 使用者的使用者名稱或電子郵件 ID。ID 必須以數字或英文字母字元為開頭,而且可以包含英文字母、數字以及特殊字元,例如底線 (_)、句號 (.)、@ 符號以及連字號 (-)。tokenType: TokenType– 記號的類型,必須是fungible。application_groups: string[]– 使用者 ID 所屬的應用程式群組清單,在 CBDC 應用程式中定義使用者的關聯。daily_limits: DailyLimits– 下列類型的 JSON 物件。
在範例中,{ "max_daily_amount": 100000 "max_daily_transactions": 10000 }max_daily_amount值是每日可交易的記號數量上限,而max_daily_transactions值是每日可完成的交易數上限。endorsers: string[]– 必須為交易背書的對等體陣列 (例如peer1、peer2)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 188 } }
-
setApplicationGroups - 此方法會在 API 中指定之應用程式群組的帳戶詳細資訊中設定
application_groups參數。 this.Ctx.Account.setApplicationGroups (account_id, application_groups)- 參數:
account_id: string– 帳戶的 ID。application_groups: string[]– 使用者 ID 所屬的應用程式群組清單,在 CBDC 應用程式中定義使用者的關聯。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 188 } } -
getAllActiveAccounts - 此方法會傳回與指定權杖 ID 相關聯的所有作用中帳戶。
this.Ctx.CBDCToken.getAllActiveAccounts(token_id)- 參數:
token_id: string– 記號的 ID。
- 傳回值:
- 成功時,包含使用者詳細資訊的訊息。輸出會根據使用者的角色而有所不同,如下列範例所示。
- 傳回值範例 (權杖管理員、權杖稽核員):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" } } ], "encode": "JSON" } } - 傳回值範例 (組織管理、組織稽核者):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "org_id": "CB", "user_id": "admin_user_cb", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } } - 傳回值範例 (所有其他使用者):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "org_id": "CB", "user_id": "admin_user_cb", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } } -
getAllSuspendedAccounts - 這個方法會傳回與指定記號 ID 相關聯的所有暫停帳戶。
this.Ctx.CBDCToken.getAllSuspendedAccounts(token_id)- 參數:
token_id: string– 記號的 ID。
- 傳回值:
- 成功時,包含使用者詳細資訊的訊息。輸出會根據使用者的角色而有所不同,如下列範例所示。
- 傳回值範例 (權杖管理員、權杖稽核員):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "assetType": "oaccount", "bapAccountVersion": 1, "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "user_id": "user1_fi1", "org_id": "FI1", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 5, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "Org_Users" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" } } ], "encode": "JSON" } } - 傳回值範例 (組織管理、組織稽核者):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "org_id": "FI1", "user_id": "user1_fi1", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } } - 傳回值範例 (所有其他使用者):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "org_id": "FI1", "user_id": "user1_fi1", "token_id": "USD" } } ], "encode": "JSON" } } -
getBurnQuantity - 此方法會傳回指定組織的燒錄記號總數量。
this.Ctx.CBDCToken.getBurnQuantity(token_id)- 參數:
token_id: string– 記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "burnt_quantity": 31 }, "encode": "JSON" } } -
getActionHistory - 此方法會擷取呼叫程式針對 mint、 burn 和 transfer (issuance) 作業所進行的核准或拒絕歷史記錄,包括組織的詳細資訊,以及相關帳戶的使用者 ID (寄件者、收件者和公證人)。
this.Ctx.CBDCToken.getActionHistory(token_id)- 參數:
token_id: string– 記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c", "from_org_id": "CB", "from_user_id": "retirer_user_cb", "holding_id": "ohold~cbdc~USD~eaf6", "holding_status": "REJECT_BURN", "last_updated_time": "2024-11-26T21:43:22.000Z", "notary_account_id": null, "notary_org_id": null, "notary_user_id": null, "operation_id": null, "quantity": 3, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "to_user_id": null, "token_id": "USD", "token_name": null }, { "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c", "from_org_id": "CB", "from_user_id": "retirer_user_cb", "holding_id": "ohold~cbdc~USD~0031", "holding_status": "REJECT_BURN", "last_updated_time": "2024-11-26T21:43:15.000Z", "notary_account_id": null, "notary_org_id": null, "notary_user_id": null, "operation_id": null, "quantity": 2, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "to_user_id": null, "token_id": "USD", "token_name": null } ], "encode": "JSON" } } -
getPendingIssuance - 此方法會擷取將來電者指派為核准者的所有待發放 (調動) 異動,包括組織的詳細資料,以及涉及帳戶的使用者 ID (寄件者、接收者與公證人)。
this.Ctx.CBDCToken.getPendingIssuance(token_id)- 參數:
token_id: string– 記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "asset_type": "ONHOLD", "category": "category value", "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "from_org_id": "CB", "from_user_id": "creator_user_cb", "holding_id": "ohold~cbdc~USD~8e314", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "notary_org_id": "CB", "notary_user_id": "manager_user_cb", "operation_id": "8e314", "quantity": 10, "timetoexpiration": "0", "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142", "to_org_id": "FI1", "to_user_id": "officer_user1_fi1", "token_id": "USD", "token_name": "cbdc" }, { "asset_type": "ONHOLD", "category": "category value", "from_account_id": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594", "from_org_id": "CB", "from_user_id": "issuer_user_cb", "holding_id": "ohold~cbdc~USD~8e315", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "notary_org_id": "CB", "notary_user_id": "manager_user_cb", "operation_id": "8e315", "quantity": 10, "timetoexpiration": "0", "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142", "to_org_id": "FI1", "to_user_id": "officer_user1_fi1", "token_id": "USD", "token_name": "cbdc" } ], "encode": "JSON" } } -
getPendingRequest - 此方法會擷取指定類型的所有待處理要求,其中呼叫者被指派為核准者。
this.Ctx.CBDCToken.getPendingRequest(token_id, request_type)- 參數:
token_id: string– 記號的 ID。request_type: string– 交易類型。例如,mint或burn。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "valueJson": { "assetType": "ohold", "holding_id": "ohold~cbdc~USD~op123", "operation_id": "op123", "token_id": "USD", "token_name": "cbdc", "operation_type": "mint", "status": "pending", "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "to_account_id": "", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "quantity": 10, "time_to_expiration": "0", "category": "category value", "description": "description value" } } ], "encode": "JSON" } } -
getTotalBalanceByCallerOrgId - 此方法會擷取呼叫者組織的總結餘。
this.Ctx.CBDCToken.getTotalBalanceByCallerOrgId()- 參數:
token_id: string– 記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "totalBalance": 704 } ], "encode": "JSON" } } -
getTransactionWithBlockNumber - 此方法會傳回指定交易 ID 之交易的詳細資料。
this.Ctx.CBDCToken.getTransactionWithBlockNumber(token_id, transaction_id)- 參數:
token_id: string– 記號的 ID。transaction_id: string– 交易的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "blockNo": 82, "key": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b", "metadata": null, "txnNo": 0, "value": null, "valueJson": { "assetType": "otransaction", "transaction_id": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b", "token_id": "USD", "from_account_id": "", "from_account_balance": 0, "from_account_onhold_balance": 0, "to_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "to_account_balance": 100, "to_account_onhold_balance": 0, "transaction_type": "REQUEST_MINT", "amount": 200, "timestamp": "2024-11-20T06:48:42.000Z", "number_of_sub_transactions": 0, "holding_id": "", "sub_transaction": "false", "description": "" } } ], "encode": "JSON" } }