卸売CBDCモデル

ブロックチェーン・アプリケーション・ビルダーの拡張バージョンには、卸売中央銀行デジタル通貨(CBDC)シナリオの追加メソッドを生成するモデル属性が含まれています。

拡張トークン・タクソノミ・フレームワーク標準を使用するトークンの仕様ファイルにmodel: wcbdcパラメータを含めると、ブロックチェーン・アプリケーション・ビルダーによってアプリケーション固有のチェーンコードが生成されます。これには、卸売CBDCアプリケーションで使用する次の追加の方法および機能が含まれます。

TypeScriptホールセールCBDCのメソッド

卸売CBDCチェーンコードには、汎用トークン・タクソノミ・フレームワークNFTチェーンコードで使用可能なすべてのメソッドが含まれます。卸売CBDCシナリオに固有の次の追加方法を使用できます。
setApplicationGroups
このメソッドは、API内の指定されたアプリケーション・グループのアカウント詳細のapplication_groupsパラメータを設定します。このメソッドは、指定した組織のToken AdminまたはOrg Adminによってのみコールできます。
public async setApplicationGroups (org_id: string, user_id: string, token_id: string, application_groups: string[])
パラメータ:
  • org_id: string– 現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP)ID。
  • user_id: string– ユーザーのユーザー名または電子メールID。
  • token_id: string– トークンのID。
  • application_groups: string[]– ユーザーIDが属するアプリケーション・グループのリスト。これにより、CBDCアプリケーションでユーザーの関連付けが定義されます。
戻り値の例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_Admins"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}
getAllActiveAccounts
このメソッドは、指定されたトークンIDに関連付けられているすべてのアクティブなアカウントを返します。すべてのユーザーがこのメソッドをコールできます。
public async getAllActiveAccounts(token_id: string)
パラメータ:
  • token_id: string– トークンのID。
戻り値:
  • 成功時に、ユーザーの詳細を含むメッセージ。次の例に示すように、出力はユーザーの役割によって異なります。
戻り値の例(トークン管理、トークン監査者):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                "non_account_role_name": [
                    "token_admin"
                ],
                "role_name": null,
                "valueJson": {
                    "bapAccountVersion": 0,
                    "assetType": "oaccount",
                    "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                    "user_id": "admin_user_cb",
                    "org_id": "CB",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 0,
                    "onhold_balance": 0,
                    "onhold_burn_balance": 0,
                    "application_groups": [
                        "System_Admins"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
戻り値の例(組織管理、組織監査者):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
戻り値の例(他のすべてのユーザー):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
getAllSuspendedAccounts
このメソッドは、指定されたトークンIDに関連付けられているすべての中断アカウントを返します。すべてのユーザーがこのメソッドをコールできます。
func (t *Controller) GetAllSuspendedAccounts(token_id string) (interface{}, error)
パラメータ:
  • token_id: string– トークンのID。
戻り値:
  • 成功時に、ユーザーの詳細を含むメッセージ。次の例に示すように、出力はユーザーの役割によって異なります。
戻り値の例(トークン管理、トークン監査者):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                "non_account_role_name": null,
                "role_name": null,
                "valueJson": {
                    "assetType": "oaccount",
                    "bapAccountVersion": 1,
                    "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                    "user_id": "user1_fi1",
                    "org_id": "FI1",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 5,
                    "onhold_balance": 0,
                    "onhold_burn_balance": 0,
                    "application_groups": [
                        "Org_Users"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
戻り値の例(組織管理、組織監査者):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
戻り値の例(他のすべてのユーザー):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD"
              }
          }
      ],
      "encode": "JSON"
  }
}
getBurnQuantity
このメソッドは、指定された組織の焼却トークンの合計量を返します。このメソッドは、Token AdminToken Auditorまたはバーナー・ロールを持つユーザーによってのみコールできます。
public async getBurnQuantity(token_id: string)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": {
          "burnt_quantity": 31
      },
      "encode": "JSON"
  }
}
getActionHistory
このメソッドは、組織の詳細や関連するアカウント(送信者、受信者および公証人)のユーザーIDなど、ミント、バーンおよび転送(発行)操作のコール元による承認または拒否の履歴を取得します。
public async getActionHistory(token_id: string)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "from_org_id": "CB",
              "from_user_id": "retirer_user_cb",
              "holding_id": "ohold~cbdc~USD~eaf6",
              "holding_status": "REJECT_BURN",
              "last_updated_time": "2024-11-26T21:43:22.000Z",
              "notary_account_id": null,
              "notary_org_id": null,
              "notary_user_id": null,
              "operation_id": null,
              "quantity": 3,
              "timetoexpiration": null,
              "to_account_id": "",
              "to_org_id": null,
              "to_user_id": null,
              "token_id": "USD",
              "token_name": null
          },
          {
              "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "from_org_id": "CB",
              "from_user_id": "retirer_user_cb",
              "holding_id": "ohold~cbdc~USD~0031",
              "holding_status": "REJECT_BURN",
              "last_updated_time": "2024-11-26T21:43:15.000Z",
              "notary_account_id": null,
              "notary_org_id": null,
              "notary_user_id": null,
              "operation_id": null,
              "quantity": 2,
              "timetoexpiration": null,
              "to_account_id": "",
              "to_org_id": null,
              "to_user_id": null,
              "token_id": "USD",
              "token_name": null
          }
      ],
      "encode": "JSON"
  }
}
getPendingIssuance
このメソッドは、組織の詳細や関係するアカウント(送信者、受取人、および公証人)のユーザーIDなど、発信者が承認者として割り当てられている全ての発行待ち(振替)トランザクションを取得します。このメソッドは、チェーンコードのToken AdminまたはToken Auditor、指定された組織のOrg AdminまたはOrg Auditor、またはNotaryによってのみコールできます。
public async getPendingIssuance(token_id: string)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "asset_type": "ONHOLD",
              "category": "category value",
              "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "from_org_id": "CB",
              "from_user_id": "creator_user_cb",
              "holding_id": "ohold~cbdc~USD~8e314",
              "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "notary_org_id": "CB",
              "notary_user_id": "manager_user_cb",
              "operation_id": "8e314",
              "quantity": 10,
              "timetoexpiration": "0",
              "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
              "to_org_id": "FI1",
              "to_user_id": "officer_user1_fi1",
              "token_id": "USD",
              "token_name": "cbdc"
          },
          {
              "asset_type": "ONHOLD",
              "category": "category value",
              "from_account_id": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
              "from_org_id": "CB",
              "from_user_id": "issuer_user_cb",
              "holding_id": "ohold~cbdc~USD~8e315",
              "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "notary_org_id": "CB",
              "notary_user_id": "manager_user_cb",
              "operation_id": "8e315",
              "quantity": 10,
              "timetoexpiration": "0",
              "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
              "to_org_id": "FI1",
              "to_user_id": "officer_user1_fi1",
              "token_id": "USD",
              "token_name": "cbdc"
          }
      ],
      "encode": "JSON"
  }
}
getPendingRequest
このメソッドは、コール元が承認者として割り当てられている、指定されたタイプのすべての保留リクエストを取得します。このメソッドは、チェーンコードのToken AdminまたはToken Auditor、指定された組織のOrg AdminまたはOrg Auditor、またはNotaryによってのみコールできます。
public async getPendingRequest(token_id: string, request_type: string)
パラメータ:
  • token_id: string– トークンのID。
  • request_type: string– トランザクション・タイプ。たとえば、mintまたはburnです。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "valueJson": {
                  "assetType": "ohold",
                  "holding_id": "ohold~cbdc~USD~op123",
                  "operation_id": "op123",
                  "token_id": "USD",
                  "token_name": "cbdc",
                  "operation_type": "mint",
                  "status": "pending",
                  "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "to_account_id": "",
                  "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
                  "quantity": 10,
                  "time_to_expiration": "0",
                  "category": "category value",
                  "description": "description value"
              }
          }
      ],
      "encode": "JSON"
  }
}
getTotalBalanceByCallerOrgId
このメソッドは、発信者の組織の合計残高を取得します。Token AdminToken AuditorOrg AdminOrg Auditorまたは任意のアカウント所有者によってコールできます。
public async getTotalBalanceByCallerOrgId()
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "totalBalance": 704
          }
      ],
      "encode": "JSON"
  }
}
getTransactionWithBlockNumber
このメソッドは、指定されたトランザクションIDのトランザクションの詳細を返します。
public async getTransactionWithBlockNumber(token_id: string, transaction_id: string)
パラメータ:
  • token_id: string– トークンのID。
  • transaction_id: string– トランザクションのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "blockNo": 82,
              "key": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
              "metadata": null,
              "txnNo": 0,
              "value": null,
              "valueJson": {
                  "assetType": "otransaction",
                  "transaction_id": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
                  "token_id": "USD",
                  "from_account_id": "",
                  "from_account_balance": 0,
                  "from_account_onhold_balance": 0,
                  "to_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "to_account_balance": 100,
                  "to_account_onhold_balance": 0,
                  "transaction_type": "REQUEST_MINT",
                  "amount": 200,
                  "timestamp": "2024-11-20T06:48:42.000Z",
                  "number_of_sub_transactions": 0,
                  "holding_id": "",
                  "sub_transaction": "false",
                  "description": ""
              }
          }
      ],
      "encode": "JSON"
  }
}

卸売CBDCモデルの次のAPIが変更されました。

createAccount
このメソッドは、指定されたユーザーおよびトークンのアカウントを作成します。任意の時点でトークンを持つすべてのユーザーに対してアカウントを作成する必要があります。勘定科目は、残高、保留残高およびトランザクション履歴を追跡します。アカウントIDは、アセット・タイプとトークンIDを連結してから、組織IDとユーザーIDを連結してSHA-256ハッシュを作成することで形成されます。このメソッドをコールできるのは、チェーンコードのToken Adminのみです。
public async createAccount(org_id: string, user_id: string, token_type: string, application_groups: string[], daily_limits?: DailyLimits)
パラメータ:
  • orgId– アカウントを作成するユーザーのメンバーシップ・サービス・プロバイダ(MSP)ID。IDは英数字で始める必要があり、文字、数字、およびアンダースコア(_)、ピリオド(.)、アットマーク(@)、ハイフン(-)などの特殊文字を含めることができます。
  • userId– ユーザーのユーザー名または電子メールID。IDは英数字で始める必要があり、文字、数字、およびアンダースコア(_)、ピリオド(.)、アットマーク(@)、ハイフン(-)などの特殊文字を含めることができます。
  • tokenType: TokenType– トークンのタイプ。fungibleである必要があります。
  • application_groups: string[]– ユーザーIDが属するアプリケーション・グループのリストで、CBDCアプリケーションでユーザーの関連付けを定義します。
  • daily_limits: DailyLimits– 次のタイプのJSONオブジェクト。
    {
         "max_daily_amount": 100000
         "max_daily_transactions": 10000
     }
    この例では、max_daily_amount値は毎日処理できるトークンの最大量であり、max_daily_transactions値は毎日完了できるトランザクションの最大数です。
  • endorsers: string[]– トランザクションを承認する必要があるピアの配列(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,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_Admins"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}

卸売CBDCの移動方法

卸売CBDCチェーンコードには、汎用トークン・タクソノミ・フレームワークNFTチェーンコードで使用可能なすべてのメソッドが含まれます。卸売CBDCシナリオに固有の次の追加方法を使用できます。
SetApplicationGroups
このメソッドは、API内の指定されたアプリケーション・グループのアカウント詳細のapplication_groupsパラメータを設定します。このメソッドは、指定した組織のToken AdminまたはOrg Adminによってのみコールできます。
func (t *Controller) SetApplicationGroups(token_id string, org_id string, user_id string, application_groups []string) (interface{}, error)
パラメータ:
  • org_id: string– 現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP)ID。
  • user_id: string– ユーザーのユーザー名または電子メールID。
  • token_id: string– トークンのID。
  • application_groups: string[]– ユーザーIDが属するアプリケーション・グループのリスト。これにより、CBDCアプリケーションでユーザーの関連付けが定義されます。
戻り値の例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "261c3da4bb6f1724bc8f674c7b001a9b986bc9900d0508363039424926b143ed",
        "payload": {
            "AssetType": "oaccount",
            "AccountId": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "UserId": "admin_user_cb",
            "OrgId": "CB",
            "TokenType": "fungible",
            "TokenId": "",
            "TokenName": "",
            "Balance": 0,
            "BalanceOnHold": 0,
            "OnHoldBurnBalance": 0,
            "BapAccountVersion": 0,
            "ApplicationGroups": [
                "System_Admins"
            ],
            "MaxDailyAmount": 10000,
            "DailyAmount": 0,
            "MaxDailyTransactions": 100,
            "DailyTransactions": 0,
            "CurrentDate": "2024-12-09"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 246
    }
}
GetAllActiveAccounts
このメソッドは、指定されたトークンIDに関連付けられているすべてのアクティブなアカウントを返します。すべてのユーザーがこのメソッドをコールできます。
func (t *Controller) GetAllActiveAccounts(token_id string) (interface{}, error)
パラメータ:
  • token_id: string– トークンのID。
戻り値:
  • 成功時に、ユーザーの詳細を含むメッセージ。次の例に示すように、出力はユーザーの役割によって異なります。
戻り値の例(トークン管理、トークン監査者):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "NonAccountRoleName": "[\"token_admin\"]",
                "RoleName": null,
                "key": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
                "valueJson": {
                    "AccountId": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
                    "ApplicationGroups": [
                        "System_Issuers"
                    ],
                    "AssetType": "oaccount",
                    "Balance": 0,
                    "BalanceOnHold": 0,
                    "OnHoldBurnBalance": 0,
                    "BapAccountVersion": 0,
                    "CurrentDate": "2024-11-21",
                    "DailyAmount": 0,
                    "DailyTransactions": 0,
                    "MaxDailyAmount": 10000,
                    "MaxDailyTransactions": 100,
                    "OrgId": "CB",
                    "TokenId": "USD",
                    "TokenName": "cbdc",
                    "TokenType": "fungible",
                    "UserId": "admin_user_cb"
                }
            }
        ],
        "encode": "JSON"
    }
}
戻り値の例(組織管理、組織監査者):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "NonAccountRoleName": "[\"token_auditor\"]",
              "RoleName": null,
              "key": "oaccount~bd6262ffdf582675dd9b2506c1d5488864feef0b9e297a9a3322b7c683ad6214",
              "valueJson": {
                  "AccountId": "oaccount~bd6262ffdf582675dd9b2506c1d5488864feef0b9e297a9a3322b7c683ad6214",
                  "OrgId": "CB",
                  "TokenId": "USD",
                  "UserId": "auditor_user_cb",
                  "MaxDailyAmount": 10000,
                  "MaxDailyTransactions": 100,
              }
          }
      ],
      "encode": "JSON"
  }
}
戻り値の例(他のすべてのユーザー):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "NonAccountRoleName": "[\"token_admin\"]",
              "RoleName": null,
              "key": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
              "valueJson": {
                  "AccountId": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
                  "OrgId": "CB",
                  "TokenId": "USD",
                  "UserId": "admin_user_cb"
              }
          }
      ],
      "encode": "JSON"
  }
}
GetAllSuspendedAccounts
このメソッドは、指定されたトークンIDに関連付けられているすべての中断アカウントを返します。すべてのユーザーがこのメソッドをコールできます。
public async getAllSuspendedAccounts(token_id: string)
パラメータ:
  • token_id: string– トークンのID。
戻り値:
  • 成功時に、ユーザーの詳細を含むメッセージ。次の例に示すように、出力はユーザーの役割によって異なります。
戻り値の例(トークン管理、トークン監査者):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "NonAccountRoleName": null,
              "RoleName": "minter",
              "key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "valueJson": {
                  "AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "ApplicationGroups": [
                      "System_Admins"
                  ],
                  "AssetType": "oaccount",
                  "Balance": 140,
                  "BalanceOnHold": 0,
                  "OnHoldBurnBalance": 0,
                  "BapAccountVersion": 8,
                  "CurrentDate": "2024-11-21",
                  "DailyAmount": 70,
                  "DailyTransactions": 3,
                  "MaxDailyAmount": 10000,
                  "MaxDailyTransactions": 100,
                  "OrgId": "CB",
                  "TokenId": "USD",
                  "TokenName": "cbdc",
                  "TokenType": "fungible",
                  "UserId": "creator_user_cb"
              }
          }
      ],
      "encode": "JSON"
  }
}
戻り値の例(組織管理、組織監査者):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "NonAccountRoleName": null,
              "RoleName": "minter",
              "key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "valueJson": {
                  "AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "OrgId": "CB",
                  "TokenId": "USD",
                  "UserId": "creator_user_cb",
                  "MaxDailyAmount": 10000,
                  "MaxDailyTransactions": 100,
              }
          }
      ],
      "encode": "JSON"
  }
}
戻り値の例(他のすべてのユーザー):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "NonAccountRoleName": null,
                "RoleName": "minter",
                "key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "valueJson": {
                    "AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                    "OrgId": "CB",
                    "TokenId": "USD",
                    "UserId": "creator_user_cb"
                }
            }
        ],
        "encode": "JSON"
    }
}
GetBurnQuantity
このメソッドは、指定された組織の焼却トークンの合計量を返します。このメソッドは、Token AdminToken Auditorまたはバーナー・ロールを持つユーザーによってのみコールできます。
func (t *Controller) GetBurnQuantity(token_id string) (interface{}, error)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": {
          "BurnQuantity": 10
      },
      "encode": "JSON"
  }
}
GetActionHistory
このメソッドは、組織の詳細や関連するアカウント(送信者、受信者および公証人)のユーザーIDなど、ミント、バーンおよび転送(発行)操作のコール元による承認または拒否の履歴を取得します。
func (t *Controller) GetActionHistory(token_id string) (interface{}, error)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "FromAccountId": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "FromOrgId": "CB",
              "FromUserId": "retirer_user_cb",
              "HoldingId": "ohold~cbdc~USD~6e1223",
              "HoldingStatus": "REJECT_BURN",
              "LastUpdatedTime": "2024-11-21T22:08:26Z",
              "NotaryAccountId": null,
              "NotaryOrgId": null,
              "NotaryUserId": null,
              "OperationId": null,
              "Quantity": 5,
              "TimeToExpiration": null,
              "ToAccountId": "",
              "ToOrgId": null,
              "ToUserId": null,
              "TokenId": "USD",
              "TokenName": null
          },
          {
              "FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "FromOrgId": "CB",
              "FromUserId": "creator_user_cb",
              "HoldingId": "ohold~cbdc~USD~hold2",
              "HoldingStatus": "RELEASEHOLD",
              "LastUpdatedTime": "2024-11-21T21:54:33Z",
              "NotaryAccountId": null,
              "NotaryOrgId": null,
              "NotaryUserId": null,
              "OperationId": null,
              "Quantity": 10,
              "TimeToExpiration": null,
              "ToAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "ToOrgId": "CB",
              "ToUserId": "creator_user_cb",
              "TokenId": "USD",
              "TokenName": null
          }
      ],
      "encode": "JSON"
  }
}
GetPendingIssuance
このメソッドは、組織の詳細や関係するアカウント(送信者、受取人、および公証人)のユーザーIDなど、発信者が承認者として割り当てられている全ての発行待ち(振替)トランザクションを取得します。このメソッドは、チェーンコードのToken AdminまたはToken Auditor、指定された組織のOrg AdminまたはOrg Auditor、またはNotaryによってのみコールできます。
func (t *Controller) GetPendingIssuance(token_id string) (interface{}, error)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "AssetType": "ONHOLD",
              "FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "FromOrgId": "CB",
              "FromUserId": "creator_user_cb",
              "HoldingId": "ohold~cbdc~USD~h123",
              "NotaryAccountId": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "NotaryOrgId": "CB",
              "NotaryUserId": "manager_user_cb",
              "OperationId": "h123",
              "Quantity": 10,
              "TimeToExpiration": "0",
              "ToAccountId": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
              "ToOrgId": "CB",
              "ToUserId": "issuer_user_cb",
              "TokenId": "USD",
              "TokenName": "cbdc"
          }
      ],
      "encode": "JSON"
  }
}
GetPendingRequest
このメソッドは、コール元が承認者として割り当てられている、指定されたタイプのすべての保留リクエストを取得します。このメソッドは、チェーンコードのToken AdminまたはToken Auditor、指定された組織のOrg AdminまたはOrg Auditor、またはNotaryによってのみコールできます。
func (t *Controller) GetPendingRequest(token_id string, request_type string) (interface{}, error)
パラメータ:
  • token_id: string– トークンのID。
  • request_type: string– トランザクション・タイプ。たとえば、mintまたはburnです。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "valueJson": {
                  "AssetType": "ohold",
                  "Category": "Category value",
                  "Description": "Description value",
                  "FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "HoldingId": "ohold~cbdc~USD~8e1232",
                  "NotaryAccountId": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
                  "OperationId": "8e1232",
                  "OperationType": "mint",
                  "Quantity": 100,
                  "Status": "pending",
                  "TimeToExpiration": "0",
                  "ToAccountId": "",
                  "TokenId": "USD",
                  "TokenName": "cbdc"
              }
          }
      ],
      "encode": "JSON"
  }
}
GetTotalBalanceByCallerOrgId
このメソッドは、発信者の組織の合計残高を取得します。Token AdminToken AuditorOrg AdminOrg Auditorまたは任意のアカウント所有者によってコールできます。
func (t *Controller) GetTotalBalanceByCallerOrgId() (interface{}, error)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "TotalBalance": 180
          }
      ],
      "encode": "JSON"
  }
}
GetTransactionWithBlockNumber
このメソッドは、指定されたトランザクションIDのトランザクションの詳細を返します。
func (t *Controller) GetTransactionWithBlockNumber(token_id string, transaction_id string)
パラメータ:
  • token_id: string– トークンのID。
  • transaction_id: string– トランザクションのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "blockNo": 152,
              "key": "otransaction~eee2de20b4b042884da83e3b7b85d8532ad56f26a546ee25d227acce33375c1c",
              "metadata": null,
              "txnNo": 0,
              "value": null,
              "valueJson": {
                  "Amount": 10,
                  "AssetType": "otransaction",
                  "Category": "Category value",
                  "Description": "",
                  "FromAccountBalance": 130,
                  "FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "FromAccountOnHoldBalance": 10,
                  "HoldingId": "ohold~cbdc~USD~hold1",
                  "NumberOfSubTransactions": 0,
                  "SubTransaction": "false",
                  "SubTransactionType": "",
                  "Timestamp": "2024-11-21T20:43:59Z",
                  "ToAccountBalance": 10,
                  "ToAccountId": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
                  "ToAccountOnHoldBalance": 0,
                  "TokenId": "USD",
                  "TransactionId": "otransaction~eee2de20b4b042884da83e3b7b85d8532ad56f26a546ee25d227acce33375c1c",
                  "TransactionType": "EXECUTEHOLD"
              }
          }
      ],
      "encode": "JSON"
  }
}

卸売CBDCモデルの次のAPIが変更されました。

CreateAccount
このメソッドは、指定されたユーザーおよびトークンのアカウントを作成します。任意の時点でトークンを持つすべてのユーザーに対してアカウントを作成する必要があります。勘定科目は、残高、保留残高およびトランザクション履歴を追跡します。アカウントIDは、アセット・タイプとトークンIDを連結してから、組織IDとユーザーIDを連結してSHA-256ハッシュを作成することで形成されます。このメソッドをコールできるのは、チェーンコードのToken Adminのみです。
func (t *Controller) CreateAccount(org_id string, user_id string, token_type string, application_groups []string, daily_limits ...account.AccountDailyLimits) (interface{}, error)
パラメータ:
  • orgId– アカウントを作成するユーザーのメンバーシップ・サービス・プロバイダ(MSP)ID。IDは英数字で始める必要があり、文字、数字、およびアンダースコア(_)、ピリオド(.)、アットマーク(@)、ハイフン(-)などの特殊文字を含めることができます。
  • userId– ユーザーのユーザー名または電子メールID。IDは英数字で始める必要があり、文字、数字、およびアンダースコア(_)、ピリオド(.)、アットマーク(@)、ハイフン(-)などの特殊文字を含めることができます。
  • tokenType: TokenType– トークンのタイプ。fungibleである必要があります。
  • application_groups: string[]– ユーザーIDが属するアプリケーション・グループのリストで、CBDCアプリケーションでユーザーの関連付けを定義します。
  • daily_limits: DailyLimits– 次のタイプのJSONオブジェクト。
    {
         "max_daily_amount": 100000
         "max_daily_transactions": 10000
     }
    この例では、max_daily_amount値は毎日処理できるトークンの最大量であり、max_daily_transactions値は毎日完了できるトランザクションの最大数です。
  • endorsers: string[]– トランザクションを承認する必要があるピアの配列(peer1peer2など)。
戻り値の例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "261c3da4bb6f1724bc8f674c7b001a9b986bc9900d0508363039424926b143ed",
        "payload": {
            "AssetType": "oaccount",
            "AccountId": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "UserId": "admin_user_cb",
            "OrgId": "CB",
            "TokenType": "fungible",
            "TokenId": "",
            "TokenName": "",
            "Balance": 0,
            "BalanceOnHold": 0,
            "OnHoldBurnBalance": 0,
            "BapAccountVersion": 0,
            "ApplicationGroups": [
                "System_Admins"
            ],
            "MaxDailyAmount": 10000,
            "DailyAmount": 0,
            "MaxDailyTransactions": 100,
            "DailyTransactions": 0,
            "CurrentDate": "2024-12-09"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 246
    }
}

TypeScript卸売CBDCのSDKメソッド

setApplicationGroups
このメソッドは、API内の指定されたアプリケーション・グループのアカウント詳細のapplication_groupsパラメータを設定します。
this.Ctx.Account.setApplicationGroups (account_id, application_groups)
パラメータ:
  • account_id: string– アカウントのID。
  • application_groups: string[]– ユーザーIDが属するアプリケーション・グループのリスト。これにより、CBDCアプリケーションでユーザーの関連付けが定義されます。
戻り値の例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_Admins"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}
getAllActiveAccounts
このメソッドは、指定されたトークンIDに関連付けられているすべてのアクティブなアカウントを返します。
this.Ctx.CBDCToken.getAllActiveAccounts(token_id)
パラメータ:
  • token_id: string– トークンのID。
戻り値:
  • 成功時に、ユーザーの詳細を含むメッセージ。次の例に示すように、出力はユーザーの役割によって異なります。
戻り値の例(トークン管理、トークン監査者):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                "non_account_role_name": [
                    "token_admin"
                ],
                "role_name": null,
                "valueJson": {
                    "bapAccountVersion": 0,
                    "assetType": "oaccount",
                    "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                    "user_id": "admin_user_cb",
                    "org_id": "CB",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 0,
                    "onhold_balance": 0,
                    "onhold_burn_balance": 0,
                    "application_groups": [
                        "System_Admins"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
戻り値の例(組織管理、組織監査者):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
戻り値の例(他のすべてのユーザー):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
getAllSuspendedAccounts
このメソッドは、指定されたトークンIDに関連付けられているすべての中断アカウントを返します。
this.Ctx.CBDCToken.getAllSuspendedAccounts(token_id)
パラメータ:
  • token_id: string– トークンのID。
戻り値:
  • 成功時に、ユーザーの詳細を含むメッセージ。次の例に示すように、出力はユーザーの役割によって異なります。
戻り値の例(トークン管理、トークン監査者):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                "non_account_role_name": null,
                "role_name": null,
                "valueJson": {
                    "assetType": "oaccount",
                    "bapAccountVersion": 1,
                    "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                    "user_id": "user1_fi1",
                    "org_id": "FI1",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 5,
                    "onhold_balance": 0,
                    "onhold_burn_balance": 0,
                    "application_groups": [
                        "Org_Users"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
戻り値の例(組織管理、組織監査者):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
戻り値の例(他のすべてのユーザー):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD"
              }
          }
      ],
      "encode": "JSON"
  }
}
getBurnQuantity
このメソッドは、指定された組織の焼却トークンの合計量を返します。
this.Ctx.CBDCToken.getBurnQuantity(token_id)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": {
          "burnt_quantity": 31
      },
      "encode": "JSON"
  }
}
getActionHistory
このメソッドは、組織の詳細や関連するアカウント(送信者、受信者および公証人)のユーザーIDなど、ミント、バーンおよび転送(発行)操作のコール元による承認または拒否の履歴を取得します。
this.Ctx.CBDCToken.getActionHistory(token_id)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "from_org_id": "CB",
              "from_user_id": "retirer_user_cb",
              "holding_id": "ohold~cbdc~USD~eaf6",
              "holding_status": "REJECT_BURN",
              "last_updated_time": "2024-11-26T21:43:22.000Z",
              "notary_account_id": null,
              "notary_org_id": null,
              "notary_user_id": null,
              "operation_id": null,
              "quantity": 3,
              "timetoexpiration": null,
              "to_account_id": "",
              "to_org_id": null,
              "to_user_id": null,
              "token_id": "USD",
              "token_name": null
          },
          {
              "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "from_org_id": "CB",
              "from_user_id": "retirer_user_cb",
              "holding_id": "ohold~cbdc~USD~0031",
              "holding_status": "REJECT_BURN",
              "last_updated_time": "2024-11-26T21:43:15.000Z",
              "notary_account_id": null,
              "notary_org_id": null,
              "notary_user_id": null,
              "operation_id": null,
              "quantity": 2,
              "timetoexpiration": null,
              "to_account_id": "",
              "to_org_id": null,
              "to_user_id": null,
              "token_id": "USD",
              "token_name": null
          }
      ],
      "encode": "JSON"
  }
}
getPendingIssuance
このメソッドは、組織の詳細や関係するアカウント(送信者、受取人、および公証人)のユーザーIDなど、発信者が承認者として割り当てられている全ての発行待ち(振替)トランザクションを取得します。
this.Ctx.CBDCToken.getPendingIssuance(token_id)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "asset_type": "ONHOLD",
              "category": "category value",
              "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "from_org_id": "CB",
              "from_user_id": "creator_user_cb",
              "holding_id": "ohold~cbdc~USD~8e314",
              "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "notary_org_id": "CB",
              "notary_user_id": "manager_user_cb",
              "operation_id": "8e314",
              "quantity": 10,
              "timetoexpiration": "0",
              "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
              "to_org_id": "FI1",
              "to_user_id": "officer_user1_fi1",
              "token_id": "USD",
              "token_name": "cbdc"
          },
          {
              "asset_type": "ONHOLD",
              "category": "category value",
              "from_account_id": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
              "from_org_id": "CB",
              "from_user_id": "issuer_user_cb",
              "holding_id": "ohold~cbdc~USD~8e315",
              "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "notary_org_id": "CB",
              "notary_user_id": "manager_user_cb",
              "operation_id": "8e315",
              "quantity": 10,
              "timetoexpiration": "0",
              "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
              "to_org_id": "FI1",
              "to_user_id": "officer_user1_fi1",
              "token_id": "USD",
              "token_name": "cbdc"
          }
      ],
      "encode": "JSON"
  }
}
getPendingRequest
このメソッドは、コール元が承認者として割り当てられている、指定されたタイプのすべての保留リクエストを取得します。
this.Ctx.CBDCToken.getPendingRequest(token_id, request_type)
パラメータ:
  • token_id: string– トークンのID。
  • request_type: string– トランザクション・タイプ。たとえば、mintまたはburnです。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "valueJson": {
                  "assetType": "ohold",
                  "holding_id": "ohold~cbdc~USD~op123",
                  "operation_id": "op123",
                  "token_id": "USD",
                  "token_name": "cbdc",
                  "operation_type": "mint",
                  "status": "pending",
                  "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "to_account_id": "",
                  "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
                  "quantity": 10,
                  "time_to_expiration": "0",
                  "category": "category value",
                  "description": "description value"
              }
          }
      ],
      "encode": "JSON"
  }
}
getTotalBalanceByCallerOrgId
このメソッドは、発信者の組織の合計残高を取得します。
this.Ctx.CBDCToken.getTotalBalanceByCallerOrgId()
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "totalBalance": 704
          }
      ],
      "encode": "JSON"
  }
}
getTransactionWithBlockNumber
このメソッドは、指定されたトランザクションIDのトランザクションの詳細を返します。
this.Ctx.CBDCToken.getTransactionWithBlockNumber(token_id, transaction_id)
パラメータ:
  • token_id: string– トークンのID。
  • transaction_id: string– トランザクションのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "blockNo": 82,
              "key": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
              "metadata": null,
              "txnNo": 0,
              "value": null,
              "valueJson": {
                  "assetType": "otransaction",
                  "transaction_id": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
                  "token_id": "USD",
                  "from_account_id": "",
                  "from_account_balance": 0,
                  "from_account_onhold_balance": 0,
                  "to_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "to_account_balance": 100,
                  "to_account_onhold_balance": 0,
                  "transaction_type": "REQUEST_MINT",
                  "amount": 200,
                  "timestamp": "2024-11-20T06:48:42.000Z",
                  "number_of_sub_transactions": 0,
                  "holding_id": "",
                  "sub_transaction": "false",
                  "description": ""
              }
          }
      ],
      "encode": "JSON"
  }
}

卸売CBDCモデルの次のSDKメソッドが変更されました。

createAccount
このメソッドは、指定されたユーザーおよびトークンのアカウントを作成します。任意の時点でトークンを持つすべてのユーザーに対してアカウントを作成する必要があります。勘定科目は、残高、保留残高およびトランザクション履歴を追跡します。アカウントIDは、アセット・タイプとトークンIDを連結してから、組織IDとユーザーIDを連結してSHA-256ハッシュを作成することで形成されます。
this.Ctx.Account.createAccount(org_id, user_id, token_type, application_groups, daily_limits)
パラメータ:
  • orgId– アカウントを作成するユーザーのメンバーシップ・サービス・プロバイダ(MSP)ID。IDは英数字で始める必要があり、文字、数字、およびアンダースコア(_)、ピリオド(.)、アットマーク(@)、ハイフン(-)などの特殊文字を含めることができます。
  • userId– ユーザーのユーザー名または電子メールID。IDは英数字で始める必要があり、文字、数字、およびアンダースコア(_)、ピリオド(.)、アットマーク(@)、ハイフン(-)などの特殊文字を含めることができます。
  • tokenType: TokenType– トークンのタイプ。fungibleである必要があります。
  • application_groups: string[]– ユーザーIDが属するアプリケーション・グループのリストで、CBDCアプリケーションでユーザーの関連付けを定義します。
  • daily_limits: DailyLimits– 次のタイプのJSONオブジェクト。
    {
         "max_daily_amount": 100000
         "max_daily_transactions": 10000
     }
    この例では、max_daily_amount値は毎日処理できるトークンの最大量であり、max_daily_transactions値は毎日完了できるトランザクションの最大数です。
  • endorsers: string[]– トランザクションを承認する必要があるピアの配列(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,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_Admins"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}

卸売CBDCのGo SDKメソッド

SetApplicationGroups
このメソッドは、API内の指定されたアプリケーション・グループのアカウント詳細のapplication_groupsパラメータを設定します。
t.Ctx.CbdcToken.SetApplicationGroups(account_id, application_groups)
パラメータ:
  • account_id: string– アカウントのID。
  • application_groups: string[]– ユーザーIDが属するアプリケーション・グループのリスト。これにより、CBDCアプリケーションでユーザーの関連付けが定義されます。
戻り値の例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "261c3da4bb6f1724bc8f674c7b001a9b986bc9900d0508363039424926b143ed",
        "payload": {
            "AssetType": "oaccount",
            "AccountId": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "UserId": "admin_user_cb",
            "OrgId": "CB",
            "TokenType": "fungible",
            "TokenId": "",
            "TokenName": "",
            "Balance": 0,
            "BalanceOnHold": 0,
            "OnHoldBurnBalance": 0,
            "BapAccountVersion": 0,
            "ApplicationGroups": [
                "System_Admins"
            ],
            "MaxDailyAmount": 10000,
            "DailyAmount": 0,
            "MaxDailyTransactions": 100,
            "DailyTransactions": 0,
            "CurrentDate": "2024-12-09"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 246
    }
}
GetAllActiveAccounts
このメソッドは、指定されたトークンIDに関連付けられているすべてのアクティブなアカウントを返します。
t.Ctx.CbdcToken.GetAllActiveAccounts(token_id)
パラメータ:
  • token_id: string– トークンのID。
戻り値:
  • 成功時に、ユーザーの詳細を含むメッセージ。次の例に示すように、出力はユーザーの役割によって異なります。
戻り値の例(トークン管理、トークン監査者):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "NonAccountRoleName": "[\"token_admin\"]",
                "RoleName": null,
                "key": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
                "valueJson": {
                    "AccountId": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
                    "ApplicationGroups": [
                        "System_Issuers"
                    ],
                    "AssetType": "oaccount",
                    "Balance": 0,
                    "BalanceOnHold": 0,
                    "OnHoldBurnBalance": 0,
                    "BapAccountVersion": 0,
                    "CurrentDate": "2024-11-21",
                    "DailyAmount": 0,
                    "DailyTransactions": 0,
                    "MaxDailyAmount": 10000,
                    "MaxDailyTransactions": 100,
                    "OrgId": "CB",
                    "TokenId": "USD",
                    "TokenName": "cbdc",
                    "TokenType": "fungible",
                    "UserId": "admin_user_cb"
                }
            }
        ],
        "encode": "JSON"
    }
}
戻り値の例(組織管理、組織監査者):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "NonAccountRoleName": "[\"token_auditor\"]",
              "RoleName": null,
              "key": "oaccount~bd6262ffdf582675dd9b2506c1d5488864feef0b9e297a9a3322b7c683ad6214",
              "valueJson": {
                  "AccountId": "oaccount~bd6262ffdf582675dd9b2506c1d5488864feef0b9e297a9a3322b7c683ad6214",
                  "OrgId": "CB",
                  "TokenId": "USD",
                  "UserId": "auditor_user_cb",
                  "MaxDailyAmount": 10000,
                  "MaxDailyTransactions": 100,
              }
          }
      ],
      "encode": "JSON"
  }
}
戻り値の例(他のすべてのユーザー):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "NonAccountRoleName": "[\"token_admin\"]",
              "RoleName": null,
              "key": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
              "valueJson": {
                  "AccountId": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
                  "OrgId": "CB",
                  "TokenId": "USD",
                  "UserId": "admin_user_cb"
              }
          }
      ],
      "encode": "JSON"
  }
}
GetAllSuspendedAccounts
このメソッドは、指定されたトークンIDに関連付けられているすべての中断アカウントを返します。
t.Ctx.CbdcToken.GetAllSuspendedAccounts(token_id)
パラメータ:
  • token_id: string– トークンのID。
戻り値:
  • 成功時に、ユーザーの詳細を含むメッセージ。次の例に示すように、出力はユーザーの役割によって異なります。
戻り値の例(トークン管理、トークン監査者):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "NonAccountRoleName": null,
              "RoleName": "minter",
              "key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "valueJson": {
                  "AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "ApplicationGroups": [
                      "System_Admins"
                  ],
                  "AssetType": "oaccount",
                  "Balance": 140,
                  "BalanceOnHold": 0,
                  "OnHoldBurnBalance": 0,
                  "BapAccountVersion": 8,
                  "CurrentDate": "2024-11-21",
                  "DailyAmount": 70,
                  "DailyTransactions": 3,
                  "MaxDailyAmount": 10000,
                  "MaxDailyTransactions": 100,
                  "OrgId": "CB",
                  "TokenId": "USD",
                  "TokenName": "cbdc",
                  "TokenType": "fungible",
                  "UserId": "creator_user_cb"
              }
          }
      ],
      "encode": "JSON"
  }
}
戻り値の例(組織管理、組織監査者):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "NonAccountRoleName": null,
              "RoleName": "minter",
              "key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "valueJson": {
                  "AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "OrgId": "CB",
                  "TokenId": "USD",
                  "UserId": "creator_user_cb",
                  "MaxDailyAmount": 10000,
                  "MaxDailyTransactions": 100,
              }
          }
      ],
      "encode": "JSON"
  }
}
戻り値の例(他のすべてのユーザー):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "NonAccountRoleName": null,
                "RoleName": "minter",
                "key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "valueJson": {
                    "AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                    "OrgId": "CB",
                    "TokenId": "USD",
                    "UserId": "creator_user_cb"
                }
            }
        ],
        "encode": "JSON"
    }
}
GetBurnQuantity
このメソッドは、指定された組織の焼却トークンの合計量を返します。
t.Ctx.CbdcToken.GetBurnQuantity(token_id)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": {
          "BurnQuantity": 10
      },
      "encode": "JSON"
  }
}
GetActionHistory
このメソッドは、組織の詳細や関連するアカウント(送信者、受信者および公証人)のユーザーIDなど、ミント、バーンおよび転送(発行)操作のコール元による承認または拒否の履歴を取得します。
t.Ctx.CbdcToken.GetActionHistory(token_id)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "FromAccountId": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "FromOrgId": "CB",
              "FromUserId": "retirer_user_cb",
              "HoldingId": "ohold~cbdc~USD~6e1223",
              "HoldingStatus": "REJECT_BURN",
              "LastUpdatedTime": "2024-11-21T22:08:26Z",
              "NotaryAccountId": null,
              "NotaryOrgId": null,
              "NotaryUserId": null,
              "OperationId": null,
              "Quantity": 5,
              "TimeToExpiration": null,
              "ToAccountId": "",
              "ToOrgId": null,
              "ToUserId": null,
              "TokenId": "USD",
              "TokenName": null
          },
          {
              "FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "FromOrgId": "CB",
              "FromUserId": "creator_user_cb",
              "HoldingId": "ohold~cbdc~USD~hold2",
              "HoldingStatus": "RELEASEHOLD",
              "LastUpdatedTime": "2024-11-21T21:54:33Z",
              "NotaryAccountId": null,
              "NotaryOrgId": null,
              "NotaryUserId": null,
              "OperationId": null,
              "Quantity": 10,
              "TimeToExpiration": null,
              "ToAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "ToOrgId": "CB",
              "ToUserId": "creator_user_cb",
              "TokenId": "USD",
              "TokenName": null
          }
      ],
      "encode": "JSON"
  }
}
GetPendingIssuance
このメソッドは、組織の詳細や関係するアカウント(送信者、受取人、および公証人)のユーザーIDなど、発信者が承認者として割り当てられている全ての発行待ち(振替)トランザクションを取得します。
t.Ctx.CbdcToken.GetPendingIssuance(token_id)
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "AssetType": "ONHOLD",
              "FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "FromOrgId": "CB",
              "FromUserId": "creator_user_cb",
              "HoldingId": "ohold~cbdc~USD~h123",
              "NotaryAccountId": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "NotaryOrgId": "CB",
              "NotaryUserId": "manager_user_cb",
              "OperationId": "h123",
              "Quantity": 10,
              "TimeToExpiration": "0",
              "ToAccountId": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
              "ToOrgId": "CB",
              "ToUserId": "issuer_user_cb",
              "TokenId": "USD",
              "TokenName": "cbdc"
          }
      ],
      "encode": "JSON"
  }
}
GetPendingRequest
このメソッドは、コール元が承認者として割り当てられている、指定されたタイプのすべての保留リクエストを取得します。
t.Ctx.CbdcToken.GetPendingRequest(token_id, request_type)
パラメータ:
  • token_id: string– トークンのID。
  • request_type: string– トランザクション・タイプ。たとえば、mintまたはburnです。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "valueJson": {
                  "AssetType": "ohold",
                  "Category": "Category value",
                  "Description": "Description value",
                  "FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "HoldingId": "ohold~cbdc~USD~8e1232",
                  "NotaryAccountId": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
                  "OperationId": "8e1232",
                  "OperationType": "mint",
                  "Quantity": 100,
                  "Status": "pending",
                  "TimeToExpiration": "0",
                  "ToAccountId": "",
                  "TokenId": "USD",
                  "TokenName": "cbdc"
              }
          }
      ],
      "encode": "JSON"
  }
}
GetTotalBalanceByCallerOrgId
このメソッドは、発信者の組織の合計残高を取得します。
t.Ctx.CbdcToken.GetTotalBalanceByCallerOrgId()
パラメータ:
  • token_id: string– トークンのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "TotalBalance": 180
          }
      ],
      "encode": "JSON"
  }
}
GetTransactionWithBlockNumber
このメソッドは、指定されたトランザクションIDのトランザクションの詳細を返します。
t.Ctx.CbdcToken.GetTransactionWithBlockNumber(token_id, transaction_id)
パラメータ:
  • token_id: string– トークンのID。
  • transaction_id: string– トランザクションのID。
戻り値の例:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "blockNo": 152,
              "key": "otransaction~eee2de20b4b042884da83e3b7b85d8532ad56f26a546ee25d227acce33375c1c",
              "metadata": null,
              "txnNo": 0,
              "value": null,
              "valueJson": {
                  "Amount": 10,
                  "AssetType": "otransaction",
                  "Category": "Category value",
                  "Description": "",
                  "FromAccountBalance": 130,
                  "FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "FromAccountOnHoldBalance": 10,
                  "HoldingId": "ohold~cbdc~USD~hold1",
                  "NumberOfSubTransactions": 0,
                  "SubTransaction": "false",
                  "SubTransactionType": "",
                  "Timestamp": "2024-11-21T20:43:59Z",
                  "ToAccountBalance": 10,
                  "ToAccountId": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
                  "ToAccountOnHoldBalance": 0,
                  "TokenId": "USD",
                  "TransactionId": "otransaction~eee2de20b4b042884da83e3b7b85d8532ad56f26a546ee25d227acce33375c1c",
                  "TransactionType": "EXECUTEHOLD"
              }
          }
      ],
      "encode": "JSON"
  }
}

卸売CBDCモデルの次のSDKメソッドが変更されました。

CreateAccount
このメソッドは、指定されたユーザーおよびトークンのアカウントを作成します。任意の時点でトークンを持つすべてのユーザーに対してアカウントを作成する必要があります。勘定科目は、残高、保留残高およびトランザクション履歴を追跡します。アカウントIDは、アセット・タイプとトークンIDを連結してから、組織IDとユーザーIDを連結してSHA-256ハッシュを作成することで形成されます。
t.Ctx.Account.CreateAccount(org_id, user_id, token_type, application_groups, daily_limits...)
パラメータ:
  • orgId– アカウントを作成するユーザーのメンバーシップ・サービス・プロバイダ(MSP)ID。IDは英数字で始める必要があり、文字、数字、およびアンダースコア(_)、ピリオド(.)、アットマーク(@)、ハイフン(-)などの特殊文字を含めることができます。
  • userId– ユーザーのユーザー名または電子メールID。IDは英数字で始める必要があり、文字、数字、およびアンダースコア(_)、ピリオド(.)、アットマーク(@)、ハイフン(-)などの特殊文字を含めることができます。
  • tokenType: TokenType– トークンのタイプ。fungibleである必要があります。
  • application_groups: string[]– ユーザーIDが属するアプリケーション・グループのリストで、CBDCアプリケーションでユーザーの関連付けを定義します。
  • daily_limits: DailyLimits– 次のタイプのJSONオブジェクト。
    {
         "max_daily_amount": 100000
         "max_daily_transactions": 10000
     }
    この例では、max_daily_amount値は毎日処理できるトークンの最大量であり、max_daily_transactions値は毎日完了できるトランザクションの最大数です。
  • endorsers: string[]– トランザクションを承認する必要があるピアの配列(peer1peer2など)。
戻り値の例:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "261c3da4bb6f1724bc8f674c7b001a9b986bc9900d0508363039424926b143ed",
        "payload": {
            "AssetType": "oaccount",
            "AccountId": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "UserId": "admin_user_cb",
            "OrgId": "CB",
            "TokenType": "fungible",
            "TokenId": "",
            "TokenName": "",
            "Balance": 0,
            "BalanceOnHold": 0,
            "OnHoldBurnBalance": 0,
            "BapAccountVersion": 0,
            "ApplicationGroups": [
                "System_Admins"
            ],
            "MaxDailyAmount": 10000,
            "DailyAmount": 0,
            "MaxDailyTransactions": 100,
            "DailyTransactions": 0,
            "CurrentDate": "2024-12-09"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 246
    }
}