批发 CBDC 包装 API 程序包

Oracle Blockchain Platform Digital Assets Edition 包含包装 API 程序包,该程序包扩展了 REST API,以支持特定于批发 CBDC 的操作。

包装器 API 程序包使用 API 网关服务和 OCI 函数(使用 Oracle Cloud Infrastructure (OCI) 上的资源管理器堆栈创建),来部署专为批发 CBDC 应用程序设计的 API 路由。可从 Oracle Blockchain Platform 控制台下载批发 CBDC 包装 API 程序包,其中包含以下组件。
  • WholesaleCBDCWrapperAPI.zip,包含包装器 API 程序包(包括部署所需的 Terraform 脚本)的归档文件。将此文件部署到 OCI 上的资源管理器堆栈,以便为包装器 API 创建必要的 Oracle 资源。
  • WholesaleCBDC_WrapperAPI.postman_collection.json,一个 Postman 集合,可用于测试部署的包装器 API。该集合包括预配置的请求,其中包含与包装器 API 程序包中定义的 API 相对应的端点和有效负载。

包装器 API

activateCBDCAccount
原始方法名称: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
    }
}
参数:
  • orgId: string —当前组织中用户的成员服务提供商 (MSP) ID。
  • userId: string —用户的用户名或电子邮件 ID。
  • sameOrgEndorser: boolean —一个布尔值,指示事务处理背书是否必须来自与请求者相同的组织。
addCBAdmin
原始方法名称: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 —一个布尔值,指示事务处理背书是否必须来自与请求者相同的组织。
返回值示例:
{
    "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
    }
}
addCBAuditor
原始方法名称:addTokenAuditor
此 POST 方法将令牌审计器添加到令牌链代码。此方法只能由链代码的 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": "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
    }
}
addFIAdmin
原始方法名称:addOrgAdmin
此方法将组织管理员添加到令牌链代码。此方法只能由指定组织的 Token AdminOrg 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": "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
    }
}
addFIAuditor
原始方法名称:addOrgAuditor
此方法将组织审计员添加到令牌链代码。此方法只能由指定组织的 Token AdminOrg 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": "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
此方法将角色添加到指定的用户和令牌。帐户 ID 通过创建串联标记 ID、组织 ID 和用户 ID 的 SHA-256 散列来形成。此方法只能由指定组织的 Token AdminOrg 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 —要添加到指定用户的角色的名称。
  • orgId: string —当前组织中用户的成员服务提供商 (MSP) ID。
  • userId: string —用户的用户名或电子邮件 ID。
  • sameOrgEndorser: boolean —一个布尔值,指示事务处理背书是否必须来自与请求者相同的组织。
返回值示例:
{
    "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
    }
}
approveCBDCCreation
原始方法名称:approveMint
公证人可以调用此 POST 方法来批准薄荷请求。
有效负载:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
参数:
  • tokenId: string- 令牌的 ID。
  • operationId: string —要批准的薄荷请求的唯一操作 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
    }
}
approveCBDCRetirement
原始方法名称:approveBurn
公证人可以调用此 POST 方法来批准刻录请求。
有效负载:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
参数:
  • tokenId: string- 令牌的 ID。
  • operationId: string —要批准的薄荷请求的唯一操作 ID。
  • sameOrgEndorser: boolean —一个布尔值,指示事务处理背书是否必须来自与请求者相同的组织。
返回值示例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "8252371040e41753fd843bd086692f4e1ee7d89ffa3a50bfa121c5f1565f922f",
        "payload": {
            "msg": "Successfully burned 1 tokens from account id: oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB, User-Id: retirer_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 209
    }
}
approveHoldCBDCTokens
原始方法名称:executeHoldTokens
公证人调用此方法审批暂挂令牌,这将触发在此业务方案中将令牌从付款人转移到收款人。令牌所有者之前暂挂的令牌数量现在转移给收件人。如果 quantity 值小于实际暂挂值,则令牌的所有者可以再次获得剩余金额。如果在标记模型的 behaviors 部分中指定了 roles 行为并且设置了 notary_role_name 值,则调用方帐户必须具有公证人角色。否则,任何具有帐户的呼叫者都可以作为公证人。
有效负载:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "quantity": 1,
    "endorsers": {{endorsers}}
}
参数:
  • tokenId: string- 令牌的 ID。
  • operationId: string —要批准的薄荷请求的唯一操作 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,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "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 是字母数字字符集,前缀为 oaccount~<token asset name>~,后跟实例所有者或登录实例的用户的用户的用户名或电子邮件 ID (userId) 的散列,即当前网络组织中用户的成员服务提供商 ID (orgId)。此方法只能由链代码的 Token Admin 或指定组织的 Org Admin 调用。
有效负载:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenType": "fungible",
    "applicationGroups": "[\"application_groups value\"]",
    "dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
    "endorsers": {{endorsers}}
}
参数:
  • orgId —要为其创建账户的用户的成员服务提供商 (MSP) ID。ID 必须以字母数字字符开头,并且可以包含字母、数字和特殊字符,例如下划线 (_)、句点 (.)、符号 (@) 和连字符 (-)。
  • userId —用户的用户名或电子邮件 ID。ID 必须以字母数字字符开头,并且可以包含字母、数字和特殊字符,例如下划线 (_)、句点 (.)、符号 (@) 和连字符 (-)。
  • tokenType: TokenType- 令牌的类型,必须为 fungible
  • applicationGroups: string[] —用户 ID 所属的应用程序组列表,用于定义用户在 CBDC 应用程序中的关联。
  • dailyLimits: JSON object —以下类型的 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,
            "application_groups": [
                "CBDC_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
    }
}
getAllActiveCBDCAccounts
原始方法名称:getAllActiveAccounts
此 GET 方法返回与指定令牌 ID 关联的所有活动帐户。
查询:
/getAllActiveCBDCAccounts?tokenId={{bc-token-id}}
参数:
  • tokenId: 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,
                    "application_groups": [
                        "CBDC_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"
  }
}
getAllSuspendedCBDCAccounts
原始方法名称:getAllSuspendedAccounts
此 GET 方法返回与指定令牌 ID 关联的所有已挂起帐户。
查询:
/getAllSuspendedCBDCAccounts?tokenId={{bc-token-id}}
参数:
  • tokenId: 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,
                    "application_groups": [
                        "FI_CBDC_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"
  }
}
getApproverActionHistory
原始方法名称:getActionHistory
此 GET 方法检索调用方对薄荷、刻录和传输(发行)操作进行的审批或拒绝的历史记录,包括组织的详细信息以及涉及的帐户(发件人、收件人和公证人)的用户 ID。此方法只能由 Token AdminToken AuditorOrg AdminOrg Auditor 或公证人调用。
查询:
/getApproverActionHistory?tokenId={{bc-token-id}}
参数:
  • tokenId: 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"
  }
}
getCBDCAccount
原始方法名称:getAccount
此 GET 方法返回指定用户和令牌的帐户详细信息。此方法只能由链代码的 Token AdminToken Auditor、指定组织的 Org AdminOrg Auditor 或帐户的 AccountOwner 调用。
查询:
/getCBDCAccount?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,
            "application_groups": [
                "CBDC_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"
    }
}
getCBDCAccountBalance
原始方法名称:getAccountBalance
此 GET 方法返回指定帐户和令牌的当前余额。此方法只能由链代码的 Token AdminToken Auditor、指定组织的 Org AdminOrg Auditor 或帐户的 AccountOwner 调用。
/getCBDCAccountBalance?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"
    }
}
getCBDCAccountsByUser
原始方法名称:getAccountsByUser
此方法返回指定组织 ID 和用户 ID 的所有帐户 ID 的列表。此方法只能由链代码的 Token AdminToken Auditor、指定组织的 Org AdminOrg Auditor 或帐户的 AccountOwner 调用。
/getCBDCAccountsByUser?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,
                "application_groups": [
                    "CBDC_ADMINS"
                ],
                "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,
                "application_groups": [
                    "CBDC_ADMINS"
                ],
                "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,
                "application_groups": [
                    "CBDC_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"
    }
}
getCBDCAccountTransactionHistory
原始方法名称:getAccountTransactionHistory
此方法返回指定用户和令牌的账户事务处理历史记录详细信息数组。此方法只能由链代码的 Token AdminToken Auditor、指定组织的 Org AdminOrg Auditor 或帐户的 AccountOwner 调用。
/getCBDCAccountTransactionHistory?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"
    }
}
getAccountTransactionHistoryWithFilters
原始方法名称:getAccountTransactionHistoryWithFiltersFromRichHistDB
此方法返回富历史记录数据库中的账户事务处理历史记录详细信息。此方法只能由链代码的 Token AdminToken Auditor、指定组织的 Org AdminOrg Auditor 或帐户的 AccountOwner 调用。
/getCBDCAccountTransactionHistoryWithFilters?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 —要从中提取事务处理历史记录的富历史记录数据库的 RESTful 服务端点。
  • bearerToken- 用于调用 RESTful 端点以确保请求得到授权的标记。
  • filters: JSON object- 可选参数。如果为空,将返回所有记录。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"
    }
}
getCBDCRetiredQuantity
原始方法名称:getBurnQuantity
此 GET 方法返回指定组织的已刻录标记的总数量。此方法只能由具有刻录器角色的 Token AdminToken Auditor 或用户调用。
/getCBDCRetiredQuantity?tokenId={{bc-token-id}}
参数:
  • tokenId: string- 令牌的 ID。
返回值示例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": {
          "burnt_quantity": 31
      },
      "encode": "JSON"
  }
}
getNetCBDCTokens
原始方法名称:getNetTokens
此 GET 方法返回系统中指定令牌的可用令牌总数。净令牌总数是指刻录令牌后剩余的令牌数量。此方法只能由链代码的 Token AdminToken Auditor,或者 Org AdminOrg Auditor 调用。
/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 AdminToken Auditor、指定组织的 Org AdminOrg Auditor 或帐户的 AccountOwner 调用。
/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"
    }
}
getPendingCBDCIssuance
原始方法名称:getPendingIssuance
此方法检索调用方被指定为审批人的所有待处理签发(转移)事务处理,包括组织的详细信息以及涉及的帐户(发送人、接收人和公证人)的用户 ID。此方法只能由链代码的 Token AdminToken AuditorOrg AdminOrg AuditorNotary 调用。
/getPendingCBDCIssuance?tokenId={{bc-token-id}}
参数:
  • tokenId: 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"
  }
}
getPendingCBDCRequest
原始方法名称:getPendingRequest
此方法检索指定类型的所有待处理请求,其中调用者被指定为审批者。此方法只能由链代码或 NotaryToken AdminToken Auditor 调用。
/getPendingCBDCRequest?tokenId={{bc-token-id}}&requestType=request_type value
参数:
  • tokenId: string- 令牌的 ID。
  • requestType: string –事务类型。例如,mintburn
返回值示例:
{
  "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
原始方法名称:getTotalBalanceByCallerOrgId
此方法检索调用方组织的总余额。此方法只能由 Token AdminToken AuditorOrg AdminOrg Auditor 或任何帐户所有者调用。
/getTotalCBDCBalanceByCallerOrgId
参数:
  • tokenId: string- 令牌的 ID。
返回值示例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "totalBalance": 704
          }
      ],
      "encode": "JSON"
  }
}
getTotalCreatedCBDCTokens
原始方法名称:getTotalMintedTokens
此方法返回指定令牌的铸造令牌总数。此方法只能由 Token AdminToken AuditorOrg AdminOrg Auditor 调用。
查询:
/getTotalCreatedCBDCTokens?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"
    }
}
getTransactionWithBlockNumber
原始方法名称:getTransactionWithBlockNumber
此 GET 方法返回指定事务处理 ID 的事务处理详细信息。
查询:
/getTransactionWithBlockNumber?tokenId={{bc-token-id}}&transactionId=transaction_id value
参数:
  • tokenId: string- 令牌的 ID。
  • transactionId: 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"
  }
}
getUserByCBDCAccountId
原始方法名称:getUserByAccountId
此方法返回指定帐户的用户详细信息(orgIduserIdtokenId)。此方法只能由链代码的 Token AdminToken Auditor,或者指定组织的 Org AdminOrg Auditor 调用。
查询:
/getUserByCBDCAccountId?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
此 GET 方法返回指定角色和令牌的所有用户的列表。此方法只能由链代码的 Token AdminToken Auditor 调用。
查询:
/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"
    }
}
holdCBDCTokens
原始方法名称: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
    }
}
initializeCBDCToken
原始方法名称:initializeCBDCToken
此方法创建令牌并初始化令牌属性。资产及其属性保存在状态数据库中。此方法只能由链代码的 Token Admin 调用。
有效负载:
{
    "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc value\",\"Currency_Name\":\"Currency_Name 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
            },
            "currency_name": "currency_name value",
            "token_to_currency_ratio": 999
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 267
    }
}
rejectCBDCCreation
原始方法名称:rejectMint
矿工公证人可以调用此方法来拒绝铸造请求。
有效负载:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
参数:
  • tokenId: string- 要拒绝铸造的标记的 ID。
  • operationId: 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
    }
}
rejectCBDCRetirement
原始方法名称:rejectBurn
公证人可以调用此方法来拒绝刻录请求。
有效负载:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
参数:
  • tokenId: string- 要拒绝进行刻录的标记的 ID。
  • operationId: string- 表示刻录请求的唯一操作 ID。
  • sameOrgEndorser: boolean —一个布尔值,指示事务处理背书是否必须来自与请求者相同的组织。
返回值示例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "474a08183986c84fe321aa925670539db3b1bc90b02fa65956ad8c771fff5bbe",
        "payload": {
            "msg": "Successfully rejected burn request with Operation Id 'burn1234' to burn 10 tokens of token id USD"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 210
    }
}
rejectHoldCBDCTokens
原始方法名称:releaseHoldTokens
此 POST 方法释放暂挂令牌。转移未完成,所有保留的令牌都可供原始所有者使用。此方法可由具有 notary 角色的 AccountOwner ID 在指定时间限制内调用,或在指定时间限制后由付款人、收款人或公证人调用。
有效负载:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "endorsers": {{endorsers}}
}
参数:
  • tokenId: string- 令牌的 ID。
  • operationId: 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
    }
}
removeCBAdmin
原始方法名称:removeTokenAdmin
此 POST 方法将用户删除为链代码的 Token Admin。此方法只能由链代码的 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": "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
    }
}
removeCBAuditor
原始方法名称: removeTokenAuditor
此 POST 方法将用户删除为链代码的 Token Auditor。此方法只能由链代码的 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": "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
    }
}
removeFIAdmin
原始方法名称:removeOrgAdmin
此 POST 方法将用户删除为链代码的 Org Admin。此方法只能由指定组织的 Token AdminOrg 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": "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
    }
}
removeFIAuditor
原始方法名称:removeOrgAuditor
此 POST 方法将用户删除为链代码的 Org Auditor。此方法只能由指定组织的 Token AdminOrg 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": "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 属性。同样,notary 角色对应于规范文件的 notary_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
    }
}
requestCBDCCreation
原始方法名称: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- 要 mint 的令牌的 ID。
  • operationId: string- 表示 mint 请求的唯一操作 ID。
  • notaryOrgId: string —将处理请求的矿工公证人的成员服务提供商 (MSP) ID。
  • notaryUserId: string —将处理请求的 minter 公证人的用户名或电子邮件 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
    }
}
requestCBDCRetirement
原始方法名称:requestBurn
燃烧器可以调用此方法,以向公证人发送销毁指定数量的令牌的请求。
有效负载:
{
    "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- 表示刻录请求的唯一操作 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": "0adb57ca9776c8760468c40465e0f0d37472f0b4b32fd02561ef28b3f7b28cf1",
        "payload": {
            "msg": "AccountId oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB , User-Id: retirer_user_cb) has successfully submitted request to burn 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 206
    }
}
setApplicationGroups
原始方法名称:setApplicationGroups
此 POST 方法用于在指定应用程序组的帐户详细信息中设置 application_groups 参数。此方法只能由链代码的 Token Admin 或指定组织的 Org Admin 调用。
有效负载:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "applicationGroups": "[\"application_groups value\"]",
    "endorsers": {{endorsers}}
}
参数:
  • orgId: string —当前组织中用户的成员服务提供商 (MSP) ID。
  • userId: string —用户的用户名或电子邮件 ID。
  • tokenId: string- 令牌的 ID。
  • applicationGroups: string[] —用户 ID 所属的应用程序组列表,用于在 CBDC 应用程序中定义用户的关联。
  • endorsers: string[] —必须为事务处理背书的对等方数组(例如 peer1peer2)。
返回:
  • 成功后,将显示一条成功消息,其中包含已刻录的令牌数量和账户 ID。
返回值示例:
{
    "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,
            "application_groups": [
                "CBDC_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
    }
}
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,
            "application_groups": [
                "CBDC_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",
        "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,
            "application_groups": [
                "CBDC_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",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 223
    }
}
suspendCBDCAccount
原始方法名称: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
    }
}
transferCBDCTokens
原始方法名称: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
    }
}

包装器 API 程序包还包括 createCBDCAccount API,该 API 将链代码 API 和 Oracle Blockchain Platform 控制台 API 合并到一个端点中以创建账户。

createCBDCAccount
有效负载:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "applicationGroups": "[\"applicationGroups value\"]",
    "tokenId": "{{bc-token-id}}",
    "role": "role value (for example minter / burner / notary / tokenAdmin / tokenAuditor / orgAdmin / orgAuditor)",
    "dailyLimits": "{\"max_daily_amount\":1000, \"max_daily_transactions\":100}"
}
有效负载参数:
  • orgId —要为其创建账户的用户的成员服务提供商 (MSP) ID。ID 必须以字母数字字符开头,并且可以包含字母、数字和特殊字符,例如下划线 (_)、句点 (.)、符号 (@) 和连字符 (-)。
  • userId —用户的用户名或电子邮件 ID。ID 必须以字母数字字符开头,并且可以包含字母、数字和特殊字符,例如下划线 (_)、句点 (.)、符号 (@) 和连字符 (-)。
  • applicationGroups —帐户所属的应用程序组。例如,CBDC_ADMINS
  • tokenId- 与账户关联的令牌的 ID。ID 必须以字母数字字符开头,并且可以包含字母、数字以及特殊字符下划线 (_) 和连字符 (-)。它的长度不能超过 16 个字符。
  • role- 该角色必须是以下值之一:minterburnernotarytokenAdmintokenAuditororgAdminorgAuditor
  • dailyLimits —定义每日事务处理限制的两个数字字段:max_daily_amountmax_daily_transactions
返回值示例:
"payload": {
 "msg": "Account created successfully and 'minter' role added to Account Id: oaccount~4a86f2843c2b0105c97a77202bd9aba519c81dcef27eccc1d89125ae32770700 (Org-Id: CB, User-Id: creator_user_cb)"
 "accountDetails":
      {           
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~ce5c56d2068ce31b82136c8eea110a80b9251595d361db70924c4e989032a1be",
            "user_id": "creator_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_CREATORS"
            ],
            "max_daily_amount": 1000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-10-06T00:00:00.000Z"
     }
 }

createCBDCAccount API 按顺序完成以下操作。

  1. Oracle Blockchain Platform 中为用户创建注册 ID。创建的注册 ID 与用户 ID 相同,但存在一些限制。ID 只能包含字母数字字符,连字符 (-) 和下划线 (_)。如果用户 ID 包含任何其他特殊字符,则它们将替换为下划线 (_)。例如,如果用户 ID 为 adam.fripp@example.com,则创建的注册 ID 为 adam_fripp_example_com。如果指定用户 ID 已存在注册,则不会创建其他注册。
  2. 使用有效负载中提供的详细信息在分类账中创建账户。
  3. 将新账户与有效负载中指定的令牌关联。
  4. 将有效负载中指定的角色分配给用户。

为确保一致性并避免数据不完整,如果后续任何步骤失败,将删除在第一个步骤中创建的注册 ID。