有趣的權杖架構包裝程式 API 套件

Oracle Blockchain Platform Digital Assets Edition 包含一個包裝函式 API 套件,可擴充 REST API 以支援存款權杖案例特定的作業。

包裝程式 API 套件使用 API 閘道服務和 OCI 函數來部署專為存款權杖應用程式設計的 API 路由。您可以從 Oracle Blockchain Platform 主控台下載有趣的權杖架構包裝函式 API 套件,並包含下列元件。
  • DepositTokenWrapperAPI.zip,包含包裝函式 API 套件的封存檔案,包含部署所需的 Terraform 指令碼。您可以將此檔案部署到 Oracle Cloud Infrastructure (OCI) 上的資源管理程式堆疊,以為包裝函式 API 建立必要的 Oracle 資源。
  • DepositToken_WrapperAPI.postman_collection.json - Postman 集合,可讓您測試已部署的包裝函式 API。此集合包含預先設定的要求,其端點和有效負載與包裝函式 API 套裝程式中定義的 API 相對應。

包裝函式 API

activateAccount
原始方法名稱:activateAccount
此 POST 方法會啟用權杖帳戶。此方法只能由指定組織的 Token AdminOrg Admin 呼叫。對於在帳戶狀態功能之前建立的任何帳戶,您必須呼叫此方法,才能查看帳戶狀態為有效。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值:
  • 成功時,指定記號帳戶之帳戶狀態物件的 JSON 表示法。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925",
        "payload": {
            "assetType": "oaccountStatus",
            "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae",
            "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
            "status": "active"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 194
    }
}
addTokenAdmin
原始方法名稱:addTokenAdmin
此 POST 方法會將使用者新增為鏈碼的 Token Admin。此方法只能由鏈碼的 Token Admin 呼叫。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值:
  • 成功時,包含以鏈碼 Token Admin 新增之使用者明細的訊息。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "User (Org_Id: CB, User_Id: cb) is already Token Admin."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
addTokenAuditor
此 POST 方法會將使用者新增為鏈碼的 Token Auditor。此方法只能由鏈碼的 Token Admin 呼叫。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值:
  • 成功時,包含以鏈碼 Token Auditor 新增之使用者明細的訊息。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "cd81f6c4c9e7c18ece357dbf5c139ef66ef2d6566be3b14de5f6d0a3fd4bb2f0",
        "payload": {
            "msg": "Successfully added Token Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 196
    }
}
addOrgAdmin
原始方法名稱:addOrgAdmin
此 POST 方法會將使用者新增為鏈碼的 Token Admin。只有鏈碼的 Token Admin 或指定組織的 Org Admin 才能呼叫此方法。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值:
  • 成功時,包含以鏈碼 Org Admin 新增之使用者明細的訊息。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "96a84dffcb9156f7271dfb414e8c43b540595044cf9145f5fd56e9873797fc4a",
        "payload": {
            "msg": "Successfully added Org Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 197
    }
}
addOrgAuditor
此 POST 方法會將使用者新增為鏈碼的 Org Auditor。只有鏈碼的 Token Admin 或指定組織的 Org Admin 才能呼叫此方法。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值:
  • 成功時,包含以鏈碼 Org Auditor 新增之使用者明細的訊息。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "44bbad35a1478cb714e32f7cfd551897868a203520aab9cea5771d3aadc1cf03",
        "payload": {
            "msg": "Successfully added Org Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 198
    }
}
addRole
原始方法名稱:addRole
這個方法會將角色新增至指定的使用者和記號。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "role": "role value (for example minter / burner / notary)",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
參數:
  • tokenId: string – 記號的 ID。
  • role: string – 要新增至指定使用者的角色名稱。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "29ea766dee8e6d273eba3c40a9fea75a1aa85dc3c280d40695f6224c5c52d93c",
        "payload": {
            "msg": "Successfully added role 'notary' to Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 201
    }
}
approveMint
原始方法名稱:approveMint
Notaries 可以呼叫此 POST 方法來核准 mint 要求。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
參數:
  • tokenId: string – 記號的 ID。
  • operationId: string – 要核准之 Mint 要求的唯一作業 ID。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
        "payload": {
            "msg": "Successfully minted 10 tokens to Account Id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 204
    }
}
executeHoldTokens
原始方法名稱:executeHoldTokens
Notaries 呼叫此方法來核准對記號的保留。權杖擁有者之前保留的權杖數量現在已移轉給收件者。如果 quantity 值小於實際保留值,則記號的擁有者可以再次使用剩餘金額。如果在記號模型的 behaviors 區段中指定 roles 行為,且已設定 notary_role_name 值,則呼叫者帳戶必須具有公證人角色。否則,任何具有帳戶的來電者都可以作為公證人。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "quantity": 1,
    "endorsers": {{endorsers}}
}
參數:
  • tokenId: string – 記號的 ID。
  • operationId: string – 要核准之 Mint 要求的唯一作業 ID。
  • quantity: number – 要轉移的保留記號數目。
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "c1149aaa486abc4931d9024c18dfcb230bb321723d1160b0bf981c0011c4856a",
        "payload": {
            "msg": "Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb) is successfully executed '10' tokens from Operation Id '8e3145'."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 213
    }
}
associateTokenToAccount
原始方法名稱:associateTokenToAccount
此 POST 方法會將指定的帳戶 ID 與指定的權杖建立關聯。Token AdminOrg Admin 可以呼叫它。
有效負載:
{
    "accountId": "account_id value",
    "tokenId": "{{bc-token-id}}",
    "endorsers": {{endorsers}}
}
參數:
  • accountId: string – 帳戶的 ID。
  • tokenId: string – 記號的 ID。
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "efc7381fb6fc6174a40e83ff5f09d2bbf7f6f490365e3bbf19d5502c2cfec474",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~1c6aa60e220b8fc70caf4cea1ed723ddb193a00321e5e0004def062816b77090",
            "user_id": "cb12",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-11T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 216
    }
}
createAccount
原始方法名稱:createAccount
此方法會為指定的使用者和記號建立帳戶。必須為任何需要記號的使用者建立帳戶。帳戶 ID 是透過串連資產類型和記號 ID,然後透過組織 ID 和使用者 ID 的串連建立 SHA-256 雜湊來形成。只有鏈碼的 Token Admin 或指定組織的 Org Admin 才能呼叫此方法。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenType": "fungible",
    "dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
    "endorsers": {{endorsers}}
}
參數:
  • orgId – 要建立帳戶之使用者的成員身分服務提供者 (MSP) ID。ID 必須以數字或英文字母字元為開頭,而且可以包含英文字母、數字以及特殊字元,例如底線 (_)、句號 (.)、at 符號 (@) 以及連字號 (-)。
  • userId – 使用者的使用者名稱或電子郵件 ID。ID 必須以數字或英文字母字元為開頭,而且可以包含英文字母、數字以及特殊字元,例如底線 (_)、句號 (.)、at 符號 (@) 以及連字號 (-)。
  • tokenType: TokenType – 記號的類型,必須是 fungible
  • daily_limits: DailyLimits – 下列類型的 JSON 物件。
    {
         "max_daily_amount": 100000
         "max_daily_transactions": 10000
     }
    在此範例中,max_daily_amount 值是每日可交易的記號數目上限,而 max_daily_transactions 值是每日可完成的交易數目上限。
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "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,
            "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
    }
}
getAccount
原始方法名稱:getAccount
此方法會傳回指定使用者的帳戶詳細資訊。只有鏈碼的 Token Admin 或帳戶的 Account Owner 才能呼叫此方法。
查詢:
/getAccount?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "status": "active",
            "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,
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 1000,
            "daily_transactions": 0,
            "current_date": "2024-11-20T00:00:00.000Z"
        },
        "encode": "JSON"
    }
}
getAccountBalance
原始方法名稱:getAccountBalance
此 GET 方法會傳回指定科目與變數替代字的目前餘額。只有帳戶的 Token AdminAccountOwner 才能呼叫此方法。
/getAccountBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Current Balance is: 100",
            "user_balance": 100
        },
        "encode": "JSON"
    }
}
getAccountsByUser
原始方法名稱:getAccountsByUser
此方法會傳回指定使用者的所有帳戶清單。只有鏈碼的 Token Admin 或帳戶的 Account Owner 才能呼叫此方法。
查詢:
/getAccountsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "bapAccountVersion": 0,
                "assetType": "oaccount",
                "account_id": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
                "user_id": "admin_user_cb",
                "org_id": "CB",
                "token_type": "fungible",
                "token_id": "",
                "token_name": "",
                "balance": 0,
                "onhold_balance": 0,
                "max_daily_amount": 10000,
                "daily_amount": 0,
                "max_daily_transactions": 1000,
                "daily_transactions": 0,
                "current_date": "2024-11-20T00:00:00.000Z"
            },
            {
                "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,
                "max_daily_amount": 10000,
                "daily_amount": 0,
                "max_daily_transactions": 1000,
                "daily_transactions": 0,
                "current_date": "2024-11-20T00:00:00.000Z"
            },
            {
                "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,
                "max_daily_amount": 10000,
                "daily_amount": 0,
                "max_daily_transactions": 100,
                "daily_transactions": 0,
                "current_date": "2024-12-09T00:00:00.000Z"
            }
        ],
        "encode": "JSON"
    }
}
getAccountTransactionHistory
原始方法名稱:getAccountTransactionHistory
此 GET 方式會傳回科目交易歷史記錄。只有鏈碼的 Token Admin 或帳戶擁有者才能呼叫此方法。
/getAccountTransactionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:37:28.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REJECT_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:32.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "APPROVE_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:18.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:35:46.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            }
        ],
        "encode": "JSON"
    }
}
getAccountTransactionHistoryWithFiltersFromRichHistDB
原始方法名稱:getAccountTransactionHistoryWithFiltersFromRichHistDB
此方法會從 RTF 歷史記錄資料庫傳回帳戶交易歷史記錄明細。只有帳戶的 Token AdminAccountOwner 才能呼叫此方法。使用此方法之前,您必須先執行 Oracle Autonomous Database 並啟用 Oracle REST Data Services (ORDS) 和 OAuth,如 Oracle Database View Definitions for Wholesale CBDC 中所述。
/getAccountTransactionHistoryWithFiltersFromRichHistDB?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}&customEndpoint=custom_endpoint value&bearerToken=bearer_token value&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • customEndpoint – 擷取交易歷史記錄之 Rich History 資料庫的 RESTful 服務端點。
  • bearerToken – 用於呼叫 RESTful 端點,以確保要求獲得授權的記號。
  • filters: string – 選擇性參數。如果空白,則會傳回所有記錄。PageSize 特性決定要傳回的記錄數目。如果 PageSize 為 0,則預設頁面大小為 20。Bookmark 特性決定要傳回之記錄的開始索引。必須以 RFC-3339 格式指定 StartTimeEndTime 特性。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:37:28.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REJECT_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:32.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "APPROVE_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:18.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:35:46.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            }
        ],
        "encode": "JSON"
    }
}
getNetTokens
原始方法名稱:getNetTokens
此 GET 方法會傳回系統中指定記號可用的記號總數。網路記號總計是記號燒錄之後剩餘的記號量。只有鏈碼的 Token Admin 或指定組織的 Org Admin 才能呼叫此方法。
/getNetCBDCTokens?tokenId={{bc-token-id}}
參數:
  • tokenId: string – 記號的 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Net supply of token for Token Id: USD is 878 tokens.",
            "quantity": 878
        },
        "encode": "JSON"
    }
}
getOnHoldIds
原始方法名稱:getOnHoldIds
此 GET 方法會傳回指定之使用者和記號的所有保留 ID 清單。只有帳戶的 Token AdminOrg AdminAccountOwner 才能呼叫此方法。
/getOnHoldIds?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Holding Ids are: ohold~cbdc~USD~8e3147,ohold~cbdc~USD~8e315",
            "holding_ids": [
                "ohold~cbdc~USD~8e3147",
                "ohold~cbdc~USD~8e315"
            ]
        },
        "encode": "JSON"
    }
}
getTotalMintedTokens
原始方法名稱:getTotalMintedTokens
此 GET 方法會傳回指定記號的提示記號總數。此方法只能由 Token AdminOrg Admin 呼叫。
查詢:
/getTotalMintedTokens?tokenId={{bc-token-id}}
參數:
  • tokenId: string – 記號的 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Total minted token for Token Id: USD is 910 tokens.",
            "quantity": 910
        },
        "encode": "JSON"
    }
}
getUserByAccountId
原始方法名稱:getUserByAccountId
此 GET 方法會傳回指定帳戶的使用者詳細資訊。Token AdminToken AuditorOrg Auditor 可以呼叫此方法。
查詢:
/getUserByAccountId?accountId=account_id value
參數:
  • accountId: string – 帳戶的 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "token_id": "USD",
            "user_id": "admin_user_cb",
            "org_id": "CB"
        },
        "encode": "JSON"
    }
}
getUsersByRole
原始方法名稱:getUsersByRole
此方法會傳回指定角色和記號的所有使用者清單。此方法只能由 Token Admin 呼叫。
/getUsersByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary)
參數:
  • tokenId: string – 記號的 ID。
  • role: string – 要搜尋之角色的名稱。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "users": [
                {
                    "token_id": "USD",
                    "user_id": "creator_user_cb",
                    "org_id": "CB"
                },
                {
                    "token_id": "USD",
                    "user_id": "cb4",
                    "org_id": "CB"
                }
            ]
        },
        "encode": "JSON"
    }
}
holdTokens
原始方法名稱:holdTokens
此方法會代表具有 to_account_id 帳戶之記號的擁有者建立保留。指定公證人帳戶,該帳戶負責完成或解除保留。建立保留時,會保留付款人的指定變數替代字餘額。在保留完成或解除前,無法移轉保留餘額。這個方法的呼叫程式必須已經建立一個帳戶。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "toOrgId": "to_org_id value",
    "toUserId": "to_user_id value",
    "notaryOrgId": "notary_org_id value",
    "notaryUserId": "notary_user_id value",
    "quantity": 1,
    "timeToExpiration": "time_to_expiration value",
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "endorsers": {{endorsers}}
}
參數:
  • tokenId: string – 記號的 ID。
  • operationId: string – 識別保留作業的唯一 ID。通常用戶端應用程式會傳送此 ID。
  • toOrgId: string – 目前組織中接收者的成員身分服務提供者 (MSP) ID。
  • toUserId: string – 接收者的使用者名稱或電子郵件 ID。
  • notaryOrgId: string – 目前組織中公證人的會員服務提供者 (MSP) ID。
  • notaryUserId: string – 公證人的使用者名稱或電子郵件 ID。
  • quantity: number – 要保留的記號數目。
  • timeToExpiration – 保留到期的時間。指定 0 表示永久保留。否則,請使用 RFC-3339 格式。例如,2021-06-02T12:46:06Z
  • infoDetails: JSON – 說明和類別,如下列範例所示。
    {
       "category" : "category input",
       "description" : "description input"
    }
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e575d339299bb98afe83207e749cd07654f209673c84c6973738b6094da33062",
        "payload": {
            "msg": "AccountId oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB , User-Id: issuer_user_cb) is successfully holding 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 211
    }
}
init
原始方法名稱:init
部署鏈碼時會呼叫此方法。使用者資訊會儲存為鏈碼的 Token Admin
有效負載:
{
    "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]"
}
參數:
  • adminList array – 指定記號管理員清單的 {user_id, org_id} 資訊陣列。adminList 陣列是必要參數。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807",
        "payload": "",
        "encode": "UTF-8",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 263
    }
}
initializeDepositToken
原始方法名稱:initializeDepositToken
此方法會建立記號並起始記號特性。資產及其特性會儲存在狀態資料庫中。只有鏈碼的 Token Admin 才能呼叫此方法。
有效負載:
{
    "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc value\"}",
    "sameOrgEndorser": true
}
參數:
  • tokenAsset: <Token Class> – 將記號資產當作參數傳遞至此方法。模型檔案中描述了記號資產的特性。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值:
  • 成功時,所建立權杖資產的 JSON 表示法。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "aa7a4f4cc214e1a041a5a6fb7ca7530f08256559e538c9f9582e6fd12c9e65c8",
        "payload": {
            "assetType": "otoken",
            "events": false,
            "token_id": "t1",
            "token_name": "cbdc",
            "token_desc": "token_desc value",
            "token_standard": "ttf+",
            "token_type": "fungible",
            "token_unit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "holdable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner",
                "notary_role_name": "notary",
                "mint_approver_role_name": "notary",
                "burn_approver_role_name": "notary"
            },
            "mintable": {
                "max_mint_quantity": 1000,
                "mint_approval_required": true
            },
            "burnable": {
                "burn_approval_required": true
            },
            "divisible": {
                "decimal": 2
            },
            "token_to_currency_ratio": 999
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 267
    }
}
getAccountHistory
原始方法名稱:getAccountHistory
此 GET 方法會傳回指定之使用者和記號的帳戶歷史記錄詳細資訊。
查詢:
/getAccountHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
              "trxId":"2gsdh17fff222467e5667be042e33ce18e804b3e065cca15de306f837e416d7c3e",
              "timeStamp":1629718288,
              "value":{
                 "assetType":"oaccount",
                 "account_id":"oaccount~digicur~b4f45440aa2a7942db64443d047027e9d714d62cba5c3d546d64f368642f622f",
                 "user_id":"user1",
                 "org_id":"Org1MSP",
                 "token_id":"digiCurr101",
                 "token_name":"digicur",
                 "balance":100,
                 "onhold_balance":0,
                 "bapAccountVersion": 1
           },
           {
              "trxId":"9fd07fff222467e5667be042e33ce18e804b3e065cca15de306f837e416d7c3e",
              "timeStamp":1629718288,
              "value":{
                 "assetType":"oaccount",
                 "account_id":"oaccount~digicur~b4f45440aa2a7942db64443d047027e9d714d62cba5c3d546d64f368642f622f",
                 "user_id":"user1",
                 "org_id":"Org1MSP",
                 "token_id":"digiCurr101",
                 "token_name":"digicur",
                 "balance":0,
                 "onhold_balance":0,
                 "bapAccountVersion": 0
              }
           }
        ],
        "encode": "JSON"
    }
}
rejectMint
原始方法名稱:rejectMint
公證人可以呼叫此方法來拒絕探勘要求。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
參數:
  • token_id: string – 要拒絕採礦的記號 ID。
  • operation_id: string – 代表 mint 要求的唯一作業 ID。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
        "payload": {
            "msg": "Successfully rejected mint request with Operation Id 'op1234' to mint 10 tokens of token id USD"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 205
    }
}
releaseHoldTokens
原始方法名稱:releaseHoldTokens
此 POST 方法會解除權杖的保留。移轉未完成,所有保留的變數替代字都可再供原始擁有者使用。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "endorsers": {{endorsers}}
}
參數:
  • token_id: string – 記號的 ID。
  • operation_id: string – 識別保留作業的唯一 ID。通常用戶端應用程式會傳送此 ID。
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "f04ba8895d52bc636d843f88476002bc99d01480c36be87c8fa259cd47a29380",
        "payload": {
            "msg": "Successfully released '10' tokens from Operation Id '8e3144' to Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb)."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 214
    }
}
removeTokenAdmin
原始方法名稱:removeTokenAdmin
此 POST 方法會移除使用者作為鏈碼的 Token Admin。此方法只能由鏈碼的 Token Admin 呼叫。管理員無法移除自己。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
參數:
  • org_id: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • user_id: string – 使用者的使用者名稱或電子郵件 ID。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "6a3b9b568d04b5beb29830f91efe4e8c6310b6cf36940cecfb4ab690fbfde739",
        "payload": {
            "msg": "Successfully removed Token Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 218
    }
}
removeTokenAuditor
原始方法名稱:removeTokenAuditor
此 POST 方法會移除使用者作為鏈碼的 Token Auditor。此方法只能由鏈碼的 Token Admin 呼叫。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
參數:
  • org_id: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • user_id: string – 使用者的使用者名稱或電子郵件 ID。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "a886a6040fbc76374a3c78c89ab0ffc9f7b8391cc5239b169bf3b878cf40c67b",
        "payload": {
            "msg": "Successfully removed Token Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 219
    }
}
removeOrgAdmin
原始方法名稱:removeOrgAdmin
此 POST 方法會移除使用者作為鏈碼的 Org Admin。此方法只能由指定組織的 Token AdminOrg Admin 呼叫。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
參數:
  • org_id: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • user_id: string – 使用者的使用者名稱或電子郵件 ID。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e2a634f6093f89b1984e20ff86a513fabb7c3ade7cc9e27d9734b4aaf6c88597",
        "payload": {
            "msg": "Successfully removed Org Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 220
    }
}
removeOrgAuditor
原始方法名稱:removeOrgAuditor
此 POST 方法會移除使用者作為鏈碼的 Org Auditor。此方法只能由指定組織的 Token AdminOrg Admin 呼叫。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
參數:
  • org_id: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • user_id: string – 使用者的使用者名稱或電子郵件 ID。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "c3bc720461004a53b37c68d4bb264858b88d980bc093a0a3ebb62a32974fb306",
        "payload": {
            "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 221
    }
}
removeRole
原始方法名稱:removeRole
此方法會從指定的使用者移除角色。只有鏈碼的 Token Admin 或指定組織的 Org Admin 才能呼叫此方法。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "role": "role value (for example minter / burner / notary)",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
參數:
  • tokenId: string – 記號的 ID。
  • role: string – 要從指定使用者移除的角色名稱。mintableburnable 行為對應規格檔案的 minter_role_nameburner_role_name 特性。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "274f0d0a2c4c3929817fb85b2e857519695c3c238ccf9903b084b87e9be7ee12",
        "payload": {
            "msg": "Successfully removed role 'notary' from Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 200
    }
}
requestMint
原始方法名稱:requestMint
礦工可以呼叫此方法,將請求傳送給公證人,以建立指定數量的記號。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "notaryOrgId": "notary_org_id value",
    "notaryUserId": "notary_user_id value",
    "quantity": 1,
    "timeToExpiration": "time_to_expiration value",
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "sameOrgEndorser": true
}
參數:
  • tokenId: string – 要提示之記號的 ID。
  • operationId: string – 代表 mint 要求的唯一作業 ID。
  • notaryOrgId: string – 將處理要求之礦工公證人的會員服務提供者 (MSP) ID。
  • notaryUserId: string – 將處理要求之礦工公證人的使用者名稱或電子郵件 ID。
  • quantity: number – 要提示的記號數量。
  • timeToExpiration – 採礦要求到期且不再有效的時間。
  • infoDetails: JSON – 指定要求之類別 (category) 和描述 (description) 的物件,如下列範例所示。
    {
         "category" : "category input",
         "description" : "description input"
    }
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
        "payload": {
            "msg": "AccountId oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB , User-Id: creator_user_cb) has successfully submitted request to mint 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 202
    }
}
burnTokens
原始方法名稱:burnTokens
此 POST 方法會停用或燒錄交易呼叫程式帳戶中的記號。這個方法的呼叫程式必須具有帳戶和燒錄機角色。數量必須在規格檔案中 divisible 行為的 decimal 參數所指定的小數值內。帳戶的 AccountOwner 可以透過 burner 角色呼叫此方法。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "quantity": 1,
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "sameOrgEndorser": true
}
參數:
  • tokenId: string – 記號的 ID。
  • quantity – 要燒錄的記號數目。
  • infoDetails: JSON – 指定要求之類別 (category) 和描述 (description) 的物件,如下列範例所示。
    {
         "category" : "category input",
         "description" : "description input"
    }
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值:
  • 成功時,會產生一個成功訊息,其中包含已燒錄的記號數量和帳戶 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "aff0b2dbb163ec8076747525db81fbe8f678ac88a277c5f234337f0747eb1a8d",
        "payload": {
            "msg": "Successfully burned 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 96
    }
}
setMaxDailyAmount
原始方法名稱:setMaxDailyAmount
此 POST 方法是用來設定指定金額之帳戶詳細資訊中的 maxDailyAmount 參數。只有鏈碼的 Token Admin 或指定組織的 Org Admin 才能呼叫此方法。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "maxDailyAmount": 1,
    "endorsers": {{endorsers}}
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • tokenId: string – 記號的 ID。
  • maxDailyAmount: number – 指定帳戶的每日金額上限值,定義每日可交易的金額上限。
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "28682e0564e4721b6c1a8ec106f8c5c98319e9439959dbb9f83d8e6f111d9975",
        "payload": {
            "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,
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 1000,
            "daily_transactions": 0,
            "current_date": "2024-11-20T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 222
    }
}
setMaxDailyTransactionCount
原始方法名稱:setMaxDailyTransactionCount
此 POST 方法是用來設定指定金額之帳戶詳細資訊中的 maxDailyTransactions 參數。只有鏈碼的 Token Admin 或指定組織的 Org Admin 才能呼叫此方法。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "maxDailyTransactions": 1,
    "endorsers": {{endorsers}}
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • tokenId: string – 記號的 ID。
  • maxDailyTransactions: number – 指定帳戶的每日金額上限值,定義每日允許的交易數上限。
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "8b6fb01de697562ee098110054f05d4a314933bd11ef471991cb43e25b68bad9",
        "payload": {
            "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,
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 1000,
            "daily_transactions": 0,
            "current_date": "2024-11-20T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 223
    }
}
suspendAccount
原始方法名稱:suspendAccount
此方法會暫停有趣的權杖帳戶。如果在分類帳中找不到 accountStatus 值,則會發出錯誤。只有鏈碼的 Token Admin 或指定組織的 Org Admin 才能呼叫此方法。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294",
        "payload": {
            "assetType": "oaccountStatus",
            "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae",
            "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
            "status": "suspended"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 195
    }
}
transferTokens
原始方法名稱:transferTokens
此方法會將記號從呼叫程式轉移至指定的帳戶。方法的呼叫程式必須有一個帳戶。數量必須在規格檔案中 divisible 行為的 decimal 參數所指定的小數值內。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "toOrgId": "to_org_id value",
    "toUserId": "to_user_id value",
    "quantity": 1,
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "endorsers": {{endorsers}}
}
參數:
  • tokenId: string – 記號的 ID。
  • toOrgId: string – 目前組織中接收者 (受款人) 的會員服務提供者 (MSP) ID。
  • toUserId: string – 接收者的使用者名稱或電子郵件 ID。
  • quantity: number – 要傳輸的記號數目。
  • infoDetails: JSON – 指定要求之類別 (category) 和描述 (description) 的物件,如下列範例所示。
    {
         "category" : "category input",
         "description" : "description input"
    }
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "d613b2494b965811b2fa2106152b7085f2d6d7d43e949b10b8668722d3636fe7",
        "payload": {
            "msg": "Successfully transferred 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb) to account id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb). Only 999 number of transactions and 1990 amount transfer left for today: 12/11/2024"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 224
    }
}
initializeExchangePoolUser
原始方法名稱:initializeExchangePoolUser
此方法會初始化交換集區使用者,這是一次性活動。此方法只能由 Token Admin 呼叫。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294",
        "payload": {
            "assetType": "oconversion",
            "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
            "org_id": "Org1MSP",
            "user_id": "exchangepooluser"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 196
    }
}
createExchangePoolAccounts
原始方法名稱:createExchangePoolAccounts
此方法會為指定的記號 ID 陣列建立交換集區記號帳戶。此方法只能由鏈碼的 Token Admin 呼叫。
有效負載:
{
    "tokenIds": "[{{bc-token-id}}]",
    "sameOrgEndorser": true
}
參數:
  • token_ids: string [] – 記號 ID 的陣列。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294",
        "payload": [
            {
                "account_id": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034",
                "token_id": "USD",
                "status": "created"
            },
            {
                "account_id": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0",
                "token_id": "INR",
                "status": "created"
            }
        ],
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 197
    }
}
addConversionRate
原始方法名稱:addConversionRate
此方法會新增一組記號的轉換率。權杖轉換率最多可指定 8 個小數位數。此方法只能由鏈碼的 Token Admin 呼叫。
有效負載:
{
    "fromTokenId": "from_token_id value",
    "toTokenId": "to_token_id value",
    "tokenConversionRate": 10,
    "sameOrgEndorser": true
}
參數:
  • fromTokenId: string – 要轉換的來源記號 ID。
  • toTokenId: string – 要轉換的目標記號 ID。
  • tokenConversionRate: number – 將 fromTokenId 記號轉換成 toTokenId 記號的速率。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294",
        "payload": {
          "assetType": "oconversionRate",
          "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
          "from_token_id": "USD",
          "to_token_id": "INR",
          "conversion_rate": 10
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 189
    }
}
updateConversionRate
原始方法名稱:updateConversionRate
此方法會更新一組記號的目前轉換率。權杖轉換率最多可指定 8 個小數位數。此方法只能由鏈碼的 Token Admin 呼叫。
有效負載:
{
    "fromTokenId": "from_token_id value",
    "toTokenId": "to_token_id value",
    "tokenConversionRate": 20,
    "sameOrgEndorser": true
}
參數:
  • fromTokenId: string – 要轉換的來源記號 ID。
  • toTokenId: string – 要轉換的目標記號 ID。
  • tokenConversionRate: number – 將 fromTokenId 記號轉換成 toTokenId 記號的速率。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294",
        "payload": {
          "assetType": "oconversionRate",
          "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
          "from_token_id": "USD",
          "to_token_id": "INR",
          "conversion_rate": 20
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 208
    }
}
mintWithFundingExchangePool
原始方法名稱:mintWithFundingExchangePool
此方法會根據指定的記號 ID 和數量來提示呼叫者帳戶中的記號。提示數量中的記號百分比會轉移到交換集區記號帳戶。
{
    "tokenId": "{{bc-token-id}}",
    "tokenQuantity": 100,
    "percentageTokenToExchangePool": 20,
    "sameOrgEndorser": true
}
參數:
  • tokenId: string – 要提示之記號的 ID。
  • tokenQuantity: number – 要提示的記號總數。
  • percentageTokenToExchangePool: number – 要轉移至交換集區記號帳戶的提示記號百分比。
  • sameOrgEndorser: boolean – 布林值,指出交易背書是否必須來自與要求者相同的組織。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294",
        "payload": {
            "msg": "Successfully minted 100 tokens to Account Id: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) and Successfully transfered 20 tokens to exchange pool Account with Account Id: oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034 (Org-Id: Org1MSP, User-Id: exchangepooluser) "
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 209
    }
}
tokenConversion
原始方法名稱:tokenConversion
此方法會將呼叫者帳戶的記號轉換成由 to_token_idto_org_idto_user_id 值指定的帳戶。鏈碼的 Token Admin 和任何記號帳戶擁有者都可以呼叫此方法。交換集區使用者無法呼叫此方法。
{
    "fromTokenId": "from_token_id value",
    "toTokenId": "to_token_id value",
    "toOrgId": "to_org_id value",
    "toUserId": "to_user_id value",
    "tokenQuantity": 5,
    "endorsers": {{endorsers}}
}
參數:
  • fromTokenId: string – 要轉換的來源記號 ID。
  • toTokenId: string – 要轉換的目標記號 ID。
  • toOrgId: string – 目前組織中接收記號之使用者的成員身分服務提供者 (MSP) ID。
  • toUserId: string – 要接收記號之使用者的使用者名稱或電子郵件 ID。
  • tokenQuantity: number – 要傳輸的記號總數。
  • endorsers: string[] – 必須為交易背書的對等陣列 (例如 peer1peer2)。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294",
        "payload": {
            "msg": "Succesfully converted 5 of tokens with tokenId: [USD] from AccountId: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) to 100 of tokens with tokenId: [INR] to AccountId: oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e (Org-Id: Org1MSP, User-Id: user) as per the conversion rate of 20"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 213
    }
}
getConversionRate
原始方法名稱:getConversionRate
此 GET 方法會取得一組記號的目前轉換率。Token AdminToken AuditorOrg AdminOrg Auditor 可以呼叫此方法。
查詢:
/getConversionRate?fromTokenId=from_token_id value&toTokenId=to_token_id value
參數:
  • fromTokenId: string – 要轉換的來源記號 ID。
  • toTokenId: string – 要轉換的目標記號 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
          "assetType": "oconversionRate",
          "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
          "from_token_id": "USD",
          "to_token_id": "INR",
          "conversion_rate": 20
        },
        "encode": "JSON"
    }
}
getConversionHistory
原始方法名稱:getConversionRate
此 GET 方法會傳回指定權杖帳戶的權杖轉換歷史記錄。Token AdminToken AuditorOrg AdminOrg Auditor 或記號帳戶擁有者可以呼叫此方法。
查詢:
/getConversionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
          {
            "transaction_id": "otransaction~34edd19e03ec8bbbc77bc3372081410a824a5c10f9aa522b3a6390d7e8cb11cf",
            "from_account_id": "oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb",
            "to_account_id": "oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e",
            "transacted_amount": 5,
            "converted_amount": 100,
            "conversion_rate": "20",
            "from_token_id": "USD",
            "to_token_id": "INR",
            "balance": 75,
            "onhold_balance": 0,
            "timestamp": "2022-11-30T11:03:20.000Z",
            "transaction_type": "TOKEN_CONVERSION_DEBIT"
          }
        ],
        "encode": "JSON"
    }
}
getConversionRateHistory
原始方法名稱:getConversionRate
此方法會傳回一組記號的記號轉換率歷史記錄。Token AdminToken AuditorOrg AdminOrg Auditor 以及任何記號帳戶擁有者都可以呼叫此方法。
/getConversionRateHistory?fromTokenId=from_token_id value&toTokenId=to_token_id value
參數:
  • fromTokenId: string – 用於計算轉換率的來源記號 ID。
  • toTokenId: string – 用於計算轉換率的變數替代字 ID。
傳回值:
  • 成功時,會有轉換率歷史記錄明細的 JSON 物件。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload":  [
          {
            "trxId": "0b1ba7bc2620e1438b6580365e5c0ab852247ccfa5a3eb2157d3baca02c0e521",
            "timeStamp": "2022-11-30T10:23:38.000Z",
            "value": {
              "assetType": "oconversionRate",
              "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
              "from_token_id": "USD",
              "to_token_id": "INR",
              "conversion_rate": 20
            }
          },
          {
            "trxId": "36fc40ddb3d8308ee7e156af700da131d78d941fe390fc57985b7589e7035d5c",
            "timeStamp": "2022-11-30T10:13:18.000Z",
            "value": {
              "assetType": "oconversionRate",
              "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
              "from_token_id": "USD",
              "to_token_id": "INR",
              "conversion_rate": 10
            }
          }
        ],
        "encode": "JSON"
    }
}
getExchangePoolUser
原始方法名稱:getExchangePoolUser
此 GET 方法會傳回交換資料區使用者的組織 ID 和使用者 ID 值。只有鏈碼的 Token AdminToken Auditor 才能呼叫此方法。
查詢:
/getExchangePoolUser
參數:
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload":  {
           "assetType": "oconversion",
           "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
           "org_id": "Org1MSP",
           "user_id": "exchangepooluser"
        },
        "encode": "JSON"
    }
}
getAccountOnHoldBalance
原始方法名稱:getAccountOnHoldBalance
此 GET 方法會傳回指定科目與變數替代字的目前保留餘額。只有帳戶的 Token AdminToken AuditorOrg AdminOrg AuditorAccountOwner 才能呼叫此方法。
查詢:
/getAccountOnHoldBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload":  {
            "msg":"Total Holding Balance is: 0","holding_balance":0
        },
        "encode": "JSON"
    }
}
getAccountStatus
原始方法名稱:getAccountStatus
此 GET 方法會擷取權杖帳戶的目前狀態。Token AdminToken AuditorOrg AdminOrg Auditor 或記號帳戶擁有者可以呼叫此方法。
查詢:
/getAccountStatus?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload":  {
            "assetType": "oaccountStatus",
            "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
            "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
            "status": "active"
        },
        "encode": "JSON"
    }
}
getAccountsByRole
原始方法名稱:getAccountsByRole
此方法會傳回指定角色的所有帳戶 ID 清單。此方法只能由鏈碼的 Token Admin 呼叫。
查詢:
/getAccountsByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary)
參數:
  • tokenId: string – 記號的 ID。
  • role: string – 要搜尋之角色的名稱。
傳回值範例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload":  {
            "accounts":["oaccount~digicur~b4f45440aa2a7942db64443d047027e9d714d62cba5c3d546d64f368642f622f"]
        },
        "encode": "JSON"
    }
}