Confidential Wholesale CBDC-Modell

Die erweiterte Version von Blockchain App Builder enthält Modellattribute, die zusätzliche Methoden für eine vertrauliche Version des CBDC-Szenarios (Digital Currency) der Großhandelszentralbank generieren.

Wenn Sie die Parameter model: wcbdc und confidential: true in die Spezifikationsdatei für Token aufnehmen, die den erweiterten Token Taxonomy Framework-Standard verwenden, generiert Blockchain App Builder anwendungsspezifischen Chaincode, einschließlich der folgenden zusätzlichen TypeScript-Methoden und -Funktionen zur Verwendung mit der vertraulichen CBDC-Großhandelsanwendung. Darüber hinaus werden die createAccount-Methoden für das vertrauliche CBDC-Großhandelsmodell geändert.

Informationen zum Konfigurieren und Installieren der CBDC-Beispielanwendung für den Großhandel (sowohl die generische als auch die vertrauliche Version) finden Sie unter Oracle Database View Definitions for Wholesale CBDC und CBDC-Beispielanwendung und Analysepackage für den Großhandel.

TypeScript Methoden für Confidential Wholesale CBDC

Der vertrauliche CBDC-Großhandelskettencode umfasst alle Methoden, die im erweiterten Token Taxonomy Framework-Kettencode verfügbar sind. Die folgenden zusätzlichen Methoden, die für das vertrauliche CBDC-Großhandelszenario spezifisch sind, sind verfügbar.
createAccount
Mit dieser Methode wird ein Account für einen angegebenen Benutzer und ein bestimmtes Token erstellt. Ein Konto muss für jeden Benutzer erstellt werden, der zu einem beliebigen Zeitpunkt Token hat. Diese Methode kann nur von einer Token Admin oder einer Org Admin der angegebenen Organisation aufgerufen werden.
@Validator(yup.string(), yup.string(), yup.string(), yup.array().of(yup.string()), yup.object().nullable())
  public async createAccount(org_id: string, user_id: string, token_type: string, application_groups: string[], dailyLimits?: DailyLimits) {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.createAccount", "TOKEN", { org_id });
    await this.Ctx.Model.createEvent(EVENT_NAME.CREATE_ACCOUNT, { org_id, user_id, token_type, application_groups, dailyLimits });
    return await this.Ctx.Account.createAccount(org_id, user_id, token_type, application_groups, dailyLimits);
  }
Parameter:
  • org_id - Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers, für den das Konto erstellt werden soll. Die ID muss mit einem alphanumerischen Zeichen beginnen und kann Buchstaben, Zahlen und Sonderzeichen wie Unterstriche (_), Punkte (.), At-Zeichen (@) und Bindestriche (-) enthalten.
  • user_id: Der Benutzername oder die E-Mail-ID des Benutzers. Die ID muss mit einem alphanumerischen Zeichen beginnen und kann Buchstaben, Zahlen und Sonderzeichen wie Unterstriche (_), Punkte (.), At-Zeichen (@) und Bindestriche (-) enthalten.
  • token_type: string: Der Tokentyp, der fungible sein muss.
  • application_groups: string[]: Eine Liste der Anwendungsgruppen, zu denen die Benutzer-ID gehört und die Zuordnungen des Benutzers in der CBDC-Anwendung definieren.
  • daily_limits: DailyLimits: Ein JSON-Objekt des folgenden Typs.
    {
         "max_daily_amount": 100000
         "max_daily_transactions": 10000
     }
    Im Beispiel ist der Wert max_daily_amount die maximale Anzahl von Token, die täglich ausgeführt werden können, und der Wert max_daily_transactions ist die maximale Anzahl von Transaktionen, die täglich abgeschlossen werden können.
Beispiel für Rückgabewert:
{
    "bapAccountVersion": 0,
    "assetType": "oaccount",
    "account_id": "oaccount~b53cb2c19c92d1d5c8cb9f6e988e7761c34e03e014e6c4b889565fc0abf46c8a",
    "org_id": "CentralBank",
    "token_type": "fungible",
    "token_id": "",
    "token_name": "",
    "balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "onhold_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "onhold_burn_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "application_groups": [
        "CENTRAL_BANK_USERS"
    ]
}
setApplicationGroups
Mit dieser Methode wird der Parameter application_groups in den Accountdetails für die angegebenen Anwendungsgruppen in der API festgelegt. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
@Validator(yup.string(), yup.array().of(yup.string()))
  public async setApplicationGroups (account_id: string, application_groups: string[]) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization('CBDC_TOKEN.setApplicationGroups', 'TOKEN', { org_id: account.org_id });
    const token_asset = await this.getTokenObject(account.token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.SET_APPLICATION_GROUPS, { account_id, application_groups }, token_asset);
    return this.Ctx.Account.setApplicationGroups (account_id, application_groups)
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
  • application_groups: string[]: Eine Liste der Anwendungsgruppen, zu denen die Account-ID gehört, die die Zuordnungen des Benutzers in der CBDC-Anwendung definieren.
Beispiel für Rückgabewert:
{
          "bapAccountVersion": 10,
          "assetType": "oaccount",
          "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
          "org_id": "CentralBank",
          "token_type": "fungible",
          "token_id": "USD",
          "token_name": "cbdc",
          "balance": "02c4601262fa7ece1ffc909811f829ad973d4133ca27c9c0fa82972d441400ad3e",
          "onhold_balance": "028954d23bfabee1a10d9f5a07793dec08ab0f93fd506079b0fa33f525d527595f",
          "onhold_burn_balance": "028954d23bfabee1a10d9f5a07793dec08ab0f93fd506079b0fa33f525d527595f",
          "application_groups": [
              "SYSTEM_RETIRERS"
          ]
      }
getBurnQuantity
Diese Methode gibt die Gesamtmenge der verbrannten Token für eine bestimmte Organisation zurück. Diese Methode kann nur von einem Token Admin, Token Auditor oder einem Benutzer mit der Burner-Rolle aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getBurnQuantity(token_id: string) {
    return await this.Ctx.CBDCToken.getBurnQuantity(token_id);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
Beispiel für Rückgabewert:
{
           "burnt_quantity": 1200
       }
getActionHistory
Diese Methode ruft die Historie der Genehmigungen oder Ablehnungen ab, die der Anrufer für Mint-, Burn- und Transfervorgänge (Abgabevorgänge) vorgenommen hat, einschließlich Details der Organisation und Benutzer-IDs der beteiligten Konten (Absender, Empfänger und Notar).
@GetMethod()
  @Validator(yup.string())
  public async getActionHistory(token_id: string) {
    return await this.Ctx.CBDCToken.getActionHistory(token_id);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
Beispiel für Rückgabewert:
[
           {
               "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~b770",
               "holding_status": "APPROVE_BURN",
               "last_updated_time": "2025-08-25T13:21:24.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": null,
               "to_org_id": null,
               "token_name": null,
               "quantity": 200
           },
           {
               "from_account_id": null,
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~e7b6",
               "holding_status": "APPROVE_MINT",
               "last_updated_time": "2025-08-25T13:20:50.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 1000
           },
           {
               "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~81d7c4ac",
               "holding_status": "EXECUTEHOLD",
               "last_updated_time": "2025-08-25T13:16:55.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
               "to_org_id": "Org1",
               "token_name": null,
               "quantity": 200
           },
           {
               "from_account_id": null,
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~1e19",
               "holding_status": "APPROVE_MINT",
               "last_updated_time": "2025-08-13T06:12:41.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 10000
           },
           {
               "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~1f74",
               "holding_status": "REJECT_BURN",
               "last_updated_time": "2025-08-12T21:09:53.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "",
               "to_org_id": null,
               "token_name": null,
               "quantity": 1000
           },
           {
               "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~d67c",
               "holding_status": "REJECT_BURN",
               "last_updated_time": "2025-08-12T21:09:47.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "",
               "to_org_id": null,
               "token_name": null,
               "quantity": 2000
           },
           {
               "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~911b",
               "holding_status": "APPROVE_BURN",
               "last_updated_time": "2025-08-12T21:09:40.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": null,
               "to_org_id": null,
               "token_name": null,
               "quantity": 1000
           },
           {
               "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~ed815e20",
               "holding_status": "EXECUTEHOLD",
               "last_updated_time": "2025-08-12T21:09:25.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
               "to_org_id": "org2",
               "token_name": null,
               "quantity": 10000
           },
           {
               "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~12d87129",
               "holding_status": "EXECUTEHOLD",
               "last_updated_time": "2025-08-12T21:09:17.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
               "to_org_id": "Org1",
               "token_name": null,
               "quantity": 10000
           },
           {
               "from_account_id": "",
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~54a4",
               "holding_status": "REJECT_MINT",
               "last_updated_time": "2025-08-12T21:01:27.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 40000
           },
           {
               "from_account_id": null,
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~9b27",
               "holding_status": "APPROVE_MINT",
               "last_updated_time": "2025-08-12T21:01:16.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 30000
           },
           {
               "from_account_id": null,
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~eda0",
               "holding_status": "APPROVE_MINT",
               "last_updated_time": "2025-08-12T21:01:05.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 20000
           },
           {
               "from_account_id": null,
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~1baa",
               "holding_status": "APPROVE_MINT",
               "last_updated_time": "2025-08-12T21:01:03.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 10000
           }
       ]
getPendingIssuance
Diese Methode ruft alle Transaktionen mit ausstehender Ausstellung (Übertragung) ab, bei denen der Anrufer als Genehmiger zugewiesen ist, einschließlich Details der Organisation und Benutzer-IDs der beteiligten Konten (Absender, Empfänger und Notar). Diese Methode kann nur von einer Token Admin oder Token Auditor des Chaincodes, einer Org Admin oder Org Auditor der angegebenen Organisation oder der Notary aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string())
  public async getPendingIssuance(token_id: string, org_id: string) {
    return await this.Ctx.CBDCToken.getPendingIssuance(token_id, org_id);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • org_id: string - Die Mitgliedsdienstanbieter-ID (MSP) der Organisation, für die ausstehende Übertragungen abgerufen werden sollen.
Beispiel für Rückgabewert:
[
           {
               "asset_type": "ONHOLD",
               "category": "issuance",
               "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~77b75873",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": "77b75873",
               "timetoexpiration": "0",
               "to_account_id": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
               "to_org_id": "org2",
               "token_id": "USD",
               "token_name": "cbdc",
               "quantity": 200
           },
           {
               "asset_type": "ONHOLD",
               "category": "transfer",
               "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~e26f11da",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": "e26f11da",
               "timetoexpiration": "0",
               "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
               "to_org_id": "Org1",
               "token_id": "USD",
               "token_name": "cbdc",
               "quantity": 100
           }
       ]
getPendingRequest
Diese Methode ruft alle ausstehenden Anforderungen eines bestimmten Typs ab, bei denen der Aufrufer als Genehmiger zugewiesen ist. Diese Methode kann nur von einer Token Admin oder Token Auditor des Chaincodes, einer Org Admin oder Org Auditor der angegebenen Organisation oder der Notary aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string(), yup.string())
  public async getPendingRequest(token_id: string, request_type: string, org_id: string) {
    return await this.Ctx.CBDCToken.getPendingRequest(token_id, request_type, org_id);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation, für die ausstehende Anforderungen abgerufen werden sollen.
  • request_type: string: Der Transaktionstyp. Beispiel: mint oder burn.
Beispiel für Rückgabewert:
[
           {
               "valueJson": {
                   "assetType": "ohold",
                   "holding_id": "ohold~cbdc~USD~89ce",
                   "operation_id": "89ce",
                   "token_name": "cbdc",
                   "from_org_id": "CentralBank",
                   "operation_type": "mint",
                   "status": "pending",
                   "from_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
                   "to_account_id": "",
                   "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
                   "token_id": "USD",
                   "quantity": 2000,
                   "time_to_expiration": "0",
                   "description": "Minting 2000 tokens"
               }
           },
           {
               "valueJson": {
                   "assetType": "ohold",
                   "holding_id": "ohold~cbdc~USD~cf73",
                   "operation_id": "cf73",
                   "token_name": "cbdc",
                   "from_org_id": "CentralBank",
                   "operation_type": "mint",
                   "status": "pending",
                   "from_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
                   "to_account_id": "",
                   "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
                   "token_id": "USD",
                   "quantity": 200,
                   "time_to_expiration": "0",
                   "description": "Minting 200"
               }
           }
       ]
getTotalBalanceByCallerOrgId
Diese Methode ruft den Gesamtsaldo der Organisation des Aufrufers ab. Er kann von einem Token Admin, Token Auditor, Org Admin, Org Auditor oder einem beliebigen Accounteigentümer aufgerufen werden.
@GetMethod()
  @Validator()
  public async getTotalBalanceByCallerOrgId() {
    const org_id =  await this.Ctx.Model.getCallerOrgId()
    await this.Ctx.Auth.checkAuthorization("CBDC_TOKEN.getTotalBalanceByCallerOrgId", "TOKEN", { org_id });
    return await this.Ctx.CBDCToken.getTotalBalanceByCallerOrgId();
  }
Beispiel für Rückgabewert:
{
           "totalBalance": 50500
       }
getTransactionWithBlockNumber
Diese Methode gibt die Details der Transaktion für die angegebene Transaktions-ID zurück. Diese Methode kann nur von einem Token Admin, Token Auditor, Org Admin, Org Auditor oder einem beliebigen Teilnehmer der Transaktion aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string())
  public async getTransactionWithBlockNumber(token_id: string, transaction_id: string) {
    return await this.Ctx.CBDCToken.getTransactionWithBlockNumber(token_id, transaction_id);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • transaction_id: string: Die ID der Transaktion.
Beispiel für Rückgabewert:
[
          {
              "blockNo": 340,
              "key": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c",
              "metadata": null,
              "txnNo": 0,
              "value": null,
              "valueJson": {
                  "assetType": "otransaction",
                  "blockNo": 336,
                  "txnNo": 1,
                  "transaction_id": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c",
                  "token_id": "USD",
                  "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
                  "from_account_balance": 26800,
                  "from_account_onhold_balance": 300,
                  "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
                  "transaction_type": "EXECUTE_HOLD_SENDER",
                  "amount": 200,
                  "timestamp": "2025-08-25T13:16:55.000Z",
                  "number_of_sub_transactions": 0,
                  "holding_id": "ohold~cbdc~USD~81d7c4ac",
                  "sub_transaction": "false",
                  "category": "transfer",
                  "global_transaction_id": "b54d4333-f4bb-4ca4-a7b7-cc75b659d912"
              }
          }
      ]
getAllActiveAccounts
Diese Methode gibt alle aktiven Konten zurück, die mit der angegebenen Token-ID verknüpft sind.
@GetMethod()
  @Validator(yup.string(), yup.string())
  public async getAllActiveAccounts(orgId: string, tokenId: string) {
    return this.Ctx.CBDCToken.getAllActiveAccounts(orgId, tokenId);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • org_id: string: Die MSP-ID (Member Service Provider) der Organisation, für die aktive Accounts abgerufen werden sollen.
Rückgabewert:
  • Bei Erfolg eine Meldung mit Benutzerdetails. Die Ausgabe variiert je nach Benutzerrolle, wie in den folgenden Beispielen gezeigt.
Beispiel für Rückgabewerte (Tokenadministrator, Tokenauditor, Organisationsadministrator, Organisationsauditor):
[
           {
               "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
               "role_name": null,
               "valueJson": {
                   "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_ADMINS"
                   ],
                   "max_daily_amount": "10000",
                   "max_daily_transactions": "1000"
               },
               "non_account_role_name": [
                   "token_admin"
               ]
           },
           {
               "key": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c",
               "role_name": null,
               "valueJson": {
                   "account_id": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_AUDITORS"
                   ],
                   "max_daily_amount": "10000",
                   "max_daily_transactions": "1000"
               },
               "non_account_role_name": [
                   "token_auditor"
               ]
           },
           {
               "key": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "role_name": "minter",
               "valueJson": {
                   "account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_CREATORS"
                   ],
                   "max_daily_amount": "1000000",
                   "max_daily_transactions": "100000"
               },
               "non_account_role_name": []
           },
           {
               "key": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "role_name": "notary",
               "valueJson": {
                   "account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_MANAGERS"
                   ],
                   "max_daily_amount": "10000",
                   "max_daily_transactions": "1000"
               },
               "non_account_role_name": []
           },
           {
               "key": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "role_name": null,
               "valueJson": {
                   "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_ISSUERS"
                   ],
                   "max_daily_amount": "100000",
                   "max_daily_transactions": "10000"
               },
               "non_account_role_name": []
           },
           {
               "key": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
               "role_name": "burner",
               "valueJson": {
                   "account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_RETIRERS"
                   ],
                   "max_daily_amount": "10000",
                   "max_daily_transactions": "1000"
               },
               "non_account_role_name": []
           }
       ]
Beispiel für Rückgabewert (alle anderen Benutzer):
[
            {
                "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                "role_name": null,
                "valueJson": {
                    "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_ADMINS"
                    ]
                }
            },
            {
                "key": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c",
                "role_name": null,
                "valueJson": {
                    "account_id": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_AUDITORS"
                    ]
                }
            },
            {
                "key": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
                "role_name": "minter",
                "valueJson": {
                    "account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_CREATORS"
                    ]
                }
            },
            {
                "key": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
                "role_name": "notary",
                "valueJson": {
                    "account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_MANAGERS"
                    ]
                }
            },
            {
                "key": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
                "role_name": null,
                "valueJson": {
                    "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_ISSUERS"
                    ]
                }
            },
            {
                "key": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
                "role_name": "burner",
                "valueJson": {
                    "account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_RETIRERS"
                    ]
                }
            }
        ]
getAllSuspendedAccounts
Diese Methode gibt alle ausgesetzten Accounts zurück, die mit der angegebenen Token-ID verknüpft sind.
@GetMethod()
  @Validator(yup.string(), yup.string())
  public async getAllSuspendedAccounts(orgId: string, tokenId: string) {
    return this.Ctx.CBDCToken.getAllSuspendedAccounts(orgId, tokenId);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation zum Abrufen der ausgesetzten Accounts.
Rückgabewert:
  • Bei Erfolg eine Meldung mit Benutzerdetails. Die Ausgabe variiert je nach Benutzerrolle, wie in den folgenden Beispielen gezeigt.
Beispiel für Rückgabewerte (Tokenadministrator, Tokenauditor, Organisationsadministrator, Organisationsauditor):
[
           {
               "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
               "role_name": null,
               "valueJson": {
                   "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_ADMINS"
                   ],
                   "max_daily_amount": "10000",
                   "max_daily_transactions": "1000"
               },
               "non_account_role_name": [
                   "token_admin"
               ]
           }
       ]
Beispiel für Rückgabewert (alle anderen Benutzer):
[
            {
                "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                "role_name": null,
                "valueJson": {
                    "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_ADMINS"
                    ]
                }
            }
        ]

TypeScript SDK-Methoden für Confidential Wholesale CBDC

Der vertrauliche CBDC-Großhandelskettencode umfasst alle SDK-Methoden, die im generischen Token Taxonomy Framework NFT-Kettencode verfügbar sind. Die folgenden zusätzlichen SDK-Methoden, die für das vertrauliche CBDC-Großhandelszenario spezifisch sind, sind verfügbar.

createAccount
Mit dieser Methode wird ein Account für einen angegebenen Benutzer und ein bestimmtes Token erstellt. Jeder Benutzer, der zu einem beliebigen Zeitpunkt Token hat, muss über ein Konto verfügen.
Ctx.Account.createAccount(org_id: string, user_id: string, token_type: string, application_groups: string[], dailyLimits);
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation. Die ID muss mit einem alphanumerischen Zeichen beginnen und kann Buchstaben, Zahlen und Sonderzeichen wie Unterstriche (_), Punkte (.), At-Zeichen (@) und Bindestriche (-) enthalten.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers. Die ID muss mit einem alphanumerischen Zeichen beginnen und kann Buchstaben, Zahlen und Sonderzeichen wie Unterstriche (_), Punkte (.), At-Zeichen (@) und Bindestriche (-) enthalten.
  • token_type: string: Der Typ des Tokens, der fungible sein muss.
  • application_groups: string[]: Eine Liste der Anwendungsgruppen, zu denen die Account-ID gehört, die die Zuordnungen des Benutzers in der CBDC-Anwendung definieren.
  • daily_limits: DailyLimits: Ein JSON-Objekt des folgenden Typs.
    {
         "max_daily_amount": 100000
         "max_daily_transactions": 10000
     }
    Im Beispiel ist der Wert max_daily_amount die maximale Anzahl von Token, die täglich ausgeführt werden können, und der Wert max_daily_transactions ist die maximale Anzahl von Transaktionen, die täglich abgeschlossen werden können.
Beispiel für Rückgabewert:
{
    "bapAccountVersion": 0,
    "assetType": "oaccount",
    "account_id": "oaccount~b53cb2c19c92d1d5c8cb9f6e988e7761c34e03e014e6c4b889565fc0abf46c8a",
    "org_id": "CentralBank",
    "token_type": "fungible",
    "token_id": "",
    "token_name": "",
    "balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "onhold_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "onhold_burn_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "application_groups": [
        "CENTRAL_BANK_USERS"
    ]
}
setApplicationGroups
Mit dieser Methode wird der Parameter application_groups in den Accountdetails für die angegebenen Anwendungsgruppen in der API festgelegt.
Ctx.Account.setApplicationGroups (account_id: string, application_groups: string[])
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
  • application_groups: string[]: Eine Liste der Anwendungsgruppen, zu denen die Account-ID gehört, die die Zuordnungen des Benutzers in der CBDC-Anwendung definieren.
Beispiel für Rückgabewert:
{
          "bapAccountVersion": 10,
          "assetType": "oaccount",
          "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
          "org_id": "CentralBank",
          "token_type": "fungible",
          "token_id": "USD",
          "token_name": "cbdc",
          "balance": "02c4601262fa7ece1ffc909811f829ad973d4133ca27c9c0fa82972d441400ad3e",
          "onhold_balance": "028954d23bfabee1a10d9f5a07793dec08ab0f93fd506079b0fa33f525d527595f",
          "onhold_burn_balance": "028954d23bfabee1a10d9f5a07793dec08ab0f93fd506079b0fa33f525d527595f",
          "application_groups": [
              "SYSTEM_RETIRERS"
          ]
      }
getBurnQuantity
Diese Methode gibt die Gesamtmenge der verbrannten Token für eine bestimmte Organisation zurück.
Ctx.CBDCToken.getBurnQuantity(token_id: string);
Parameter:
  • token_id: string: Die ID des Tokens.
Beispiel für Rückgabewert:
{
           "burnt_quantity": 1200
       }
getActionHistory
Diese Methode ruft die Historie der Genehmigungen oder Ablehnungen ab, die der Anrufer für Mint-, Burn- und Transfervorgänge (Abgabevorgänge) vorgenommen hat, einschließlich Details der Organisation und Benutzer-IDs der beteiligten Konten (Absender, Empfänger und Notar).
Ctx.CBDCToken.getActionHistory(token_id: string);
Parameter:
  • token_id: string: Die ID des Tokens.
Beispiel für Rückgabewert:
[
           {
               "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~b770",
               "holding_status": "APPROVE_BURN",
               "last_updated_time": "2025-08-25T13:21:24.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": null,
               "to_org_id": null,
               "token_name": null,
               "quantity": 200
           },
           {
               "from_account_id": null,
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~e7b6",
               "holding_status": "APPROVE_MINT",
               "last_updated_time": "2025-08-25T13:20:50.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 1000
           },
           {
               "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~81d7c4ac",
               "holding_status": "EXECUTEHOLD",
               "last_updated_time": "2025-08-25T13:16:55.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
               "to_org_id": "Org1",
               "token_name": null,
               "quantity": 200
           },
           {
               "from_account_id": null,
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~1e19",
               "holding_status": "APPROVE_MINT",
               "last_updated_time": "2025-08-13T06:12:41.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 10000
           },
           {
               "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~1f74",
               "holding_status": "REJECT_BURN",
               "last_updated_time": "2025-08-12T21:09:53.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "",
               "to_org_id": null,
               "token_name": null,
               "quantity": 1000
           },
           {
               "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~d67c",
               "holding_status": "REJECT_BURN",
               "last_updated_time": "2025-08-12T21:09:47.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "",
               "to_org_id": null,
               "token_name": null,
               "quantity": 2000
           },
           {
               "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~911b",
               "holding_status": "APPROVE_BURN",
               "last_updated_time": "2025-08-12T21:09:40.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": null,
               "to_org_id": null,
               "token_name": null,
               "quantity": 1000
           },
           {
               "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~ed815e20",
               "holding_status": "EXECUTEHOLD",
               "last_updated_time": "2025-08-12T21:09:25.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
               "to_org_id": "org2",
               "token_name": null,
               "quantity": 10000
           },
           {
               "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~12d87129",
               "holding_status": "EXECUTEHOLD",
               "last_updated_time": "2025-08-12T21:09:17.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
               "to_org_id": "Org1",
               "token_name": null,
               "quantity": 10000
           },
           {
               "from_account_id": "",
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~54a4",
               "holding_status": "REJECT_MINT",
               "last_updated_time": "2025-08-12T21:01:27.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 40000
           },
           {
               "from_account_id": null,
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~9b27",
               "holding_status": "APPROVE_MINT",
               "last_updated_time": "2025-08-12T21:01:16.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 30000
           },
           {
               "from_account_id": null,
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~eda0",
               "holding_status": "APPROVE_MINT",
               "last_updated_time": "2025-08-12T21:01:05.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 20000
           },
           {
               "from_account_id": null,
               "from_org_id": null,
               "holding_id": "ohold~cbdc~USD~1baa",
               "holding_status": "APPROVE_MINT",
               "last_updated_time": "2025-08-12T21:01:03.000Z",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": null,
               "timetoexpiration": null,
               "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "to_org_id": "CentralBank",
               "token_name": null,
               "quantity": 10000
           }
       ]
getPendingIssuance
Diese Methode ruft alle Transaktionen mit ausstehender Ausstellung (Übertragung) ab, bei denen der Anrufer als Genehmiger zugewiesen ist, einschließlich Details der Organisation und Benutzer-IDs der beteiligten Konten (Absender, Empfänger und Notar).
Ctx.CBDCToken.getPendingIssuance(token_id: string, org_id: string);
Parameter:
  • token_id: string: Die ID des Tokens.
  • org_id: string - Die Mitgliedsdienstanbieter-ID (MSP) der Organisation, für die ausstehende Übertragungen abgerufen werden sollen.
Beispiel für Rückgabewert:
[
           {
               "asset_type": "ONHOLD",
               "category": "issuance",
               "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~77b75873",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": "77b75873",
               "timetoexpiration": "0",
               "to_account_id": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
               "to_org_id": "org2",
               "token_id": "USD",
               "token_name": "cbdc",
               "quantity": 200
           },
           {
               "asset_type": "ONHOLD",
               "category": "transfer",
               "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "from_org_id": "CentralBank",
               "holding_id": "ohold~cbdc~USD~e26f11da",
               "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "notary_org_id": "CentralBank",
               "operation_id": "e26f11da",
               "timetoexpiration": "0",
               "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
               "to_org_id": "Org1",
               "token_id": "USD",
               "token_name": "cbdc",
               "quantity": 100
           }
       ]
getPendingRequest
Diese Methode ruft alle ausstehenden Anforderungen eines bestimmten Typs ab, bei denen der Aufrufer als Genehmiger zugewiesen ist.
Ctx.CBDCToken.getPendingRequest(token_id: string, request_type: string, org_id: string)
Parameter:
  • token_id: string: Die ID des Tokens.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation, für die ausstehende Anforderungen abgerufen werden sollen.
  • request_type: string: Der Transaktionstyp. Beispiel: mint oder burn.
Beispiel für Rückgabewert:
[
           {
               "valueJson": {
                   "assetType": "ohold",
                   "holding_id": "ohold~cbdc~USD~89ce",
                   "operation_id": "89ce",
                   "token_name": "cbdc",
                   "from_org_id": "CentralBank",
                   "operation_type": "mint",
                   "status": "pending",
                   "from_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
                   "to_account_id": "",
                   "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
                   "token_id": "USD",
                   "quantity": 2000,
                   "time_to_expiration": "0",
                   "description": "Minting 2000 tokens"
               }
           },
           {
               "valueJson": {
                   "assetType": "ohold",
                   "holding_id": "ohold~cbdc~USD~cf73",
                   "operation_id": "cf73",
                   "token_name": "cbdc",
                   "from_org_id": "CentralBank",
                   "operation_type": "mint",
                   "status": "pending",
                   "from_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
                   "to_account_id": "",
                   "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
                   "token_id": "USD",
                   "quantity": 200,
                   "time_to_expiration": "0",
                   "description": "Minting 200"
               }
           }
       ]
getTotalBalanceByCallerOrgId
Diese Methode ruft den Gesamtsaldo der Organisation des Aufrufers ab.
Ctx.CBDCToken.getTotalBalanceByCallerOrgId();
Beispiel für Rückgabewert:
{
           "totalBalance": 50500
       }
getTransactionWithBlockNumber
Diese Methode gibt die Details der Transaktion für die angegebene Transaktions-ID zurück.
Ctx.CBDCToken.getTransactionWithBlockNumber(token_id: string, transaction_id: string);
Parameter:
  • token_id: string: Die ID des Tokens.
  • transaction_id: string: Die ID der Transaktion.
Beispiel für Rückgabewert:
[
          {
              "blockNo": 340,
              "key": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c",
              "metadata": null,
              "txnNo": 0,
              "value": null,
              "valueJson": {
                  "assetType": "otransaction",
                  "blockNo": 336,
                  "txnNo": 1,
                  "transaction_id": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c",
                  "token_id": "USD",
                  "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
                  "from_account_balance": 26800,
                  "from_account_onhold_balance": 300,
                  "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
                  "transaction_type": "EXECUTE_HOLD_SENDER",
                  "amount": 200,
                  "timestamp": "2025-08-25T13:16:55.000Z",
                  "number_of_sub_transactions": 0,
                  "holding_id": "ohold~cbdc~USD~81d7c4ac",
                  "sub_transaction": "false",
                  "category": "transfer",
                  "global_transaction_id": "b54d4333-f4bb-4ca4-a7b7-cc75b659d912"
              }
          }
      ]
getAllActiveAccounts
Diese Methode gibt alle aktiven Konten zurück, die mit der angegebenen Token-ID verknüpft sind.
Ctx.CBDCToken.getAllActiveAccounts(orgId: string, tokenId: string);
Parameter:
  • token_id: string: Die ID des Tokens.
  • org_id: string: Die MSP-ID (Member Service Provider) der Organisation, für die aktive Accounts abgerufen werden sollen.
Rückgabewert:
  • Bei Erfolg eine Meldung mit Benutzerdetails. Die Ausgabe variiert je nach Benutzerrolle, wie in den folgenden Beispielen gezeigt.
Beispiel für Rückgabewerte (Tokenadministrator, Tokenauditor, Organisationsadministrator, Organisationsauditor):
[
           {
               "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
               "role_name": null,
               "valueJson": {
                   "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_ADMINS"
                   ],
                   "max_daily_amount": "10000",
                   "max_daily_transactions": "1000"
               },
               "non_account_role_name": [
                   "token_admin"
               ]
           },
           {
               "key": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c",
               "role_name": null,
               "valueJson": {
                   "account_id": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_AUDITORS"
                   ],
                   "max_daily_amount": "10000",
                   "max_daily_transactions": "1000"
               },
               "non_account_role_name": [
                   "token_auditor"
               ]
           },
           {
               "key": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
               "role_name": "minter",
               "valueJson": {
                   "account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_CREATORS"
                   ],
                   "max_daily_amount": "1000000",
                   "max_daily_transactions": "100000"
               },
               "non_account_role_name": []
           },
           {
               "key": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
               "role_name": "notary",
               "valueJson": {
                   "account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_MANAGERS"
                   ],
                   "max_daily_amount": "10000",
                   "max_daily_transactions": "1000"
               },
               "non_account_role_name": []
           },
           {
               "key": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
               "role_name": null,
               "valueJson": {
                   "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_ISSUERS"
                   ],
                   "max_daily_amount": "100000",
                   "max_daily_transactions": "10000"
               },
               "non_account_role_name": []
           },
           {
               "key": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
               "role_name": "burner",
               "valueJson": {
                   "account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_RETIRERS"
                   ],
                   "max_daily_amount": "10000",
                   "max_daily_transactions": "1000"
               },
               "non_account_role_name": []
           }
       ]
Beispiel für Rückgabewert (alle anderen Benutzer):
[
            {
                "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                "role_name": null,
                "valueJson": {
                    "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_ADMINS"
                    ]
                }
            },
            {
                "key": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c",
                "role_name": null,
                "valueJson": {
                    "account_id": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_AUDITORS"
                    ]
                }
            },
            {
                "key": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
                "role_name": "minter",
                "valueJson": {
                    "account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_CREATORS"
                    ]
                }
            },
            {
                "key": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
                "role_name": "notary",
                "valueJson": {
                    "account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_MANAGERS"
                    ]
                }
            },
            {
                "key": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
                "role_name": null,
                "valueJson": {
                    "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_ISSUERS"
                    ]
                }
            },
            {
                "key": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
                "role_name": "burner",
                "valueJson": {
                    "account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_RETIRERS"
                    ]
                }
            }
        ]
getAllSuspendedAccounts
Diese Methode gibt alle ausgesetzten Accounts zurück, die mit der angegebenen Token-ID verknüpft sind.
Ctx.CBDCToken.getAllSuspendedAccounts(orgId: string, tokenId: string);
Parameter:
  • token_id: string: Die ID des Tokens.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation zum Abrufen der ausgesetzten Accounts.
Rückgabewert:
  • Bei Erfolg eine Meldung mit Benutzerdetails. Die Ausgabe variiert je nach Benutzerrolle, wie in den folgenden Beispielen gezeigt.
Beispiel für Rückgabewerte (Tokenadministrator, Tokenauditor, Organisationsadministrator, Organisationsauditor):
[
           {
               "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
               "role_name": null,
               "valueJson": {
                   "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                   "org_id": "CentralBank",
                   "token_id": "USD",
                   "application_groups": [
                       "SYSTEM_ADMINS"
                   ],
                   "max_daily_amount": "10000",
                   "max_daily_transactions": "1000"
               },
               "non_account_role_name": [
                   "token_admin"
               ]
           }
       ]
Beispiel für Rückgabewert (alle anderen Benutzer):
[
            {
                "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                "role_name": null,
                "valueJson": {
                    "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
                    "org_id": "CentralBank",
                    "token_id": "USD",
                    "application_groups": [
                        "SYSTEM_ADMINS"
                    ]
                }
            }
        ]