도매 CBDC에 대한 TypeScript 메소드

도매 CBDC 체인코드에는 일반 토큰 분류법 프레임워크 NFT 체인코드에서 사용할 수 있는 모든 TypeScript 메소드가 포함됩니다. 도매 CBDC 시나리오와 관련된 다음 추가 방법도 사용할 수 있습니다.

일반 토큰 분류법 프레임워크 방법에 대한 자세한 내용은 Blockchain App Builder for Oracle Blockchain PlatformScaffolded TypeScript Project for Token Taxonomy Framework를 참조하십시오.

주:

도매 CBDC 체인 코드에서 createAccount 메소드는 다음 정보에 표시된 것처럼 일반 버전과 다르게 작동합니다.

도매 CBDC에 대한 TypeScript 메소드

다음 API는 도매 CBDC 모델에 대해 수정되었습니다.

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[] – 트랜잭션을 보증해야 하는 피어의 배열(예: peer1, peer2)입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_Admins"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}
setApplicationGroups
이 메소드는 API에서 지정된 애플리케이션 그룹에 대한 계정 세부정보에 application_groups 매개변수를 설정합니다. 이 메소드는 지정된 조직의 Token Admin 또는 Org Admin에 의해서만 호출될 수 있습니다.
public async setApplicationGroups (org_id: string, user_id: string, token_id: string, application_groups: string[])
매개변수:
  • org_id: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • user_id: string – 사용자의 사용자 이름 또는 전자메일 ID입니다.
  • token_id: string – 토큰 ID입니다.
  • application_groups: string[] – 사용자 ID가 속한 응용 프로그램 그룹 목록으로, CBDC 응용 프로그램에서 사용자의 연관을 정의합니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_Admins"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}
getAllActiveAccounts
이 메소드는 지정된 토큰 ID와 연관된 모든 활성 계정을 반환합니다. 모든 유저가 이 메소드를 호출할 수 있습니다.
public async getAllActiveAccounts(token_id: string)
매개변수:
  • token_id: string – 토큰 ID입니다.
반환값:
  • 성공 시 사용자 세부 정보가 포함된 메시지입니다. 출력은 다음 예에 표시된 대로 사용자의 역할에 따라 달라집니다.
반환 값 예(토큰 관리자, 토큰 감사자):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                "non_account_role_name": [
                    "token_admin"
                ],
                "role_name": null,
                "valueJson": {
                    "bapAccountVersion": 0,
                    "assetType": "oaccount",
                    "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                    "user_id": "admin_user_cb",
                    "org_id": "CB",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 0,
                    "onhold_balance": 0,
                    "onhold_burn_balance": 0,
                    "application_groups": [
                        "System_Admins"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
반환 값 예(조직 관리자, 조직 감사자):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
반환 값 예제(다른 모든 사용자):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
getAllSuspendedAccounts
이 메소드는 지정된 토큰 ID와 연관된 일시 중지된 계정을 모두 반환합니다. 모든 유저가 이 메소드를 호출할 수 있습니다.
func (t *Controller) GetAllSuspendedAccounts(token_id string) (interface{}, error)
매개변수:
  • token_id: string – 토큰 ID입니다.
반환값:
  • 성공 시 사용자 세부 정보가 포함된 메시지입니다. 출력은 다음 예에 표시된 대로 사용자의 역할에 따라 달라집니다.
반환 값 예(토큰 관리자, 토큰 감사자):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                "non_account_role_name": null,
                "role_name": null,
                "valueJson": {
                    "assetType": "oaccount",
                    "bapAccountVersion": 1,
                    "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                    "user_id": "user1_fi1",
                    "org_id": "FI1",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 5,
                    "onhold_balance": 0,
                    "onhold_burn_balance": 0,
                    "application_groups": [
                        "Org_Users"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
반환 값 예(조직 관리자, 조직 감사자):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
반환 값 예제(다른 모든 사용자):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD"
              }
          }
      ],
      "encode": "JSON"
  }
}
getBurnQuantity
이 방법은 지정된 조직에 대해 레코딩된 토큰의 총 수량을 반환합니다. 이 메소드는 Token Admin, Token Auditor 또는 버너 롤을 가진 사용자만 호출할 수 있습니다.
public async getBurnQuantity(token_id: string)
매개변수:
  • token_id: string – 토큰 ID입니다.
반환 값 예제:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": {
          "burnt_quantity": 31
      },
      "encode": "JSON"
  }
}
getActionHistory
이 방법은 조직 세부정보 및 관련 계정(발신자, 수신자 및 공증)의 사용자 ID를 포함하여 민트, 레코딩 및 이전(발행) 작업에 대해 호출자가 수행한 승인 또는 거부 기록을 검색합니다.
public async getActionHistory(token_id: string)
매개변수:
  • token_id: string – 토큰 ID입니다.
반환 값 예제:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "from_org_id": "CB",
              "from_user_id": "retirer_user_cb",
              "holding_id": "ohold~cbdc~USD~eaf6",
              "holding_status": "REJECT_BURN",
              "last_updated_time": "2024-11-26T21:43:22.000Z",
              "notary_account_id": null,
              "notary_org_id": null,
              "notary_user_id": null,
              "operation_id": null,
              "quantity": 3,
              "timetoexpiration": null,
              "to_account_id": "",
              "to_org_id": null,
              "to_user_id": null,
              "token_id": "USD",
              "token_name": null
          },
          {
              "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "from_org_id": "CB",
              "from_user_id": "retirer_user_cb",
              "holding_id": "ohold~cbdc~USD~0031",
              "holding_status": "REJECT_BURN",
              "last_updated_time": "2024-11-26T21:43:15.000Z",
              "notary_account_id": null,
              "notary_org_id": null,
              "notary_user_id": null,
              "operation_id": null,
              "quantity": 2,
              "timetoexpiration": null,
              "to_account_id": "",
              "to_org_id": null,
              "to_user_id": null,
              "token_id": "USD",
              "token_name": null
          }
      ],
      "encode": "JSON"
  }
}
getPendingIssuance
이 방법은 발신자가 승인자로 지정된 모든 보류 중인 출고(이전) 트랜잭션을 검색합니다. 여기에는 조직의 세부정보 및 관련된 계정의 사용자 ID(발신자, 수신자 및 공증)가 포함됩니다. 이 메소드는 체인 코드의 Token Admin 또는 Token Auditor, 지정된 조직의 Org Admin 또는 Org Auditor 또는 Notary에 의해서만 호출될 수 있습니다.
public async getPendingIssuance(token_id: string)
매개변수:
  • token_id: string – 토큰 ID입니다.
반환 값 예제:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "asset_type": "ONHOLD",
              "category": "category value",
              "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "from_org_id": "CB",
              "from_user_id": "creator_user_cb",
              "holding_id": "ohold~cbdc~USD~8e314",
              "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "notary_org_id": "CB",
              "notary_user_id": "manager_user_cb",
              "operation_id": "8e314",
              "quantity": 10,
              "timetoexpiration": "0",
              "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
              "to_org_id": "FI1",
              "to_user_id": "officer_user1_fi1",
              "token_id": "USD",
              "token_name": "cbdc"
          },
          {
              "asset_type": "ONHOLD",
              "category": "category value",
              "from_account_id": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
              "from_org_id": "CB",
              "from_user_id": "issuer_user_cb",
              "holding_id": "ohold~cbdc~USD~8e315",
              "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "notary_org_id": "CB",
              "notary_user_id": "manager_user_cb",
              "operation_id": "8e315",
              "quantity": 10,
              "timetoexpiration": "0",
              "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
              "to_org_id": "FI1",
              "to_user_id": "officer_user1_fi1",
              "token_id": "USD",
              "token_name": "cbdc"
          }
      ],
      "encode": "JSON"
  }
}
getPendingRequest
이 메소드는 호출자가 승인자로 지정된 지정된 유형의 보류 중인 모든 요청을 검색합니다. 이 메소드는 체인 코드의 Token Admin 또는 Token Auditor, 지정된 조직의 Org Admin 또는 Org Auditor 또는 Notary에 의해서만 호출될 수 있습니다.
public async getPendingRequest(token_id: string, request_type: string)
매개변수:
  • token_id: string – 토큰 ID입니다.
  • request_type: string – 트랜잭션 유형입니다. 예를 들어, mint 또는 burn입니다.
반환 값 예제:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "valueJson": {
                  "assetType": "ohold",
                  "holding_id": "ohold~cbdc~USD~op123",
                  "operation_id": "op123",
                  "token_id": "USD",
                  "token_name": "cbdc",
                  "operation_type": "mint",
                  "status": "pending",
                  "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "to_account_id": "",
                  "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
                  "quantity": 10,
                  "time_to_expiration": "0",
                  "category": "category value",
                  "description": "description value"
              }
          }
      ],
      "encode": "JSON"
  }
}
getTotalBalanceByCallerOrgId
이 메소드는 호출자 조직의 총 잔액을 검색합니다. Token Admin, Token Auditor, Org Admin, Org Auditor 또는 임의의 계정 소유자가 호출할 수 있습니다.
public async getTotalBalanceByCallerOrgId()
매개변수:
  • token_id: string – 토큰 ID입니다.
반환 값 예제:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "totalBalance": 704
          }
      ],
      "encode": "JSON"
  }
}
getTransactionWithBlockNumber
이 메소드는 지정된 트랜잭션 ID에 대한 트랜잭션 세부정보를 반환합니다.
public async getTransactionWithBlockNumber(token_id: string, transaction_id: string)
매개변수:
  • token_id: string – 토큰 ID입니다.
  • transaction_id: string – 트랜잭션의 ID입니다.
반환 값 예제:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "blockNo": 82,
              "key": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
              "metadata": null,
              "txnNo": 0,
              "value": null,
              "valueJson": {
                  "assetType": "otransaction",
                  "transaction_id": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
                  "token_id": "USD",
                  "from_account_id": "",
                  "from_account_balance": 0,
                  "from_account_onhold_balance": 0,
                  "to_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "to_account_balance": 100,
                  "to_account_onhold_balance": 0,
                  "transaction_type": "REQUEST_MINT",
                  "amount": 200,
                  "timestamp": "2024-11-20T06:48:42.000Z",
                  "number_of_sub_transactions": 0,
                  "holding_id": "",
                  "sub_transaction": "false",
                  "description": ""
              }
          }
      ],
      "encode": "JSON"
  }
}

도매 CBDC용 TypeScript SDK 방법

도매 CBDC 모델에 대해 다음 SDK 방법이 수정되었습니다.

createAccount
이 메소드는 지정된 사용자 및 토큰의 계정을 만듭니다. 언제든지 토큰을 가질 사용자에 대해 계정을 생성해야 합니다. 계정은 잔액, 보류 중인 잔액 및 트랜잭션 기록을 추적합니다. 계정 ID는 자산 유형과 토큰 ID를 연결한 다음 조직 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[] – 트랜잭션을 보증해야 하는 피어의 배열(예: peer1, peer2)입니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_Admins"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}
setApplicationGroups
이 메소드는 API에서 지정된 애플리케이션 그룹에 대한 계정 세부정보에 application_groups 매개변수를 설정합니다.
this.Ctx.Account.setApplicationGroups (account_id, application_groups)
매개변수:
  • account_id: string – 계정의 ID입니다.
  • application_groups: string[] – 사용자 ID가 속한 응용 프로그램 그룹 목록으로, CBDC 응용 프로그램에서 사용자의 연관을 정의합니다.
반환 값 예제:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_Admins"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}
getAllActiveAccounts
이 메소드는 지정된 토큰 ID와 연관된 모든 활성 계정을 반환합니다.
this.Ctx.CBDCToken.getAllActiveAccounts(token_id)
매개변수:
  • token_id: string – 토큰 ID입니다.
반환값:
  • 성공 시 사용자 세부 정보가 포함된 메시지입니다. 출력은 다음 예에 표시된 대로 사용자의 역할에 따라 달라집니다.
반환 값 예(토큰 관리자, 토큰 감사자):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                "non_account_role_name": [
                    "token_admin"
                ],
                "role_name": null,
                "valueJson": {
                    "bapAccountVersion": 0,
                    "assetType": "oaccount",
                    "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                    "user_id": "admin_user_cb",
                    "org_id": "CB",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 0,
                    "onhold_balance": 0,
                    "onhold_burn_balance": 0,
                    "application_groups": [
                        "System_Admins"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
반환 값 예(조직 관리자, 조직 감사자):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
반환 값 예제(다른 모든 사용자):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
getAllSuspendedAccounts
이 메소드는 지정된 토큰 ID와 연관된 일시 중지된 계정을 모두 반환합니다.
this.Ctx.CBDCToken.getAllSuspendedAccounts(token_id)
매개변수:
  • token_id: string – 토큰 ID입니다.
반환값:
  • 성공 시 사용자 세부 정보가 포함된 메시지입니다. 출력은 다음 예에 표시된 대로 사용자의 역할에 따라 달라집니다.
반환 값 예(토큰 관리자, 토큰 감사자):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                "non_account_role_name": null,
                "role_name": null,
                "valueJson": {
                    "assetType": "oaccount",
                    "bapAccountVersion": 1,
                    "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                    "user_id": "user1_fi1",
                    "org_id": "FI1",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 5,
                    "onhold_balance": 0,
                    "onhold_burn_balance": 0,
                    "application_groups": [
                        "Org_Users"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
반환 값 예(조직 관리자, 조직 감사자):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
반환 값 예제(다른 모든 사용자):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD"
              }
          }
      ],
      "encode": "JSON"
  }
}
getBurnQuantity
이 방법은 지정된 조직에 대해 레코딩된 토큰의 총 수량을 반환합니다.
this.Ctx.CBDCToken.getBurnQuantity(token_id)
매개변수:
  • token_id: string – 토큰 ID입니다.
반환 값 예제:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": {
          "burnt_quantity": 31
      },
      "encode": "JSON"
  }
}
getActionHistory
이 방법은 조직 세부정보 및 관련 계정(발신자, 수신자 및 공증)의 사용자 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"
  }
}