Vertrauliches Zahlungsmodell

Die erweiterte Version von Blockchain App Builder enthält ein Modellattribut, das zusätzliche Methoden für den vertraulichen Modus generiert.

Wenn Sie den Parameter confidential: true in die Spezifikationsdatei für Token aufnehmen, die den erweiterten Token Taxonomy Framework-Standard verwenden, generiert Blockchain App Builder Chaincode zur Verwendung im vertraulichen Modus, einschließlich der folgenden geänderten Versionen der automatisch generierten Standard- und SDK-Methoden (nur TypeScript).

Weitere Informationen zu vertraulichen Zahlungen und dem vertraulichen CBDC-Szenario (Central Bank Digital Currency with Confidential Payment) finden Sie unter Wholesale Central Bank Digital Currency with Confidential Payment.

Geänderte TypeScript-Methoden für den Confidential Chaincode

Wenn Sie den Parameter confidential: true in die Spezifikationsdatei für Token aufnehmen, die den erweiterten Token Taxonomy Framework-Standard verwenden, generiert Blockchain App Builder geänderte Versionen der automatisch generierten Standardmethoden sowie zusätzliche Methoden.

isTokenAdmin
Diese Methode gibt den booleschen Wert true zurück, wenn der Aufrufer der Funktion ein Token Admin ist. Andernfalls gibt sie false zurück. Eine Token Admin, Token Auditor, eine beliebige Org Admin oder eine beliebige Org Auditor kann diese Funktion für jeden anderen Benutzer im Blockchain-Netzwerk aufrufen. Andere Benutzer können diese Methode nur für ihre eigenen Accounts aufrufen.
@GetMethod()
 @Validator(yup.string(), yup.string())
 public async isTokenAdmin(org_id: string, user_id: string) {
    await this.Ctx.Auth.checkAuthorization("ADMIN.isUserTokenAdmin", "TOKEN", { org_id });
    return await this.Ctx.Auth.isUserTokenAdmin(org_id, user_id);
 }
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Die Methode gibt true zurück, wenn der Aufrufer ein Token Admin ist. Andernfalls wird false zurückgegeben.
addTokenAdmin
Diese Methode fügt einen Benutzer als Token Admin des Chaincodes hinzu. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden. Da der Wert user_id im öffentlichen Buch gespeichert ist, verwenden Sie keine personenbezogenen Informationen (PII) für den Wert user_id.
@Validator(yup.string(), yup.string())
  public async addTokenAdmin(org_id: string, user_id: string) {
    await this.Ctx.Auth.checkAuthorization("ADMIN.addTokenAdmin", "TOKEN");
    await this.Ctx.Model.createEvent(EVENT_NAME.ADD_TOKEN_ADMIN, { org_id, user_id });
    return await this.Ctx.Admin.addTokenAdmin(org_id, user_id);
  }
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg eine Nachricht, die Details des Benutzers enthält, der als Token Admin des Chaincodes hinzugefügt wurde.
Beispiel für Rückgabewert:
{
  "msg": "Successfully added Token Admin (Org_Id: CentralBank, User_Id: cb1)"
}
removeTokenAdmin
Mit dieser Methode wird ein Benutzer als Token Admin des Chaincodes entfernt. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
@Validator(yup.string(), yup.string())
  public async removeTokenAdmin(org_id: string, user_id: string) {
    await this.Ctx.Auth.checkAuthorization("ADMIN.removeTokenAdmin", "TOKEN");
    await this.Ctx.Model.createEvent(EVENT_NAME.REMOVE_TOKEN_ADMIN, { org_id, user_id });
    return await this.Ctx.Admin.removeTokenAdmin(org_id, user_id);
  }
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg eine Nachricht, die Details des Benutzers enthält, der als Token Admin des Chaincodes entfernt wurde.
Beispiel für Rückgabewert:
{"msg": "Successfully removed Admin (Org_Id: Org1MSP, User_Id: User1)"}
addOrgAdmin
Diese Methode fügt einen Benutzer als Org Admin der Organisation hinzu. Diese Methode kann nur von einem Token Admin des Chaincodes oder einem Org Admin der angegebenen Organisation aufgerufen werden. Da der Wert user_id im öffentlichen Buch gespeichert ist, verwenden Sie keine personenbezogenen Informationen (PII) für den Wert user_id.
@Validator(yup.string(), yup.string())
  public async addOrgAdmin(org_id: string, user_id: string) {
    await this.Ctx.Auth.checkAuthorization("ADMIN.addOrgAdmin", "TOKEN", { org_id });
    await this.Ctx.Model.createEvent(EVENT_NAME.ADD_ORG_ADMIN, { org_id, user_id });
    return await this.Ctx.Admin.addOrgAdmin(org_id, user_id);
  }
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg eine Nachricht, die Details des Benutzers enthält, der als Org Admin der Organisation hinzugefügt wurde.
Beispiel für Rückgabewert:
{
    "msg": "Successfully added Org Admin (Org_Id: Org1MSP, User_Id: orgAdmin)"
}
removeOrgAdmin
Mit dieser Methode wird ein Benutzer als Org Admin der Organisation entfernt. Diese Methode kann nur durch eine Token Admin des Chaincodes oder durch eine Org Admin der angegebenen Organisation aufgerufen werden.
@Validator(yup.string(), yup.string())
  public async removeOrgAdmin(org_id: string, user_id: string) {
    await this.Ctx.Auth.checkAuthorization("ADMIN.removeOrgAdmin", "TOKEN", { org_id });
    await this.Ctx.Model.createEvent(EVENT_NAME.REMOVE_ORG_ADMIN, { org_id, user_id });
    return await this.Ctx.Admin.removeOrgAdmin(org_id, user_id);
  }
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg eine Nachricht, die Details des Benutzers enthält, der als Org Admin der Organisation entfernt wurde.
Beispiel für Rückgabewert:
{
  "msg": "Successfully removed Org Admin (Org_Id Org1MSP User_Id orgAdmin)"
}
addTokenAuditor
Diese Methode fügt einen Benutzer als Token Auditor des Chaincodes hinzu. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden. Da der Wert user_id im öffentlichen Buch gespeichert ist, verwenden Sie keine personenbezogenen Informationen (PII) für den Wert user_id.
@Validator(yup.string(), yup.string())
  public async addTokenAuditor(org_id: string, user_id: string) {
    await this.Ctx.Auth.checkAuthorization("ADMIN.addTokenAuditor", "TOKEN");
    await this.Ctx.Model.createEvent(EVENT_NAME.ADD_TOKEN_AUDITOR, { org_id, user_id });
    return await this.Ctx.Admin.addTokenAuditor(org_id, user_id);
  }
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
{
  "msg": "Successfully added Token Auditor (Org_Id: CentralBank, User_Id: cb_admin_demo)"
}
removeTokenAuditor
Mit dieser Methode wird ein Benutzer als Token Auditor des Chaincodes entfernt. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
@Validator(yup.string(), yup.string())
  public async removeTokenAuditor(org_id: string, user_id: string) {
    await this.Ctx.Auth.checkAuthorization("ADMIN.removeTokenAuditor", "TOKEN");
    await this.Ctx.Model.createEvent(EVENT_NAME.REMOVE_TOKEN_AUDITOR, { org_id, user_id });
    return await this.Ctx.Admin.removeTokenAuditor(org_id, user_id);
  }
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
{
           "msg": "Successfully removed Token Auditor (Org_Id: CB, User_Id: cb)"
       }
addOrgAuditor
Diese Methode fügt einen Benutzer als Org Auditor des Chaincodes hinzu. Diese Methode kann nur mit einer Token Admin oder Org Admin des Chaincodes aufgerufen werden. Da der Wert user_id im öffentlichen Buch gespeichert ist, verwenden Sie keine personenbezogenen Informationen (PII) für den Wert user_id.
@Validator(yup.string(), yup.string())
  public async addOrgAuditor(org_id: string, user_id: string) {
    await this.Ctx.Auth.checkAuthorization("ADMIN.addOrgAuditor", "TOKEN", { org_id });
    await this.Ctx.Model.createEvent(EVENT_NAME.ADD_ORG_AUDITOR, { org_id, user_id });
    return await this.Ctx.Admin.addOrgAuditor(org_id, user_id);
  }
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg eine Nachricht, die Details des Benutzers enthält, der als Org Auditor des Chaincodes hinzugefügt wurde.
Beispiel für Rückgabewert:
{
           "msg": "Successfully added Org Auditor (Org_Id: CentralBank, User_Id: cb_admin_demo)"
       }
removeOrgAuditor
Mit dieser Methode wird ein Benutzer als Org Auditor des Chaincodes entfernt. Diese Methode kann nur mit einer Token Admin oder Org Admin des Chaincodes aufgerufen werden.
@Validator(yup.string(), yup.string())
  public async removeOrgAuditor(org_id: string, user_id: string) {
    await this.Ctx.Auth.checkAuthorization("ADMIN.removeOrgAuditor", "TOKEN", { org_id });
    await this.Ctx.Model.createEvent(EVENT_NAME.REMOVE_ORG_AUDITOR, { org_id, user_id });
    return await this.Ctx.Admin.removeOrgAuditor(org_id, user_id);
  }
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
{
           "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)"
       }
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. Konten verfolgen Salden, einbehaltene Salden und die Transaktionshistorie. Eine Konto-ID wird gebildet, indem der Assettyp und die Token-ID verkettet und dann ein SHA-256-Hash über eine Verkettung aus Organisations-ID und Benutzer-ID erstellt werden. 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.object().nullable())
  public async createAccount(org_id: string, user_id: string, token_type: 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, dailyLimits });
    return await this.Ctx.Account.createAccount(org_id, user_id, token_type, 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.
  • 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",
}
associateTokenToAccount
Diese Methode verknüpft ein fungibles Token mit einem Konto. Diese Methode kann nur durch eine Token Admin des Chaincodes oder durch eine Org Admin der relevanten Organisation aufgerufen werden.
@Validator(yup.string(), yup.string(), yup.string().optional())
  public async associateTokenToAccount(account_id: string, token_id: string, custom_account_id?: string) {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.associateToken", "TOKEN", { account_id });
    const token_asset = await this.getTokenObject(token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.ASSOCIATE_TOKEN_TO_ACCOUNT, { account_id, token_asset }, token_asset);
    return await this.Ctx.Account.associateToken(account_id, token_id, custom_account_id);
  }
Parameter:
  • account_id: string: Die ID des Kontos.
  • token_id: string: Die ID des Tokens.
  • custom_account_id: string: Im vertraulichen Modus die Bankkontokennung des Kontos, eine eindeutige zufällige alphanumerische ID. Standardmäßig 14 Zeichen lang.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt des aktualisierten Accounts. Der Parameter bapAccountVersion wird zur internen Verwendung im Accountobjekt definiert.
Beispiel für Rückgabewert:
{
    "bapAccountVersion": 0,
    "assetType": "oaccount",
    "account_id": "oaccount~b53cb2c19c92d1d5c8cb9f6e988e7761c34e03e014e6c4b889565fc0abf46c8a",
    "org_id": "CentralBank",
    "token_type": "fungible",
    "token_id": "USD",
    "token_name": "cbdc",
    "balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "onhold_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "onhold_burn_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "application_groups": [
        "CENTRAL_BANK_USERS"
    ]
}
getAllAccounts
Diese Methode gibt eine Liste aller Konten zurück. Diese Methode kann nur mit einer Token Admin oder Token Auditor aufgerufen werden. Diese Methode verwendet SQL-reiche Berkeley DB-Abfragen und kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Oracle Blockchain Platform-Netzwerk besteht.
@GetMethod()
  @Validator()
  public async getAllAccounts() {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getAllAccounts", "TOKEN");
    return await this.Ctx.Account.getAllAccounts();
  }
Parameter:
  • Kein
Beispiel für Rückgabewert:
[
    {
        "key": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
        "valueJson": {
            "bapAccountVersion": 3,
            "assetType": "oaccount",
            "account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
            "org_id": "CentralBank",
            "token_type": "fungible",
            "token_id": "token",
            "token_name": "cbdc",
            "balance": "028a27c752e9b518d156e61da6589e723b179b6d7351dc34ec92bbb27b783ed1dc",
            "onhold_balance": "02d53a7eda9484bda7252212714f647b70d32663cfa416f93f488ef6b6bc8fb2eb",
            "onhold_burn_balance": "02d53a7eda9484bda7252212714f647b70d32663cfa416f93f488ef6b6bc8fb2eb",
            "application_groups": [
                "application_groups value"
            ]
        }
    },
    {
        "key": "oaccount~1da238c1491c919b151f777a615fb5779032c34b3ef3adeca6afe591bac10aaf",
        "valueJson": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~1da238c1491c919b151f777a615fb5779032c34b3ef3adeca6afe591bac10aaf",
            "org_id": "CentralBank",
            "token_type": "fungible",
            "token_id": "token",
            "token_name": "cbdc",
            "balance": "020da01cd57249c6470b6dd03c2ee4c49de58c71ccc64f2de1203e835967a0846d",
            "onhold_balance": "020da01cd57249c6470b6dd03c2ee4c49de58c71ccc64f2de1203e835967a0846d",
            "onhold_burn_balance": "020da01cd57249c6470b6dd03c2ee4c49de58c71ccc64f2de1203e835967a0846d",
            "application_groups": [
                "application_groups value"
            ]
        }
    }
]
getAllOrgAccounts
Diese Methode gibt eine Liste aller Token-Accounts zurück, die zu einer bestimmten Organisation gehören. Diese Methode kann nur von einer Token Admin oder Token Auditor oder von einer Org Admin oder Org Auditor der angegebenen Organisation aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getAllOrgAccounts(org_id: string) {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getAllOrgAccounts", "TOKEN", { org_id });
    return await this.Ctx.Account.getAllOrgAccounts(org_id);
  }
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
Rückgabewert:
  • Bei Erfolg eine Liste aller Accounts für die angegebene Organisation.
Beispiel für Rückgabewert:
[
    {
        "key": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
        "valueJson": {
            "bapAccountVersion": 2,
            "assetType": "oaccount",
            "account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
            "org_id": "CentralBank",
            "token_type": "fungible",
            "token_id": "token",
            "token_name": "cbdc",
            "balance": "18",
            "onhold_balance": "0",
            "onhold_burn_balance": "0",
            "application_groups": [
                "application_groups value"
            ],
            "user_id": "cb",
            "custom_account_id": "1234567jh"
        }
    },
    {
        "key": "oaccount~5e3b5a3306d7ca3f3e3fe7cc27b6ae547e94dba1c5af58a69a771d7a619b6a66",
        "valueJson": {
            "bapAccountVersion": 1,
            "assetType": "oaccount",
            "account_id": "oaccount~5e3b5a3306d7ca3f3e3fe7cc27b6ae547e94dba1c5af58a69a771d7a619b6a66",
            "org_id": "CentralBank",
            "token_type": "fungible",
            "token_id": "token",
            "token_name": "cbdc",
            "balance": "22",
            "onhold_balance": "0",
            "onhold_burn_balance": "0",
            "application_groups": [
                "application_groups value"
            ],
            "user_id": "cb1",
            "custom_account_id": "1234567jh"
        }
    }
]
getAccountsByUser
Diese Methode gibt eine Liste aller Konto-IDs für eine angegebene Organisations-ID und Benutzer-ID zurück. Diese Methode kann nur von Token Admin oder Token Auditor, von der Org Admin oder Org Auditor der angegebenen Organisation oder von der in den Parametern angegebenen Account Owner aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string())
  public async getAccountsByUser(org_id: string, user_id: string) {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getAccountsByUser", "TOKEN", { org_id, user_id });
    return await this.Ctx.Account.getAccountsByUser(org_id, user_id);
  }
Parameter:
  • org_id string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg ein JSON-Array mit Konto-IDs.
Beispiel für Rückgabewert:
[
    {
        "bapAccountVersion": 2,
        "assetType": "oaccount",
        "user_id": "cb",
        "custom_account_id": "1234567jh",
        "account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
        "org_id": "CentralBank",
        "token_type": "fungible",
        "token_id": "token",
        "token_name": "cbdc",
        "balance": "18",
        "onhold_balance": "0",
        "onhold_burn_balance": "0",
        "application_groups": [
            "application_groups value"
        ]
    }
]
getUserByAccountId
Diese Methode gibt Benutzerdetails (org_id und user_id) für einen angegebenen Account zurück. Diese Methode kann von einer Token Admin oder Token Auditor oder von einer Org Admin oder Org Auditor der angegebenen Organisation aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getUserByAccountId(account_id: string) {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getUserByAccountId", "TOKEN", { account_id });
    return await this.Ctx.Account.getUserByAccountId(account_id);
  }
Parameter:
  • account_id: string: Die ID des Kontos.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt der Benutzerdetails (org_id, token_id und user_id).
Beispiel für Rückgabewert:
{
    "token_id": "USD",
    "org_id": "CentralBank",
    "user_id": "cb_admin_demo",
    "custom_account_id": "10101234000123"
}
getAccount
Diese Methode gibt Details für ein angegebenes Konto zurück. Diese Methode kann nur von einer Token Admin oder Token Auditor, einer Org Admin oder Org Auditor der angegebenen Organisation oder der AccountOwner des Accounts aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getAccount(account_id: string) {
    await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getAccount", "TOKEN", { account_id });
    return await this.Ctx.Account.getAccountWithStatus(account_id);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
    "bapAccountVersion": 2,
    "assetType": "oaccount",
    "user_id": "cb",
    "custom_account_id": "1234567jh",
    "status": "active",
    "account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
    "org_id": "CentralBank",
    "token_type": "fungible",
    "token_id": "token",
    "token_name": "cbdc",
    "balance": "18",
    "onhold_balance": "0",
    "onhold_burn_balance": "0",
    "application_groups": [
        "application_groups value"
    ]
}
getAccountDetailsByCustomAccountId
Diese Methode gibt Details für eine angegebene benutzerdefinierte Konto-ID zurück. Diese Methode kann nur von Token Admin oder Token Auditor oder Org Admin oder Org Auditor der angegebenen Organisation aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string())
  public async getAccountDetailsByCustomAccountId(custom_account_id: string, org_id: string) {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getAccountDetailsByCustomAccountId", "TOKEN", { org_id });
    return await this.Ctx.Account.getAccountDetailsByCustomAccountId(custom_account_id, org_id);
  }
Parameter:
  • custom_account_id: string: Die Bankkontokennung des Kontos, eine eindeutige zufällige alphanumerische ID.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
Beispiel für Rückgabewert:
[
    {
        "bapAccountVersion": 0,
        "assetType": "oaccount",
        "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
        "org_id": "CentralBank",
        "token_type": "fungible",
        "token_id": "USD",
        "token_name": "cbdc",
        "balance": "0",
        "onhold_balance": "0",
        "onhold_burn_balance": "0",
        "application_groups": [
            "SYSTEM_ADMINS"
        ],
        "user_id": "cb_admin_demo",
        "custom_account_id": "10101234000123"
    }
]
getAccountTransactionHistory
Diese Methode gibt ein Array von Kontotransaktionshistoriendetails für ein angegebenes Konto zurück. Diese Methode kann nur von Token Admin oder Token Auditor, einer Org Admin oder Org Auditor der angegebenen Organisation oder der AccountOwner des Accounts aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getAccountTransactionHistory(account_id: string) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getAccountTransactionHistory", "TOKEN", { account_id });
    return await this.Ctx.Account.getAccountTransactionHistory(account_id, account.org_id);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Kontos.
Beispiel für Rückgabewert:
[
    {
        "transaction_id": "otransaction~4514aa229ebcc4d2fedcaa47c4301615e30c4a9bae45cf0256a5b80d75b3697a",
        "transacted_amount": 1000,
        "timestamp": "2025-08-25T13:20:50.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "APPROVE_MINT",
        "balance": 21000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~1982f73495060e0eef4d78282a91c41e27e8c95572739b0677a1e404a0d20aa9",
        "transacted_amount": 200,
        "timestamp": "2025-08-25T13:12:43.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 20000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~fedd714cf1509f7517819d7cd4c0921d0b2f5d1ff6a25dcb08ab411defd6b5f3",
        "transacted_amount": 2000,
        "timestamp": "2025-08-21T05:23:25.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 20000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~f33b47234f3ee0b636962c8c31c01d06523b789ca16b3b342d5080b71268bcc3",
        "transacted_amount": 1000,
        "timestamp": "2025-08-21T05:23:07.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 20000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~cf934527149bc24f62a8ddeeea7f74a19a0f84d8f161535a771be49d2520d5b3",
        "transacted_amount": 10000,
        "timestamp": "2025-08-13T06:12:41.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "APPROVE_MINT",
        "balance": 20000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~f5c0e11ca61d9adc843658929e6de2a738ad586304f9e020f75bf4aac5e42a2c",
        "transacted_amount": 10000,
        "timestamp": "2025-08-13T06:12:04.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 10000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~862aa9d9e877d3ea209b87299ab5b12c13ed5ce43d1cf1b934043c1dd02f58f6",
        "transacted_amount": 50000,
        "timestamp": "2025-08-12T21:04:22.000Z",
        "token_id": "USD",
        "category": "transfer",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transaction_type": "DEBIT",
        "balance": 10000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~8a74c6d87ca74a613aab9db5d40386f8d5b534f9800503af8ca27e8946d7616d",
        "transacted_amount": 40000,
        "timestamp": "2025-08-12T21:01:27.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REJECT_MINT",
        "balance": 60000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~28ac66ba33f7ad0648448964b2b74525c9e3f0c9908c7a0484690b9baa56c2db",
        "transacted_amount": 30000,
        "timestamp": "2025-08-12T21:01:16.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "APPROVE_MINT",
        "balance": 60000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~7e32ad8f365ff59814e112f27602f30ab599fb9c1638784496c66a61a6277c22",
        "transacted_amount": 20000,
        "timestamp": "2025-08-12T21:01:05.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "APPROVE_MINT",
        "balance": 30000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~1477050bb9e55f4f471872b31fce0d2097f5d5e57d89a842070df5e36d7ab0da",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T21:01:03.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "APPROVE_MINT",
        "balance": 10000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~0e76c6931b7ee134e967e847d9730b867a0fd191d39697d83d36dd15745c02e3",
        "transacted_amount": 40000,
        "timestamp": "2025-08-12T21:00:20.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 0,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~07bbf9c190694371626da59ded5d87434d26f612891e13bb15bdd28f6086e760",
        "transacted_amount": 30000,
        "timestamp": "2025-08-12T21:00:01.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 0,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~8721175c6cbbce17b6c4bb6a444e475d07f52352dfd0d990679f342215153513",
        "transacted_amount": 20000,
        "timestamp": "2025-08-12T20:59:41.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 0,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~dc24c24d43a6525e807a39edcf8c6a2b6ccb81f0d755958f509509687eacee84",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T20:59:13.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 0,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~396e6ca5a11a9609632d0864026409d46a708fb95e3e21b39fa5f3fb78f90872",
        "transacted_amount": 0,
        "timestamp": "2025-08-12T20:43:20.000Z",
        "token_id": "",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "CREATE_ACCOUNT",
        "balance": 0,
        "onhold_balance": 0
    }
]
getAccountTransactionHistoryWithFilters
Diese Methode gibt ein gefiltertes Array von Kontotransaktionshistoriendetails für einen angegebenen Benutzer und ein bestimmtes Token zurück. Diese Methode kann nur von Token Admin oder Token Auditor, einer Org Admin oder Org Auditor der angegebenen Organisation oder der AccountOwner des Accounts aufgerufen werden. Diese Methode kann nur aufgerufen werden, wenn eine Verbindung zu einem Remote-Oracle Blockchain Platform-Netzwerk besteht.
@GetMethod()
  @Validator(yup.string(), yup.object().nullable())
  public async getAccountTransactionHistoryWithFilters(account_id: string, filters?: Filters) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getAccountTransactionHistoryWithFilters", "TOKEN", { account_id });
    return await this.Ctx.Account.getAccountTransactionHistoryWithFilters(account_id, account.org_id, filters);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Kontos.
  • filters: string: Ein optionaler Parameter. Wenn leer, werden alle Datensätze zurückgegeben. Die Eigenschaft PageSize bestimmt die Anzahl der zurückzugebenden Datensätze. Wenn PageSize 0 ist, ist die Standardseitengröße 20. Die Eigenschaft Bookmark bestimmt den Startindex der zurückzugebenden Datensätze. Weitere Informationen finden Sie in der Dokumentation zu Hyperledger Fabric. Die Eigenschaften StartTime und EndTime müssen im RFC-3339-Format angegeben werden.
Beispiel für Rückgabewert:
[
           {
               "transaction_id": "otransaction~ccc2c2e89ab7887af4fdad3dc9918ea057a8aa834a0ed8d0f23271049f084952",
               "transacted_amount": 10,
               "timestamp": "2025-08-20T23:22:53.000Z",
               "token_id": "token",
               "category": "category value",
               "description": "description value",
               "holding_id": "ohold~cbdc~token~hold1",
               "to_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "to_org_id": "Org1",
               "to_user_id": "cb",
               "to_custom_account_id": "1234567jh",
               "from_account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "from_org_id": "CentralBank",
               "from_user_id": "Not Available",
               "from_custom_account_id": "Not Available",
               "transacted_account": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "transaction_type": "CREDIT",
               "balance": 18,
               "onhold_balance": 0,
               "transacted_org_id": "CentralBank",
               "transacted_user_id": "Not Available",
               "transacted_custom_account_id": "Not Available"
           },
           {
               "transaction_id": "otransaction~6523597253e45b3c976aecdc54e2c6316d0a4f88ad5d7f3fff48c69213e4375a",
               "transacted_amount": 22,
               "timestamp": "2025-08-20T23:21:45.000Z",
               "token_id": "token",
               "category": "category value",
               "description": "description value",
               "to_account_id": "oaccount~5e3b5a3306d7ca3f3e3fe7cc27b6ae547e94dba1c5af58a69a771d7a619b6a66",
               "to_org_id": "Org1",
               "to_user_id": "cb1",
               "to_custom_account_id": "1234567jh",
               "from_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "from_org_id": "Org1",
               "from_user_id": "cb",
               "from_custom_account_id": "1234567jh",
               "transacted_account": "oaccount~5e3b5a3306d7ca3f3e3fe7cc27b6ae547e94dba1c5af58a69a771d7a619b6a66",
               "transaction_type": "DEBIT",
               "balance": 8,
               "onhold_balance": 0,
               "transacted_org_id": "Org1",
               "transacted_user_id": "cb1",
               "transacted_custom_account_id": "1234567jh"
           },
           {
               "transaction_id": "otransaction~3212811cd7c0ff265434f5921b93621cc5b0e0450b07c52b42ad9d8ce73cf063",
               "transacted_amount": 10,
               "timestamp": "2025-08-20T23:18:53.000Z",
               "token_id": "token",
               "category": "category value",
               "description": "description value",
               "holding_id": "ohold~cbdc~token~hold1",
               "to_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "to_org_id": "Org1",
               "to_user_id": "cb",
               "to_custom_account_id": "1234567jh",
               "from_account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "from_org_id": "CentralBank",
               "from_user_id": "Not Available",
               "from_custom_account_id": "Not Available",
               "transacted_account": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "transaction_type": "CREDIT",
               "balance": 30,
               "onhold_balance": 0,
               "transacted_org_id": "CentralBank",
               "transacted_user_id": "Not Available",
               "transacted_custom_account_id": "Not Available"
           },
           {
               "transaction_id": "otransaction~af2a1b0d56778e4ff5f4dda4e81bbcbf02c0592416ee2f105ff0b764e515fd0a",
               "transacted_amount": 10,
               "timestamp": "2025-08-20T23:17:29.000Z",
               "token_id": "token",
               "category": "category value",
               "description": "description value",
               "holding_id": "ohold~cbdc~token~hold1",
               "to_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "to_org_id": "Org1",
               "to_user_id": "cb",
               "to_custom_account_id": "1234567jh",
               "from_account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "from_org_id": "CentralBank",
               "from_user_id": "Not Available",
               "from_custom_account_id": "Not Available",
               "transacted_account": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "transaction_type": "CREDIT",
               "balance": 20,
               "onhold_balance": 0,
               "transacted_org_id": "CentralBank",
               "transacted_user_id": "Not Available",
               "transacted_custom_account_id": "Not Available"
           },
           {
               "transaction_id": "otransaction~6c0452a58f13db93f1c308d60eab1fde6c911921b350c0bbbe0ce7dab394721d",
               "transacted_amount": 10,
               "timestamp": "2025-08-20T23:04:53.000Z",
               "token_id": "token",
               "category": "category value",
               "description": "description value",
               "holding_id": "ohold~cbdc~token~hold1",
               "to_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "to_org_id": "Org1",
               "to_user_id": "cb",
               "to_custom_account_id": "1234567jh",
               "from_account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "from_org_id": "CentralBank",
               "from_user_id": "Not Available",
               "from_custom_account_id": "Not Available",
               "transacted_account": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "transaction_type": "CREDIT",
               "balance": 10,
               "onhold_balance": 0,
               "transacted_org_id": "CentralBank",
               "transacted_user_id": "Not Available",
               "transacted_custom_account_id": "Not Available"
           },
           {
               "transaction_id": "otransaction~df98e24a3b90661b54b54289b600b13a1051c922db0a4d20e3705a9820ae9c20",
               "transacted_amount": 0,
               "timestamp": "2025-08-20T22:55:09.000Z",
               "category": "",
               "description": "",
               "from_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "from_org_id": "Org1",
               "from_user_id": "cb",
               "from_custom_account_id": "1234567jh",
               "transacted_account": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "transaction_type": "CREATE_ACCOUNT",
               "balance": 0,
               "onhold_balance": 0,
               "transacted_org_id": "Org1",
               "transacted_user_id": "cb",
               "transacted_custom_account_id": "1234567jh"
           }
       ]
getAccountTransactionHistoryWithFiltersFromRichHistDB
Diese Methode ruft die Transaktionshistorie aus der Rich-History-Datenbank ab. Diese Methode kann nur von Token Admin oder Token Auditor, einer Org Admin oder Org Auditor der angegebenen Organisation oder der AccountOwner des Accounts aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string(), yup.string(), yup.object().nullable())
  public async getAccountTransactionHistoryWithFiltersFromRichHistDB(account_id: string, custom_endpoint: string, bearer_token: string, filters?: Filters) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getAccountTransactionHistoryWithFiltersFromRichHistDB", "TOKEN", { account_id });
    return await this.Ctx.Account.getAccountTrxHistoryWithFiltersFromRichHistDB(account_id, account.org_id, custom_endpoint, bearer_token, filters);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Kontos.
  • custom_endpoint: Der Serviceendpunkt RESTful der Rich-History-Datenbank.
  • bearer_token: Das Zugriffsautorisierungstoken für den RESTful-Serviceendpunkt.
  • filters: string: Ein optionaler Parameter. Wenn leer, werden alle Datensätze zurückgegeben. Die Eigenschaft PageSize bestimmt die Anzahl der zurückzugebenden Datensätze. Wenn PageSize 0 ist, ist die Standardseitengröße 20. Die Eigenschaft Bookmark bestimmt den Startindex der zurückzugebenden Datensätze. Weitere Informationen finden Sie in der Dokumentation zu Hyperledger Fabric. Die Eigenschaften StartTime und EndTime müssen im RFC-3339-Format angegeben werden.
Beispiel für Rückgabewert:
[
    {
        "transaction_id": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c",
        "transacted_amount": 200,
        "timestamp": "2025-08-25T13:16:55.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "EXECUTEHOLD",
        "category": "transfer",
        "balance": 26800,
        "onhold_balance": 300
    },
    {
        "transaction_id": "otransaction~2b75b3e8531a651f07c2d048d8546ad70ac49c66f0b82ed7626c1739090842ce",
        "transacted_amount": 100,
        "timestamp": "2025-08-25T13:16:06.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~e26f11da",
        "category": "transfer",
        "balance": 26800,
        "onhold_balance": 500
    },
    {
        "transaction_id": "otransaction~9e7bf14cf96c5f90170da9455b1318687785e936192f60b7cbeb1c8bfabc41d2",
        "transacted_amount": 100,
        "timestamp": "2025-08-21T06:57:19.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_retirer_demo",
        "transacted_custom_account_id": "10109999006543",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_retirer_demo",
        "from_custom_account_id": "10109999006543",
        "transaction_type": "CREDIT",
        "category": "transfer",
        "balance": 26900,
        "onhold_balance": 400
    },
    {
        "transaction_id": "otransaction~b3901b4754920a9c75e36069dc55024ad505e4c127f334eedf65ef6703dc6b86",
        "transacted_amount": 200,
        "timestamp": "2025-08-21T05:39:25.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "to_org_id": "org2",
        "to_user_id": "fi2_org_officer_demo",
        "to_custom_account_id": "30300617202404",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~77b75873",
        "category": "issuance",
        "balance": 26800,
        "onhold_balance": 400
    },
    {
        "transaction_id": "otransaction~d55c9dfc9feacb353544b5d8b2ae694162ade3890bcaaf715503fd1d6a73cd1a",
        "transacted_amount": 200,
        "timestamp": "2025-08-21T05:39:01.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~81d7c4ac",
        "category": "transfer",
        "balance": 27000,
        "onhold_balance": 200
    },
    {
        "transaction_id": "otransaction~751eaedbe4311edd5d17cae53d283caf397d0cb09f18d57a5e3fe61266875ff9",
        "transacted_amount": 200,
        "timestamp": "2025-08-13T09:59:22.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "transacted_org_id": "org2",
        "transacted_user_id": "fi2_org_officer_demo",
        "transacted_custom_account_id": "30300617202404",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "from_org_id": "org2",
        "from_user_id": "fi2_org_officer_demo",
        "from_custom_account_id": "30300617202404",
        "transaction_type": "CREDIT",
        "category": "transfer",
        "balance": 27200,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~70155a8f4e388cc9395dbd03bedaf5a878705f5ad02302c8e9163218a5c3875a",
        "transacted_amount": 1000,
        "timestamp": "2025-08-13T06:22:56.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_officer_demo",
        "from_custom_account_id": "20200222221111",
        "transaction_type": "CREDIT",
        "category": "transfer",
        "balance": 27000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~e595f3f0cc03fa5f58a546b8abbfaf155592e492f850581db2b8fed9a529c9e2",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T21:09:25.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "transacted_org_id": "org2",
        "transacted_user_id": "fi2_org_officer_demo",
        "transacted_custom_account_id": "30300617202404",
        "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "to_org_id": "org2",
        "to_user_id": "fi2_org_officer_demo",
        "to_custom_account_id": "30300617202404",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "EXECUTEHOLD",
        "category": "issuance",
        "balance": 26000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~da92402859d87ae3069722d8e39cb0da448e9a5f67468233ee9b1fe7a4ebeef8",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T21:09:17.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "EXECUTEHOLD",
        "category": "issuance",
        "balance": 26000,
        "onhold_balance": 10000
    },
    {
        "transaction_id": "otransaction~6915145aaf09fbf4d96456febddc2aa87b48c08ddd8ff17a6bab5d310f67bb36",
        "transacted_amount": 1000,
        "timestamp": "2025-08-12T21:07:11.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_retirer_demo",
        "transacted_custom_account_id": "10109999006543",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_retirer_demo",
        "from_custom_account_id": "10109999006543",
        "transaction_type": "CREDIT",
        "category": "transfer",
        "balance": 26000,
        "onhold_balance": 20000
    },
    {
        "transaction_id": "otransaction~244d7172d1dc90a142e1f22204c76614c7eea814b3d61f33016b786f1b347784",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T21:05:39.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "to_org_id": "org2",
        "to_user_id": "fi2_org_officer_demo",
        "to_custom_account_id": "30300617202404",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~ed815e20",
        "category": "issuance",
        "balance": 25000,
        "onhold_balance": 20000
    },
    {
        "transaction_id": "otransaction~c63ec37966264493bde6fa666527b9cca11695c15611c32e89af49a2246f13f6",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T21:05:20.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~12d87129",
        "category": "issuance",
        "balance": 35000,
        "onhold_balance": 10000
    },
    {
        "transaction_id": "otransaction~5112f576c94c2d23c342479bfa37e34612414b3258a64b43cf51b920f4ff5868",
        "transacted_amount": 5000,
        "timestamp": "2025-08-12T21:05:02.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_retirer_demo",
        "transacted_custom_account_id": "10109999006543",
        "to_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_retirer_demo",
        "to_custom_account_id": "10109999006543",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "DEBIT",
        "category": "burn",
        "balance": 45000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~862aa9d9e877d3ea209b87299ab5b12c13ed5ce43d1cf1b934043c1dd02f58f6",
        "transacted_amount": 50000,
        "timestamp": "2025-08-12T21:04:22.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb__creator_demo",
        "transacted_custom_account_id": "10105678004567",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "from_org_id": "CentralBank",
        "from_user_id": "cb__creator_demo",
        "from_custom_account_id": "10105678004567",
        "transaction_type": "CREDIT",
        "category": "transfer",
        "balance": 50000,
        "onhold_balance": 0
    }
]
getOrgAccountsTransactionHistoryWithFiltersFromRichHistDB
Diese Methode ruft die Transaktionshistorie aus der Rich-History-Datenbank für die angegebene Organisation ab. Diese Methode kann nur von Token Admin oder Token Auditor, einer Org Admin oder Org Auditor der angegebenen Organisation oder der AccountOwner des Accounts aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string(), yup.string(), yup.object().nullable())
  public async getOrgAccountsTransactionHistoryWithFiltersFromRichHistDB(org_id: string, custom_endpoint: string, bearer_token: string, filters?: Filters) {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getOrgAccountsTransactionHistoryWithFiltersFromRichHistDB", "TOKEN", { org_id });
    return await this.Ctx.Account.getOrgAccountsTrxHistoryWithFiltersFromRichHistDB(org_id, custom_endpoint, bearer_token, filters);
  }
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
  • custom_endpoint: Der Serviceendpunkt RESTful der Rich-History-Datenbank.
  • bearer_token: Das Zugriffsautorisierungstoken für den RESTful-Serviceendpunkt.
  • filters: string: Ein optionaler Parameter. Wenn leer, werden alle Datensätze zurückgegeben. Die Eigenschaft PageSize bestimmt die Anzahl der zurückzugebenden Datensätze. Wenn PageSize 0 ist, ist die Standardseitengröße 20. Die Eigenschaft Bookmark bestimmt den Startindex der zurückzugebenden Datensätze. Weitere Informationen finden Sie in der Dokumentation zu Hyperledger Fabric. Die Eigenschaften StartTime und EndTime müssen im RFC-3339-Format angegeben werden.
Beispiel für Rückgabewert:
[
    {
        "transaction_id": "otransaction~4793f3907eefce2f9fca7ef107405b0f116efb3afbf83fa0e61fe763690c8235",
        "transacted_amount": 100,
        "timestamp": "2025-08-25T13:47:56.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "from_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_officer_demo",
        "from_custom_account_id": "20200222221111",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~2ac01689",
        "category": "issuance"
    },
    {
        "transaction_id": "otransaction~5177f7560d32838242a26ac74f2a90c6ff9b47aae0d0988f28d9b4cf7e27c097",
        "transacted_amount": 10,
        "timestamp": "2025-08-25T13:22:23.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_user1_demo",
        "transacted_custom_account_id": "20200198765432",
        "to_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_user2_demo",
        "to_custom_account_id": "20200211112222",
        "from_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_user1_demo",
        "from_custom_account_id": "20200198765432",
        "transaction_type": "CREDIT",
        "holding_id": "ohold~cbdc~USD~454f4bf6",
        "category": "transfer"
    },
    {
        "transaction_id": "otransaction~5177f7560d32838242a26ac74f2a90c6ff9b47aae0d0988f28d9b4cf7e27c097",
        "transacted_amount": 10,
        "timestamp": "2025-08-25T13:22:23.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_user2_demo",
        "transacted_custom_account_id": "20200211112222",
        "to_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_user2_demo",
        "to_custom_account_id": "20200211112222",
        "from_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_user1_demo",
        "from_custom_account_id": "20200198765432",
        "transaction_type": "EXECUTEHOLD",
        "holding_id": "ohold~cbdc~USD~454f4bf6",
        "category": "transfer"
    },
    {
        "transaction_id": "otransaction~32137cd7e16c560f4d96d0f8999f6a267c1e95be2f5b11ef0541e574a6cd7275",
        "transacted_amount": 200,
        "timestamp": "2025-08-25T13:16:55.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "transaction_type": "CREDIT",
        "category": "transfer"
    },
    {
        "transaction_id": "otransaction~67844e07c06ab4c3d94d8ff36173b9dbcc2f1b9c99f4e7070f1097fd89f3f514",
        "transacted_amount": 10,
        "timestamp": "2025-08-21T08:49:40.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_user1_demo",
        "transacted_custom_account_id": "20200198765432",
        "to_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_user2_demo",
        "to_custom_account_id": "20200211112222",
        "from_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_user1_demo",
        "from_custom_account_id": "20200198765432",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~b6e4925b",
        "category": "transfer"
    },
    {
        "transaction_id": "otransaction~b7c97d737fb978651c9132276ab677c0bcf795b9db13d0d39cba5243615c7389",
        "transacted_amount": 10,
        "timestamp": "2025-08-21T08:46:09.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_user1_demo",
        "to_custom_account_id": "20200198765432",
        "from_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_officer_demo",
        "from_custom_account_id": "20200222221111",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~4fbbb846",
        "category": "transfer"
    }
]
getAllAccountsTransactionHistoryWithFiltersFromRichHistDB
Diese Methode ruft die Transaktionshistorie aus der Rich-History-Datenbank für alle Organisationen ab. Diese Methode kann nur mit Token Admin oder Token Auditor aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string(), yup.object().nullable())
  public async getAllAccountsTransactionHistoryWithFiltersFromRichHistDB(custom_endpoint: string, bearer_token: string, filters?: Filters) {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getAllAccountsTransactionHistoryWithFiltersFromRichHistDB", "TOKEN");
    return await this.Ctx.Account.getAllAccountsTrxHistoryWithFiltersFromRichHistDB(custom_endpoint, bearer_token, filters);
  }
Parameter:
  • custom_endpoint: Der Serviceendpunkt RESTful der Rich-History-Datenbank.
  • bearer_token: Das Zugriffsautorisierungstoken für den RESTful-Serviceendpunkt.
  • filters: string: Ein optionaler Parameter. Wenn leer, werden alle Datensätze zurückgegeben. Die Eigenschaft PageSize bestimmt die Anzahl der zurückzugebenden Datensätze. Wenn PageSize 0 ist, ist die Standardseitengröße 20. Die Eigenschaft Bookmark bestimmt den Startindex der zurückzugebenden Datensätze. Weitere Informationen finden Sie in der Dokumentation zu Hyperledger Fabric. Die Eigenschaften StartTime und EndTime müssen im RFC-3339-Format angegeben werden.
Beispiel für Rückgabewert:
[
    {
        "transaction_id": "otransaction~62eb436be7c29fc2ed9cae221e874d9a31b163fa10374e7da09bf5e09a96c3ff",
        "transacted_amount": 10000,
        "timestamp": "2025-08-25T13:57:58.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "from_org_id": "CentralBank",
        "from_user_id": "cb__creator_demo",
        "from_custom_account_id": "10105678004567",
        "transaction_type": "DEBIT",
        "category": "issuance"
    },
    {
        "transaction_id": "otransaction~62eb436be7c29fc2ed9cae221e874d9a31b163fa10374e7da09bf5e09a96c3ff",
        "transacted_amount": 10000,
        "timestamp": "2025-08-25T13:57:58.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb__creator_demo",
        "transacted_custom_account_id": "10105678004567",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "from_org_id": "CentralBank",
        "from_user_id": "cb__creator_demo",
        "from_custom_account_id": "10105678004567",
        "transaction_type": "CREDIT",
        "category": "issuance"
    },
    {
        "transaction_id": "otransaction~c628fb7738222ed969295ccc8d21b4be95d96e3aada4f14570f7820a7051b5f7",
        "transacted_amount": 200,
        "timestamp": "2025-08-25T13:51:18.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "to_org_id": "org2",
        "to_user_id": "fi2_org_officer_demo",
        "to_custom_account_id": "30300617202404",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "RELEASEHOLD",
        "holding_id": "ohold~cbdc~USD~77b75873"
    },
    {
        "transaction_id": "otransaction~af2cc8e43ecb4c5520d90a8d7955b5a47623a29b13eef47e31c16eb48cc0adec",
        "transacted_amount": 100,
        "timestamp": "2025-08-25T13:50:45.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_retirer_demo",
        "transacted_custom_account_id": "10109999006543",
        "from_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_retirer_demo",
        "from_custom_account_id": "10109999006543",
        "transaction_type": "REJECT_BURN",
        "holding_id": "ohold~cbdc~USD~8d34",
        "description": "Burn",
        "to_account": ""
    },
    {
        "transaction_id": "otransaction~182b99bb2ed753994a8c638ab9b08c3a4e73ac8159a3173a2a1f56b651d2eeac",
        "transacted_amount": 2000,
        "timestamp": "2025-08-25T13:50:19.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb__creator_demo",
        "transacted_custom_account_id": "10105678004567",
        "to_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "to_org_id": "CentralBank",
        "to_user_id": "cb__creator_demo",
        "to_custom_account_id": "10105678004567",
        "transaction_type": "REJECT_MINT",
        "holding_id": "ohold~cbdc~USD~89ce",
        "description": "Minting 2000 tokens",
        "from_account": ""
    },
    {
        "transaction_id": "otransaction~4793f3907eefce2f9fca7ef107405b0f116efb3afbf83fa0e61fe763690c8235",
        "transacted_amount": 100,
        "timestamp": "2025-08-25T13:47:56.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_officer_demo",
        "from_custom_account_id": "20200222221111",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~2ac01689",
        "category": "issuance"
    },
    {
        "transaction_id": "otransaction~5177f7560d32838242a26ac74f2a90c6ff9b47aae0d0988f28d9b4cf7e27c097",
        "transacted_amount": 10,
        "timestamp": "2025-08-25T13:22:23.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_user2_demo",
        "transacted_custom_account_id": "20200211112222",
        "to_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_user2_demo",
        "to_custom_account_id": "20200211112222",
        "from_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_user1_demo",
        "from_custom_account_id": "20200198765432",
        "transaction_type": "EXECUTEHOLD",
        "holding_id": "ohold~cbdc~USD~454f4bf6",
        "category": "transfer"
    }
]
getAccountBalance
Diese Methode gibt den aktuellen Saldo für ein angegebenes Konto zurück. Diese Methode kann nur von einer Token Admin oder Token Auditor, einer Org Admin oder Org Auditor der angegebenen Organisation oder der AccountOwner des Accounts aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getAccountBalance(account_id: string) {
    await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getAccountBalance", "TOKEN", { account_id });
    return await this.Ctx.Account.getAccountBalance(account_id);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des aktuellen Kontosaldos.
Beispiel für Rückgabewert:
{
    "msg": "Current Balance is: 100",
    "user_balance": 100
}
deleteHistoricalTransactions
Mit dieser Methode werden ältere Transaktionen aus der Statusdatenbank gelöscht. Diese Methode kann nur mit einem Token Admin aufgerufen werden.
@Validator(yup.date())
  public async deleteHistoricalTransactions(time_to_expiration: Date) {
    await this.Ctx.Auth.checkAuthorization("TRANSACTION.deleteTransactions", "TOKEN");
    await this.Ctx.Model.createEvent(EVENT_NAME.DELETE_HISTORICAL_TRANSACTIONS, { time_to_expiration });
    return await this.Ctx.Transaction.deleteTransactions(time_to_expiration);
  }
Parameter:
  • time_to_expiration Date: Ein Zeitstempel, der angibt, wann Transaktionen gelöscht werden sollen. Transaktionsassets, die älter als die angegebene Zeit sind, werden gelöscht.
Beispiel für Rückgabewert:
{
    "msg": "Successfully deleted transaction older than date: Thu Aug 19 2025 11:19:36 GMT+0000 (Coordinated Universal Time).",
    "transactions": [
           "otransaction~ec3366dd48b4ce2838f820f2f138648e6e55a07226713e59b411ff31b0d21058"
     ]
}
getTransactionById
Diese Methode gibt die Historie eines Transaction-Assets zurück. Diese Methode kann nur von einer Token Admin oder Token Auditor, von einer Org Admin oder Org Auditor der angegebenen Organisation oder von einem Transaktionsteilnehmer (Absender, Empfänger oder Notar) aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getTransactionById(transaction_id: string) {
    await this.Ctx.Auth.checkAuthorization("TRANSACTION.getTransactionById", "TOKEN", { transaction_id });
    return await this.Ctx.Transaction.getTransactionById(transaction_id);
  }
Parameter:
  • transaction_id string: Die ID des Transaktionsassets.
Rückgabewert:
  • Bei Erfolg ein JSON-Array der Historie für die Transaktion.
Beispiel für Rückgabewert:
{
    "transaction_id": "otransaction~6523597253e45b3c976aecdc54e2c6316d0a4f88ad5d7f3fff48c69213e4375a",
    "history": [
        {
            "trxId": "6523597253e45b3c976aecdc54e2c6316d0a4f88ad5d7f3fff48c69213e4375a",
            "timeStamp": "2025-08-20T23:21:45.000Z",
            "value": {
                "assetType": "otransaction",
                "transaction_id": "otransaction~6523597253e45b3c976aecdc54e2c6316d0a4f88ad5d7f3fff48c69213e4375a",
                "token_id": "token",
                "from_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
                "to_account_id": "oaccount~5e3b5a3306d7ca3f3e3fe7cc27b6ae547e94dba1c5af58a69a771d7a619b6a66",
                "transaction_type": "TRANSFER",
                "amount": 22,
                "timestamp": "2025-08-20T23:21:45.000Z",
                "number_of_sub_transactions": 0,
                "holding_id": "",
                "sub_transaction": "false",
                "category": "category value",
                "description": "description value"
            }
        }
    ],
    "sub_transactions": []
}
getAccountStatus
Diese Methode ruft den aktuellen Status des Token-Accounts ab. Diese Methode kann von der Token Admin des Chaincodes, einer Org Admin der angegebenen Organisation oder vom Tokenkontoeigentümer aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getAccountStatus(account_id: string) {
    await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT_STATUS.get", "TOKEN", { account_id });
    try {
      return await this.Ctx.AccountStatus.getAccountStatus(account_id);
    } catch (err) {
      return await this.Ctx.AccountStatus.getDefaultAccountStatus(account_id);
    }
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Rückgabewert:
  • Bei Erfolg eine Nachricht, die Details zum Tokenaccountstatus enthält.
Beispiel für Rückgabewert:
{
    "assetType": "oaccountStatus",
    "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "active"
}
getAccountStatusHistory
Diese Methode ruft die Historie des Kontostatus ab. Diese Methode kann von der Token Admin des Chaincodes, einer Org Admin der angegebenen Organisation oder vom Tokenkontoeigentümer aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getAccountStatusHistory(account_id: string) {
    await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT_STATUS.history", "TOKEN", { account_id });
    const status_id = await this.Ctx.AccountStatus.generateAccountStatusId(account_id);
    let account_status_history: any;
    try {
      account_status_history = await this.Ctx.AccountStatus.history(status_id);
    } catch (err) {
      return [];
    }
    return account_status_history;
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Rückgabewert:
  • Bei Erfolg eine Nachricht, die Details der Accountstatushistorie enthält.
Beispiel für Rückgabewert:
[
  {
    "trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63",
    "timeStamp": "2025-12-02T10:39:14.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "suspended"
    }
  },
  {
    "trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183",
    "timeStamp": "2025-12-02T10:37:50.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "active"
    }
  }
]
activateAccount
Mit dieser Methode wird ein Token-Account aktiviert. Diese Methode kann nur von einem Token Admin des Chaincodes oder einem Org Admin der angegebenen Organisation aufgerufen werden. Gelöschte Accounts können nicht aktiviert werden.
@Validator(yup.string())
  public async activateAccount(account_id: string) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT_STATUS.activateAccount", "TOKEN", { org_id: account.org_id });
    const token_asset = await this.getTokenObject(account.token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.ACTIVATE_ACCOUNT, { account_id }, token_asset);
    return await this.Ctx.Account.activateAccount(account_id);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Accountstatusobjekts für den angegebenen Tokenaccount.
Beispiel für Rückgabewert:
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "active"
}
suspendAccount
Mit dieser Methode wird ein Token-Account unterbrochen. Diese Methode kann nur von einem Token Admin des Chaincodes oder einem Org Admin der angegebenen Organisation aufgerufen werden. Nachdem ein Konto ausgesetzt wurde, können Sie keine Vorgänge ausführen, die das Konto aktualisieren. Ein gelöschter Account kann nicht ausgesetzt werden.
@Validator(yup.string())
  public async suspendAccount(account_id: string) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT_STATUS.suspendAccount", "TOKEN", { org_id: account.org_id });
    const token_asset = await this.getTokenObject(account.token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.SUSPEND_ACCOUNT, { account }, token_asset);
    return await this.Ctx.Account.suspendAccount(account_id);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Accountstatusobjekts für den angegebenen Tokenaccount.
Beispiel für Rückgabewert:
{
    "assetType": "oaccountStatus",
    "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "suspended"
}
deleteAccount
Mit dieser Methode wird ein Token-Account gelöscht. Diese Methode kann nur von einem Token Admin des Chaincodes oder einem Org Admin der angegebenen Organisation aufgerufen werden. Nachdem ein Konto gelöscht wurde, können Sie keine Vorgänge abschließen, die das Konto aktualisieren. Das gelöschte Konto befindet sich in einem endgültigen Status und kann nicht in einen anderen Status geändert werden. Um ein Konto zu löschen, müssen der Kontensaldo und der einbehaltene Saldo Null sein.
@Validator(yup.string())
  public async deleteAccount(account_id: string) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT_STATUS.deleteAccount", "TOKEN", { org_id: account.org_id });
    const token_asset = await this.getTokenObject(account.token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.DELETE_ACCOUNT, { account_id }, token_asset);
    return await this.Ctx.Account.deleteAccount(account_id);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Accountstatusobjekts für den angegebenen Tokenaccount.
Beispiel für Rückgabewert:
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "deleted"
}
setMaxDailyAmount
Diese Methode legt den Wert max_daily_amount für ein angegebenes Konto fest. Diese Methode kann nur von einem Token Admin des Chaincodes oder einem Org Admin der angegebenen Organisation aufgerufen werden.
@Validator(yup.string(), yup.string().optional())
  public async setMaxDailyAmount (account_id: string, max_daily_amount?: string) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization('ACCOUNT.setMaxDailyAmount', 'TOKEN', { org_id: account.org_id });
    const token_asset = await this.getTokenObject(account.token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.SET_MAX_DAILY_AMOUNT, { account_id, max_daily_amount }, token_asset);
    return this.Ctx.Account.setMaxDailyAmount (account_id, max_daily_amount);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
  • max_daily_amount?: string (Optional) Die maximale Anzahl an Token, die der Benutzer täglich übertragen kann. Wenn keine Angabe gemacht wird, kann der Benutzer jeden beliebigen Betrag an Token täglich übertragen.
Beispiel für Rückgabewert:
{
           "msg": "Successfully set max daily amount for account id oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a to 1000000"
       }
setMaxDailyTransactionCount
Diese Methode legt den Wert max_daily_transactions für ein angegebenes Konto fest. Diese Methode kann nur von einem Token Admin des Chaincodes oder einem Org Admin der angegebenen Organisation aufgerufen werden.
@Validator(yup.string(), yup.string().optional())
  public async setMaxDailyTransactionCount (account_id: string, max_daily_transactions?: string) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization('ACCOUNT.setMaxDailyTransactionCount', 'TOKEN', { org_id: account.org_id });
    const token_asset = await this.getTokenObject(account.token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.SET_MAX_DAILY_TRANSACTION_COUNT, { account_id, max_daily_transactions}, token_asset);
    return this.Ctx.Account.setMaxDailyTransactionCount (account_id, max_daily_transactions);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
  • max_daily_transactions?: string (Optional) Die maximale Anzahl von Transaktionen, die der Benutzer täglich abschließen kann. Wenn keine Angabe gemacht wird, kann der Benutzer eine beliebige Anzahl von Transaktionen täglich abschließen.
Beispiel für Rückgabewert:
{
            "msg": "Successfully set max daily transactions for account id oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a to 100000"
        }
getMaxDailyAmount
Diese Methode ruft den Wert max_daily_amount für einen angegebenen Account ab. Diese Methode kann nur von einer Token Admin oder Token Auditor des Chaincodes oder einer Org Admin oder Org Auditor der angegebenen Organisation aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getMaxDailyAmount (account_id: string) {
    await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization('ACCOUNT.getMaxDailyAmount', 'TOKEN', { account_id });
    return this.Ctx.Account.getMaxDailyAmount (account_id);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
           "max_daily_amount": "10000"
       }
getMaxDailyTransactionCount
Diese Methode ruft den Wert max_daily_transactions für einen angegebenen Account ab. Diese Methode kann nur von einer Token Admin oder Token Auditor des Chaincodes oder einer Org Admin oder Org Auditor der angegebenen Organisation aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getMaxDailyTransactionCount (account_id: string) {
    await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization('ACCOUNT.getMaxDailyTransactionCount', 'TOKEN', { account_id });
    return this.Ctx.Account.getMaxDailyTransactionCount (account_id);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
           "max_daily_transactions": "100"
       }
consolidateRunningBalanceInTransactions
Diese Methode berechnet die laufenden Kontensalden und speichert die aktualisierten Werte in den Transaktionsschlüssel/Wert-Paaren. Normalerweise rufen Systemadministratoren diese Methode mit einem REST-Proxy-Scheduler auf. Diese Methode kann nur mit einer Token Admin oder Org Admin aufgerufen werden.
@Validator(yup.string())
  public async consolidateRunningBalanceInTransactions() {
    await this.Ctx.Auth.checkAuthorization("TRANSACTION.consolidateRunningBalanceInTransactions", "TOKEN");
    return this.Ctx.Transaction.consolidateRunningBalanceInTransactions(true);
  }
Beispiel für Rückgabewert:
{ msg: "Successfully updated account running balance for pending transactions."}
processSendersAndReceivers
Diese Methode berechnet und aktualisiert die Tokenkontensalden, die in den Schlüssel/Wert-Paaren des Absenders und Empfängers verteilt werden, die während zwischenbetrieblicher Transfers erstellt wurden, und löscht dann die Schlüssel/Wert-Paare des Absenders und Empfängers, die nicht mehr verwendet werden. Normalerweise rufen Systemadministratoren diese Methode mit einem REST-Proxy-Scheduler auf. Diese Methode kann nur mit einer Token Admin oder Org Admin aufgerufen werden.
@Validator(yup.string())
  public async processSendersAndReceivers() {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.processSendersAndReceivers", "TOKEN");
    return this.Ctx.Account.processSendersAndReceivers(true);
  }
Beispiel für Rückgabewert:
{ msg: "Successfully updated balance for accounts from pending receivers."}
addRole
Diese Methode fügt einem angegebenen Benutzer und Token eine Rolle hinzu. Diese Methode kann nur von einer Token Admin des Chaincodes oder von einer Org Admin der angegebenen Organisation aufgerufen werden, die auch die angegebene Rolle enthält.
@Validator(yup.string(), yup.string())
  public async addRole(account_id: string, role: string) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    const token_asset = await this.getTokenObject(account.token_id);
    await this.Ctx.Auth.checkAuthorization("TOKEN.addRoleMember", "TOKEN", { token_id: account.token_id, org_id: account.org_id, role });
    await this.Ctx.Model.createEvent(EVENT_NAME.ADD_ROLE, { role, account_id }, token_asset);
    return await this.Ctx.Token.addRoleMember(role, account_id, token_asset);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
  • role: string: Der Name der Rolle, die dem angegebenen Benutzer hinzugefügt werden soll. Das Verhalten von mintable und burnable entspricht den Eigenschaften minter_role_name und burner_role_name der Spezifikationsdatei. Entsprechend entspricht die Rolle notary der Eigenschaft notary_role_name der Spezifikationsdatei.
Rückgabewert:
  • Bei Erfolg eine Nachricht mit Accountdetails.
Beispiel für Rückgabewert:
{
     "msg": "Successfully added role 'notary' to Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8"
}
removeRole
Mit dieser Methode wird eine Rolle aus einem angegebenen Benutzer und Token entfernt. Diese Methode kann nur von einer Token Admin des Chaincodes oder von einer Org Admin der angegebenen Organisation aufgerufen werden, die auch die angegebene Rolle enthält.
@Validator(yup.string(), yup.string())
  public async removeRole(account_id: string, role: string) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    const token_asset = await this.getTokenObject(account.token_id);
    await this.Ctx.Auth.checkAuthorization("TOKEN.removeRoleMember", "TOKEN", { token_id: account.token_id, org_id: account.org_id, role });
    await this.Ctx.Model.createEvent(EVENT_NAME.REMOVE_ROLE, { role, account_id }, token_asset);
    return await this.Ctx.Token.removeRoleMember(role, account_id, token_asset);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
  • role: string: Der Name der Rolle, die aus dem angegebenen Benutzer entfernt werden soll. Das Verhalten von mintable und burnable entspricht den Eigenschaften minter_role_name und burner_role_name der Spezifikationsdatei. Entsprechend entspricht die Rolle notary der Eigenschaft notary_role_name der Spezifikationsdatei.
Rückgabewert:
  • Bei Erfolg eine Nachricht mit Accountdetails.
Beispiel für Rückgabewert:
{
   "msg": "Successfully removed role 'notary' from Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8"
}
getAccountsByRole
Diese Methode gibt eine Liste aller Konto-IDs für eine angegebene Rolle und ein bestimmtes Token zurück. Diese Methode kann nur mit einer Token Admin oder Token Auditor aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string())
  public async getAccountsByRole(token_id: string, role: string) {
    await this.Ctx.Auth.checkAuthorization("ROLE.getAccountsByRole", "TOKEN");
    return await this.Ctx.Role.getAccountsByRole(token_id, role);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
Rückgabewert:
  • Bei Erfolg ein JSON-Array mit Konto-IDs.
Beispiel für Rückgabewert:
{
           "accounts": [
               "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75"
           ]
       }
getOrgAccountsByRole
Diese Methode gibt eine Liste aller Konto-IDs für eine angegebene Rolle, ein bestimmtes Token und eine bestimmte Organisation zurück. Diese Methode kann nur von einer Token Admin oder Token Auditor oder von einer Org Admin oder Org Auditor der angegebenen Organisation aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string(), yup.string())
  public async getOrgAccountsByRole(token_id: string, role: string, org_id: string) {
    await this.Ctx.Auth.checkAuthorization("ROLE.getOrgAccountsByRole", "TOKEN", { org_id });
    return await this.Ctx.Role.getOrgAccountsByRole(token_id, role, org_id);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
Rückgabewert:
  • Bei Erfolg ein JSON-Array mit Konto-IDs.
Beispiel für Rückgabewert:
{
           "accounts": [
               "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75"
           ]
       }
getUsersByRole
Diese Methode gibt eine Liste aller Benutzer für eine angegebene Rolle und ein bestimmtes Token zurück. Diese Methode kann nur mit einer Token Admin oder Token Auditor aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string())
  public async getUsersByRole(token_id: string, role: string) {
    await this.Ctx.Auth.checkAuthorization("ROLE.getUsersByRole", "TOKEN");
    return await this.Ctx.Role.getUsersByRole(token_id, role);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
Beispiel für Rückgabewert:
{
          "users": [
              {
                  "token_id": "token",
                  "org_id": "CentralBank"
              }
          ]
      }
getOrgUsersByRole
Diese Methode gibt eine Liste aller Benutzer für eine angegebene Rolle, ein bestimmtes Token und eine bestimmte Organisation zurück. Diese Methode kann nur von einer Token Admin oder Token Auditor oder von einer Org Admin oder Org Auditor der angegebenen Organisation aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string(), yup.string())
  public async getOrgUsersByRole(token_id: string, role: string, org_id: string) {
    await this.Ctx.Auth.checkAuthorization("ROLE.getOrgUsersByRole", "TOKEN", { org_id });
    return await this.Ctx.Role.getOrgUsersByRole(token_id, role, org_id);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
Beispiel für Rückgabewert:
{
           "users": [
               {
                   "token_id": "token",
                   "org_id": "CentralBank",
                   "user_id": "cb1",
                   "custom_account_id": "1234567jh"
               }
           ]
       }
isInRole
Diese Methode gibt einen booleschen Wert zurück, um anzugeben, ob ein Benutzer eine bestimmte Rolle hat. Diese Methode kann nur von einer Token Admin oder Token Auditor, der AccountOwner des Accounts oder einer Org Admin oder Org Auditor der angegebenen Organisation aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string())
  public async isInRole(account_id: string, role: string) {
    const account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    const token_asset = await this.getTokenObject(account.token_id);
    await this.Ctx.Auth.checkAuthorization("TOKEN.isInRole", "TOKEN", { account_id });
    return { result: await this.Ctx.Token.isInRole(role, account_id, token_asset) };
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
Rückgabewert:
  • Bei Erfolg eine JSON-Zeichenfolge des booleschen Ergebnisses.
Beispiel für Rückgabewert:
{
           "result": "true"
       }
getTotalMintedTokens
Diese Methode gibt die Gesamtanzahl der ausgeprägten Token für ein angegebenes Token zurück. Diese Methode kann nur mit Token Admin, Token Auditor, Org Admin oder Org Auditor aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getTotalMintedTokens(token_id: string) {
    const token_asset = await this.getTokenObject(token_id);
    await this.Ctx.Auth.checkAuthorization("TOKEN.getTotalMintedTokens", "TOKEN");
    const totalMintedTokens = await this.Ctx.Token.getTotalMintedTokens(token_asset);
    return {
      msg: `Total minted token for Token Id: ${token_id} is ${totalMintedTokens} tokens.`,
      quantity: totalMintedTokens,
    };
  }
Parameter:
  • token_id: string: Die ID des Tokens.
Rückgabewert:
  • Bei Erfolg eine JSON-Zeichenfolge, die die Gesamtanzahl der Token angibt.
Beispiel für Rückgabewert:
{
    "msg": "Total minted token for Token Id: USD is 910 tokens.",
    "quantity": 910
}
getNetTokens
Diese Methode gibt die Gesamtanzahl der Token zurück, die im System für ein angegebenes Token verfügbar sind. Die Nettotokensumme ist die Anzahl der verbleibenden Token, nachdem Token gebrannt wurden. In Gleichungsform: Nettotoken = Gesamtanzahl abgebrannter Token - Gesamtanzahl verbrannter Token. Wenn keine Token verbrannt werden, ist die Anzahl der Nettotoken gleich der Gesamtanzahl der abgebauten Token. Diese Methode kann nur mit Token Admin, Token Auditor, Org Admin oder Org Auditor aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getNetTokens(token_id: string) {
    const token_asset = await this.getTokenObject(token_id);
    await this.Ctx.Auth.checkAuthorization("TOKEN.getNetTokens", "TOKEN");
    const netTokens = await this.Ctx.Token.getNetTokens(token_asset);
    return {
      msg: `Net supply of token for Token Id: ${token_id} is ${netTokens} tokens.`,
      quantity: netTokens,
    };
  }
Parameter:
  • token_id: string: Die ID des Tokens.
Rückgabewert:
  • Bei Erfolg eine JSON-Zeichenfolge, die die Nettoanzahl von Token angibt.
Beispiel für Rückgabewert:
{
    "msg": "Net supply of token for Token Id: USD is 878 tokens.",
    "quantity": 878
}
requestMint
Diese Methode kann von einem Minter aufgerufen werden, um eine Anforderung an den Minter Notar zu senden, um eine bestimmte Anzahl von Token zu erstellen.
@Validator(
    yup.string(),
    yup.string(),
    yup.number().positive(),
    yup.date(),
    yup.object().nullable()
  )
  public async requestMint(
      operation_id: string,
      notary_account_id: string,
      quantity:number,
      time_to_expiration: Date,
      info_details ?: InfoDetails
  ) {
    const notary_account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(notary_account_id);
    const token_asset = await this.getTokenObject(notary_account.token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.REQUEST_MINT, { operation_id, notary_account_id, quantity, time_to_expiration, info_details }, token_asset);
    return await this.Ctx.Hold.hold(operation_id, null, notary_account_id, quantity, time_to_expiration, token_asset, HoldOperationType.MINT, info_details);
  }
Parameter:
  • operation_id: string: Die eindeutige Vorgangs-ID, die der Mint-Anforderung entspricht.
  • notary_account_id: string: Die eindeutige Konto-ID des Notars, der die Anforderung verarbeitet.
  • quantity: number - Die Anzahl der Token für Mint.
  • time_to_expiration – Die Zeit, nach der die Minting-Anforderung abläuft und nicht mehr gültig ist.
  • info_details: JSON: Ein Objekt, das die Kategorie (category) und die Beschreibung (description) der Anforderung angibt.

    Sie geben den Parameter info_details in einem anderen Format an, wenn Sie Visual Studio Code im Vergleich zur CLI oder Postman-Collection verwenden.

    Visual Studio-Code: { "category": "category value", "description": "description value" }

    CLI/Postman: "{\"category\":\"category value\",\"description\":\"description value\"}"

Beispiel für Rückgabewert:
{
           "msg": "AccountId oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41 has successfully submitted request to mint 200 tokens"
       }
approveMint
Diese Methode kann von einem Minter Notar aufgerufen werden, um eine Prägeanforderung zu genehmigen.
@Validator(yup.string(), yup.string())
  public async approveMint(token_id: string, operation_id: string) {
    const token_asset = await this.getTokenObject(token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.APPROVE_MINT, { token_asset, operation_id }, token_asset);
    return await this.Ctx.Hold.executeHold(operation_id, token_asset, HoldOperationType.MINT);
  }
Parameter:
  • token_id: string: Die ID des zu prägenden Tokens.
  • operation_id: string: Die eindeutige Vorgangs-ID, die der Mint-Anforderung entspricht.
Beispiel für Rückgabewert:
{
           "msg": "Successfully minted 1000 tokens to Account Id: oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41"
       }
rejectMint
Diese Methode kann von einem Minter Notar aufgerufen werden, um eine Prägeanforderung abzulehnen.
@Validator(yup.string(), yup.string())
  public async rejectMint(token_id: string, operation_id: string) {
    const token_asset = await this.getTokenObject(token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.REJECT_MINT, { token_asset, operation_id }, token_asset);
    return await this.Ctx.Hold.releaseHold(operation_id, token_asset, HoldOperationType.MINT);
  }
Parameter:
  • token_id: string: Die ID des zu prägenden Tokens.
  • operation_id: string: Die eindeutige Vorgangs-ID, die der Mint-Anforderung entspricht.
Beispiel für Rückgabewert:
{
           "msg": "Successfully rejected mint request with Operation Id '89ce' to mint 2000 tokens of token id USD"
       }
issueTokens
Mit dieser Methode werden Token abgebildet, die dann dem Aufrufer der Methode gehören.
@Validator(yup.string(), yup.number().positive(), yup.object().nullable())
  public async issueTokens(token_id: string, quantity: number, info_details?: InfoDetails) {
    const token_asset = await this.getTokenObject(token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.ISSUE_TOKENS, { quantity, token_asset, info_details }, token_asset);
    return await this.Ctx.Token.mint(quantity, token_asset, info_details);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • quantity – Die Anzahl der zu mindernden Token.
  • info_details: JSON: Ein Objekt, das die Kategorie (category) und die Beschreibung (description) der Anforderung angibt.

    Sie geben den Parameter info_details in einem anderen Format an, wenn Sie Visual Studio Code im Vergleich zur CLI oder Postman-Collection verwenden.

    Visual Studio-Code: { "category": "category value", "description": "description value" }

    CLI/Postman: "{\"category\":\"category value\",\"description\":\"description value\"}"

Beispiel für Rückgabewert:
{
          "msg": "Successfully minted 1000 tokens to Account Id: oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41"
      }
transferTokens
Mit dieser Methode werden Token vom Aufrufer an ein bestimmtes Konto übertragen.
@Validator(yup.string(), yup.number(), yup.object().nullable())
  public async transferTokens(to_account_id: string, quantity: number, info_details ?: InfoDetails) {
    if (quantity <= 0) {
      throw new Error("The quantity should be a positive number.")
    }
    const to_account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(to_account_id);
    const token_asset = await this.getTokenObject(to_account.token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.TRANSFER_TOKENS, { to_account_id, quantity, info_details }, token_asset);
    let isNotary = await this.Ctx.Token.checkNotary(to_account_id, token_asset);
    if(isNotary) {
      throw new Error(`To Account Id '${to_account_id}' can not have a notary role!`);
    }
    return await this.Ctx.Token.transfer(to_account_id, quantity, token_asset, info_details);
  }
Parameter:
  • to_account_id: string: Die eindeutige Konto-ID des Empfängers (Zahlungsempfängers).
  • quantity: number: Die Anzahl der zu übertragenden Token.
  • info_details: JSON: Ein Objekt, das die Kategorie (category) und die Beschreibung (description) der Anforderung angibt.

    Sie geben den Parameter info_details in einem anderen Format an, wenn Sie Visual Studio Code im Vergleich zur CLI oder Postman-Collection verwenden.

    Visual Studio-Code: { "category": "category value", "description": "description value" }

    CLI/Postman: "{\"category\":\"category value\",\"description\":\"description value\"}"

Beispiel für Rückgabewert:
{
          "msg": "Successfully transferred 10000 tokens from account id: oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41  to account id: oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a."
      }
getAccountOnHoldBalance
Diese Methode gibt den aktuellen einbehaltenen Saldo für ein angegebenes Konto zurück. Diese Methode kann nur von einer Token Admin oder Token Auditor, einer Org Admin oder Org Auditor der angegebenen Organisation oder der AccountOwner des Accounts aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getAccountOnHoldBalance(account_id: string) {
    await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getAccountOnHoldBalance", "TOKEN", { account_id });
    return await this.Ctx.Account.getAccountOnHoldBalance(account_id);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des aktuellen Saldo, der zurückgehalten wird.
Beispiel für Rückgabewert:
{
           "msg": "Total Holding Balance is: 0",
           "holding_balance": 0
       }
getOnHoldDetailsWithOperationId
Diese Methode gibt die Details der zurückgestellten Transaktion für eine angegebene Vorgangs-ID und ein bestimmtes Token zurück. Diese Methode kann durch eine Token Admin oder Token Auditor des Chaincodes oder durch einen Transaktionsteilnehmer (Absender, Empfänger, Notar) aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string())
  public async getOnHoldDetailsWithOperationId(token_id: string, operation_id: string) {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getOnHoldDetailsWithOperationId", "TOKEN", { token_id, operation_id });
    return await this.Ctx.Hold.getOnHoldDetailsWithOperationId(token_id, operation_id);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • operation_id: string: Eine eindeutige ID zur Identifizierung des Sperrvorgangs. Normalerweise wird diese ID von der Clientanwendung übergeben.
Beispiel für Rückgabewert:
{
          "assetType": "ohold",
          "holding_id": "ohold~cbdc~token~hold1",
          "operation_id": "hold1",
          "token_name": "cbdc",
          "from_org_id": "CentralBank",
          "operation_type": "transfer",
          "status": "approved",
          "from_account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
          "to_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
          "notary_account_id": "oaccount~1da238c1491c919b151f777a615fb5779032c34b3ef3adeca6afe591bac10aaf",
          "token_id": "token",
          "quantity": "0",
          "time_to_expiration": "2029-01-04T00:00:00.000Z",
          "category": "category value",
          "description": "description value"
      }
getOnHoldIds
Diese Methode gibt eine Liste aller Halte-IDs für ein angegebenes Konto zurück. Diese Methode kann durch eine Token Admin oder Token Auditor des Chaincodes, eine Org Admin oder Org Auditor der angegebenen Organisation oder die AccountOwner des Accounts aufgerufen werden.
@GetMethod()
  @Validator(yup.string())
  public async getOnHoldIds(account_id: string) {
    await this.Ctx.Account.getAccountWithTokenIdValidation(account_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getOnHoldIds", "TOKEN", { account_id });
    return await this.Ctx.Account.getOnHoldIds(account_id);
  }
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Rückgabewert:
  • Bei Erfolg eine JSON-Liste mit IDs.
Beispiel für Rückgabewert:
{
           "msg": "Holding Ids are: ",
           "holding_ids": ["ohold~cbdc~token~hold1"]
       }
getOnHoldBalanceWithOperationId
Diese Methode gibt den Saldo für eine bestimmte Vorgangs-ID und ein bestimmtes Token zurück. Diese Methode kann durch eine Token Admin oder Token Auditor des Chaincodes oder durch einen Transaktionsteilnehmer (Absender, Empfänger, Notar) aufgerufen werden.
@GetMethod()
  @Validator(yup.string(), yup.string())
  public async getOnHoldBalanceWithOperationId(token_id: string, operation_id: string) {
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getOnHoldBalanceWithOperationId", "TOKEN", { token_id, operation_id });
    return await this.Ctx.Hold.getOnHoldBalanceWithOperationId(token_id, operation_id);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • operation_id: string: Eine eindeutige ID zur Identifizierung des Sperrvorgangs. Normalerweise wird diese ID von der Clientanwendung übergeben.
Rückgabewert:
  • Bei Erfolg eine JSON-Zeichenfolge, die den Haltebalance angibt.
Beispiel für Rückgabewert:
{
           "msg": "Current Holding Balance of Operation 'hold1' for token 'token' is: 0",
           "holding_balance": 0
       }
holdTokens
Mit dieser Methode wird eine Sperre für den Aufrufer (den Eigentümer der Token) mit dem Account to_account_id erstellt. Das angegebene Notarkonto ist für den Abschluss oder die Freigabe der Sperre verantwortlich. Wenn die Sperre erstellt wird, wird der angegebene Tokensaldo des Zahlers gesperrt. Ein gesperrter Saldo kann erst übertragen werden, wenn die Sperre abgeschlossen oder freigegeben wurde.
@Validator(
    yup.string(),
    yup.string(),
    yup.string(),
    yup.number().positive(),
    yup.date(),
    yup.object().nullable()
  )
  public async holdTokens(
    operation_id: string,
    to_account_id: string,
    notary_account_id: string,
    quantity: number,
    time_to_expiration: Date,
    info_details ?: InfoDetails,
  ) {
    const to_account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(to_account_id);
    await this.Ctx.Account.getAccountWithTokenIdValidation(notary_account_id);
    const token_asset = await this.getTokenObject(to_account.token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.HOLD_TOKENS, {
      operation_id,
      to_account_id,
      notary_account_id,
      quantity,
      time_to_expiration,
      info_details
    }, token_asset);
    return await this.Ctx.Hold.hold(operation_id, to_account_id, notary_account_id, quantity, time_to_expiration, token_asset, HoldOperationType.TRANSFER, info_details);
  }
Parameter:
  • operation_id: string: Eine eindeutige ID zur Identifizierung des Sperrvorgangs. Normalerweise wird diese ID von der Clientanwendung übergeben.
  • to_account_id: string: Die eindeutige Konto-ID des Empfängers.
  • notary_account_id: string: Die eindeutige Konto-ID des Notars.
  • quantity: number: Die Anzahl der zurückzustellenden Token.
  • time_to_expiration: Der Zeitpunkt, zu dem die Sperre abläuft. Geben Sie 0 für eine permanente Sperre an. Verwenden Sie andernfalls das RFC-3339-Format. Beispiel: 2021-06-02T12:46:06Z.
  • info_details: JSON: Ein Objekt, das die Kategorie (category) und die Beschreibung (description) der Anforderung angibt.

    Sie geben den Parameter info_details in einem anderen Format an, wenn Sie Visual Studio Code im Vergleich zur CLI oder Postman-Collection verwenden.

    Visual Studio-Code: { "category": "category value", "description": "description value" }

    CLI/Postman: "{\"category\":\"category value\",\"description\":\"description value\"}"

Beispiel für Rückgabewert:
{
           "msg": "AccountId oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3 is successfully holding 100 tokens"
       }
executeHoldTokens
Mit dieser Methode wird eine Sperre für ein Token abgeschlossen. Eine Menge von Token, die zuvor von einem Token-Eigentümer gehalten wurden, wird an einen Empfänger übertragen. Wenn der Wert quantity kleiner als der tatsächliche Zurückstellungswert ist, ist der verbleibende Betrag wieder für den ursprünglichen Eigentümer der Token verfügbar. Diese Methode kann nur von der AccountOwner-ID mit der Rolle notary für die angegebene Vorgangs-ID aufgerufen werden. Die Sperre kann nur vom Notar abgeschlossen werden.
@Validator(yup.string(), yup.string(), yup.number().positive())
  public async executeHoldTokens(token_id: string, operation_id: string, quantity: number) {
    const token_asset = await this.getTokenObject(token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.EXECUTE_HOLD_TOKENS, { token_asset, operation_id, quantity }, token_asset);
    return await this.Ctx.Hold.executeHold(operation_id, token_asset, HoldOperationType.TRANSFER, quantity);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • operation_id: string: Eine eindeutige ID zur Identifizierung des Sperrvorgangs. Normalerweise wird diese ID von der Clientanwendung übergeben.
  • quantity: number: Die Anzahl der zurückgestellten Token, die übertragen werden sollen.
Rückgabewert:
  • Bei Erfolg eine Nachricht mit der Konto-ID des Anrufers und der Menge der Transaktion.
Beispiel für Rückgabewert:
{
           "msg": "Account Id: oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111 is successfully executed '10' tokens from Operation Id '454f4bf6'."
       }
releaseHoldTokens
Diese Methode gibt eine Sperre für Token frei. Die Übertragung ist nicht abgeschlossen, und alle zurückgestellten Token stehen dem ursprünglichen Eigentümer erneut zur Verfügung. Diese Methode kann durch die AccountOwner-ID mit der Rolle notary innerhalb der angegebenen Frist oder durch den Zahler, Zahlungsempfänger oder Notar nach der angegebenen Frist aufgerufen werden.
@Validator(yup.string(), yup.string())
  public async releaseHoldTokens(token_id: string, operation_id: string) {
    const token_asset = await this.getTokenObject(token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.RELEASE_HOLD_TOKENS, { token_asset, operation_id }, token_asset);
    return await this.Ctx.Hold.releaseHold(operation_id, token_asset, HoldOperationType.TRANSFER);
  }
Parameter:
  • token_id: string: Die ID des Tokens.
  • operation_id: string: Eine eindeutige ID zur Identifizierung des Sperrvorgangs. Normalerweise wird diese ID von der Clientanwendung übergeben.
Rückgabewert:
  • Bei Erfolg wird eine Meldung angezeigt, dass die Sperre freigegeben wurde.
Beispiel für Rückgabewert:
{
           "msg": "Successfully released '200' tokens from Operation Id '77b75873' to Account Id: oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a."
       }
requestBurn
Diese Methode kann von einem Brenner aufgerufen werden, um eine Anforderung an den Brennernotar zu senden, um eine bestimmte Anzahl von Token zu zerstören.
@Validator(
    yup.string(),
    yup.string(),
    yup.number().positive(),
    yup.date(),
    yup.object().nullable()
  )
  public async requestBurn(
      operation_id: string,
      notary_account_id: string,
      quantity:number,
      time_to_expiration: Date,
      info_details ?: InfoDetails,
  ) {
    const notary_account: FungibleAccount = await this.Ctx.Account.getAccountWithTokenIdValidation(notary_account_id);
    const token_asset = await this.getTokenObject(notary_account.token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.REQUEST_BURN, { operation_id, notary_account_id, quantity, time_to_expiration, info_details }, token_asset);
    return await this.Ctx.Hold.hold(operation_id, null, notary_account_id, quantity, time_to_expiration, token_asset, HoldOperationType.BURN, info_details);
  }
Parameter:
  • operation_id: string: Die eindeutige Vorgangs-ID, die für die Burn-Anforderung steht.
  • notary_account_id: string: Die eindeutige Account-ID des Notars, der die Anforderung verarbeitet.
  • quantity: number - Die Anzahl der zu brennenden Token.
  • time_to_expiration: Die Zeit, nach der die Brennen-Anforderung abläuft und nicht mehr gültig ist.
  • info_details: JSON: Ein Objekt, das die Kategorie (category) und die Beschreibung (description) der Anforderung angibt.

    Sie geben den Parameter info_details in einem anderen Format an, wenn Sie Visual Studio Code im Vergleich zur CLI oder Postman-Collection verwenden.

    Visual Studio-Code: { "category": "category value", "description": "description value" }

    CLI/Postman: "{\"category\":\"category value\",\"description\":\"description value\"}"

Beispiel für Rückgabewert:
{
           "msg": "AccountId oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98 has successfully submitted request to burn 100 tokens"
       }
approveBurn
Diese Methode kann von einem Brennernotar aufgerufen werden, um eine Brennanforderung zu genehmigen.
@Validator(yup.string(), yup.string())
  public async approveBurn(token_id: string, operation_id: string) {
    const token_asset = await this.getTokenObject(token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.APPROVE_BURN, { token_asset, operation_id }, token_asset);
    return await this.Ctx.Hold.executeHold(operation_id, token_asset, HoldOperationType.BURN);
  }
Parameter:
  • token_id: string: Die ID des zu brennenden Tokens.
  • operation_id: string: Die eindeutige Vorgangs-ID, die für die Burn-Anforderung steht.
Beispiel für Rückgabewert:
{
           "msg": "Successfully burned 200 tokens from account id: oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98"
       }
rejectBurn
Diese Methode kann von einem Brennernotar aufgerufen werden, um eine Brennanforderung abzulehnen.
@Validator(yup.string(), yup.string())
  public async rejectBurn(token_id: string, operation_id: string) {
    const token_asset = await this.getTokenObject(token_id);
    await this.Ctx.Model.createEvent(EVENT_NAME.REJECT_BURN, { token_asset, operation_id }, token_asset);
    return await this.Ctx.Hold.releaseHold(operation_id, token_asset, HoldOperationType.BURN);
  }
Parameter:
  • token_id: string: Die ID des zu brennenden Tokens.
  • operation_id: string: Die eindeutige Vorgangs-ID, die für die Burn-Anforderung steht.
Beispiel für Rückgabewert:
{
           "msg": "Successfully rejected burn request with Operation Id '8d34' to burn 100 tokens of token id USD"
       }

TypeScript Methoden für zwischenbetriebliche Transfers

Zwischenbetriebliche Transfers bestehen aus zwei Teilen: Zuerst wird der Betrag vom Absender belastet, und dann wird der Betrag dem Empfänger gutgeschrieben. Die folgenden beiden APIs werden mit der Zwei-Phasen-Commit-API des Oracle Blockchain Platform-REST-Proxys als atomare Transaktion aufgerufen. Vertrauliche Übertragungen erfolgen auf diese Weise, da die privaten Datenerfassungen der beiden Organisationen eindeutig sind und nicht in einer einzigen Transaktion aufgerufen werden können.

Beide Transaktionen werden mit der Zwei-Phasen-Commit-API des REST-Proxys gesendet. Weitere Informationen finden Sie unter Atomare Transaktion aufrufen.

Sie können eine POST-Anforderung in der Postman-Collection erstellen, wobei die URL ungefähr https://test-xyz-abc.blockchain.ocp.oraclecloud.com:7443/restproxy/api/v2/atomicTransactions lautet. Sie müssen alle wichtigen Header senden, einschließlich der folgenden.
- Content-Type: application/json
- Confidential-Transaction: true
Nehmen Sie im Anforderungstext die Methoden executeHoldTokensSender und executeHoldTokensReceiver auf, wie in der folgenden Anforderung gezeigt.
{
 "transactions": [
   {
        "chaincode": "<chaincode>",
        "args": [
            "executeHoldTokensSender"
        ],
        "timeout": 6000,
        "sync": true,
        "transientMap": {
            "args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
        },
        "endorsers" : <Sender's endorsers List>,
        "channel":"<channel name>"
   },
   {
        "chaincode": "<chaincode name>",
        "args": [
            "executeHoldTokensReceiver"
        ],
        "timeout": 6000,
        "sync": true,
        "transientMap": {
            "args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
        },
        "endorsers" : <Recipient endorsers List>,
        "channel":"<channelName>"
    }
 ],
 "isolationLevel": "readCommitted",
 "prepareTimeout": 10000,
 "copyInputsToTransientMap": true,
 "sync": true,
 "parallelPrepare": true
}
Das folgende Beispiel zeigt einen Anforderungstext.
{
 "transactions": [
   {
        "chaincode": "WholesaleCBDCConfidential",
        "args": [
            "executeHoldTokensSender"
        ],
        "timeout": 6000,
        "sync": true,
        "transientMap": {
            "args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
        },
        "endorsers" : ["org1-xyz-abc.blockchain.ocp.oraclecloud.com:20009", "org1-xyz-abc.blockchain.ocp.oraclecloud.com:20009"],
        "channel":"default"
   },
   {
        "chaincode": "WholesaleCBDCConfidential",
        "args": [
            "executeHoldTokensReceiver"
        ],
        "timeout": 6000,
        "sync": true,
        "transientMap": {
            "args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
        },
        "endorsers" : ["org2-xyz-abc.blockchain.ocp.oraclecloud.com:20009", "org2-xyz-abc.blockchain.ocp.oraclecloud.com:20009"],
        "channel":"default"
    }
 ],
 "isolationLevel": "readCommitted",
 "prepareTimeout": 10000,
 "copyInputsToTransientMap": true,
 "sync": true,
 "parallelPrepare": true
}
executeHoldTokensSender
Diese Methode kann nur vom Benutzer mit der Notarrolle für die angegebene Vorgangs-ID aufgerufen werden. Diese Methode ist der erste Teil einer Genehmigung eines Transfers zwischen Organisationen. Der angegebene Betrag wird vom Konto des Absenders abgezogen.
@ExcludeFromPostmanCollection()
  @Validator(yup.string(), yup.string(), yup.number().positive(), yup.string(), yup.string())
  public async executeHoldTokensSender(token_id: string, operation_id: string, quantity: number,  isolationLevel: string, globalIdInput:string) {
    if (!this.Ctx.Utils.isValidInterOrgTransferRequest()) {
      throw new Error("The request for the inter-org transfer is invalid.")
    }
    const globalTxId =  this.Ctx.Utils.extractGlobalTransactionId(globalIdInput);
    const token_asset = await this.getTokenObject(token_id);
    return await this.Ctx.Hold.executeHoldSender(operation_id, quantity, globalTxId, token_asset);
  }
Parameter:
  • token_id: string: Die ID des zu brennenden Tokens.
  • operation_id: string: Die eindeutige Vorgangs-ID für die zu genehmigende Sperranforderung.
  • quantity: number - Die Anzahl der gehaltenen Token für die Übertragung.
  • isolationLevel: string: Die Isolationsebene der atomaren Transaktion, entweder serializable oder readCommitted.
  • globalIdInput: string
Beispiel für Rückgabewert:
{
      "msg":
        "Account Id: oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a is successfully executed '10' tokens from Operation Id 'hold1'."
    }
executeHoldTokensReceiver
Diese Methode kann nur vom Benutzer mit der Notarrolle für die angegebene Vorgangs-ID aufgerufen werden. Diese Methode ist der zweite Teil einer Genehmigung eines Transfers zwischen Organisationen. Der angegebene Betrag wird dem Konto des Empfängers gutgeschrieben.
@ExcludeFromPostmanCollection()
  @Validator(yup.string(), yup.string(), yup.number().positive(), yup.string(), yup.string())
  public async executeHoldTokensReceiver(token_id: string, operation_id: string, quantity: number,  isolationLevel: string, globalIdInput:string) {
    if (!this.Ctx.Utils.isValidInterOrgTransferRequest()) {
      throw new Error("The request for the inter-org transfer is invalid.")
    }
    const globalTxId =  this.Ctx.Utils.extractGlobalTransactionId(globalIdInput);
    const token_asset = await this.getTokenObject(token_id);
    return await this.Ctx.Hold.executeHoldReceiver(operation_id, quantity, globalTxId, token_asset);
  }
Parameter:
  • token_id: string: Die ID des zu brennenden Tokens.
  • operation_id: string: Die eindeutige Vorgangs-ID für die zu genehmigende Sperranforderung.
  • quantity: number - Die Anzahl der gehaltenen Token für die Übertragung.
  • isolationLevel: string: Die Isolationsebene der atomaren Transaktion, entweder serializable oder readCommitted.
  • globalIdInput: string
Beispiel für Rückgabewert:
{
      "msg":
        "Account Id: oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a is successfully executed '10' tokens from Operation Id 'hold1, receiverId oreceiver~72d9bfcf-2c68-4c33-b8c3-fe3374983bf2'."
    }

Geänderte TypeScript-SDK-Methoden für Confidential Chaincode

Wenn Sie den Parameter confidential: true in die Spezifikationsdatei für Token aufnehmen, die den erweiterten Token Taxonomy Framework-Standard verwenden, generiert Blockchain App Builder geänderte Versionen der Standard-SDK-Methoden sowie zusätzliche Methoden.

isUserTokenAdmin
Diese Methode gibt den booleschen Wert true zurück, wenn der Aufrufer der Funktion ein Token Admin ist. Andernfalls gibt die Methode false zurück.
Ctx.Auth.isUserTokenAdmin(org_id: string, user_id: string);
Parameter:
  • org_id: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Netzwerkorganisation.
  • user_id: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
{
    "result": true
}
addTokenAdmin
Diese Methode fügt einen Benutzer als Token Admin des Token-Chaincodes hinzu. Da der Wert user_id im öffentlichen Buch gespeichert ist, verwenden Sie keine personenbezogenen Informationen (PII) für den Wert user_id.
Ctx.Admin.addTokenAdmin(org_id: string, user_id: string);
Parameter:
  • user_id: Der Benutzername oder die E-Mail-ID des Benutzers.
  • org_id: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Netzwerkorganisation.
Beispiel für Rückgabewert:
{
  "msg": "Successfully added Token Admin (Org_Id: CentralBank, User_Id: cb1)"
}
removeTokenAdmin
Mit dieser Methode wird ein Benutzer als Token Admin des Token-Chaincodes entfernt.
Ctx.Admin.removeTokenAdmin(org_id: string, user_id: string);
Parameter:
  • user_id: Der Benutzername oder die E-Mail-ID des Benutzers.
  • org_id: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Netzwerkorganisation.
Beispiel für Rückgabewert:
{"msg": "Successfully removed Admin (Org_Id: Org1MSP, User_Id: User1)"}
getAllTokenAdmins
Diese Methode gibt eine Liste aller Benutzer zurück, die ein Token Admin des Chaincodes sind.
Ctx.Admin.getAllTokenAdmins();
Parameter:
  • Kein
Beispiel für Rückgabewert:
{"admins":[{"org_id":"Org1MSP","user_id":"admin"}]}
addOrgAdmin
Diese Methode fügt einen Benutzer als Org Admin der Organisation hinzu. Da der Wert user_id im öffentlichen Buch gespeichert ist, verwenden Sie keine personenbezogenen Informationen (PII) für den Wert user_id.
 Ctx.Admin.addOrgAdmin(org_id: string, user_id: string);
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
{
    "msg": "Successfully added Org Admin (Org_Id: Org1MSP, User_Id: orgAdmin)"
}
removeOrgAdmin
Mit dieser Methode wird ein Benutzer als Org Admin der Organisation entfernt.
Ctx.Admin.removeOrgAdmin(org_id: string, user_id: string);
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
{
  "msg": "Successfully removed Org Admin (Org_Id Org1MSP User_Id orgAdmin)"
}
getAllOrgAdmins
Diese Methode gibt eine Liste aller Benutzer zurück, die eine Org Admin einer Organisation sind.
Ctx.Admin.getAllOrgAdmins();
Parameter:
  • Kein
Beispiel für Rückgabewert:
{
    "admins": [
        {
            "org_id": "Org1MSP",
            "user_id": "orgadmin"
        },
        {
            "org_id": "Org1MSP",
            "user_id": "orgadmin1"
        },
        {
            "org_id": "Org1MSP",
            "user_id": "orgadmin2"
        }
    ]
}
addTokenAuditor
Diese Methode fügt einen Benutzer als Token Auditor des Chaincodes hinzu. Da der Wert user_id im öffentlichen Buch gespeichert ist, verwenden Sie keine personenbezogenen Informationen (PII) für den Wert user_id.
Ctx.Admin.addTokenAuditor(org_id: string, user_id: string);
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg eine Nachricht, die Details des Benutzers enthält, der als Token Auditor des Chaincodes hinzugefügt wurde.
Beispiel für Rückgabewert:
{
  "msg": "Successfully added Token Auditor (Org_Id: CentralBank, User_Id: cb_admin_demo)"
}
removeTokenAuditor
Mit dieser Methode wird ein Benutzer als Token Auditor des Chaincodes entfernt.
Ctx.Admin.removeTokenAuditor(org_id: string, user_id: string);
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
{
           "msg": "Successfully removed Token Auditor (Org_Id: CB, User_Id: cb)"
       }
getAllTokenAuditors
Diese Methode gibt alle Token Auditors des Chaincodes zurück.
this.Ctx.Admin.getAllTokenAuditors();
addOrgAuditor
Diese Methode fügt einen Benutzer als Org Auditor des Chaincodes hinzu.
Ctx.Admin.addOrgAuditor(org_id: string, user_id: string);
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
{
           "msg": "Successfully added Org Auditor (Org_Id: CentralBank, User_Id: cb_admin_demo)"
       }
removeOrgAuditor
Mit dieser Methode wird ein Benutzer als Org Auditor des Chaincodes entfernt.
this.Ctx.Admin.removeOrgAuditor(org_id: string, user_id: string);
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
{
           "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)"
       }
getAllOrgAuditors
Diese Methode gibt alle Org Auditors des Chaincodes zurück.
this.Ctx.Admin.getAllOrgAuditors()
getAllTokens
Diese Methode gibt alle Tokenassets zurück, die in der Statusdatenbank gespeichert sind. Diese Methode verwendet SQL-reiche Berkeley DB-Abfragen und kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Oracle Blockchain Platform-Netzwerk besteht.
this.Ctx.Token.getAllTokens();
Parameter:
  • Kein
Rückgabewert:
  • Bei Erfolg wird ein Versprechen mit allen Token-Assets zurückgegeben. Bei Fehler wird eine Fehlermeldung zurückgegeben.
getDecimals
Diese Methode gibt die Anzahl der Dezimalstellen zurück, die für ein Bruchteil-Token verfügbar sind. Wenn das Verhalten divisible nicht angegeben ist, ist der Standardwert 0.
this.Ctx.Token.getDecimals(token_asset)
Parameter:
  • token_id: string: Die ID des Tokens.
Beispiel für Rückgabewert:
1
history
Diese Methode gibt die Historie für das angegebene Token zurück.
Ctx.Token.history(tokenId: string);
Parameter:
  • token_id: string: Die ID des Tokens.
Beispiel für Rückgabewert:
[
    {
        "trxId": "0d75f09446a60088afb948c6aca046e261fddcd43df416076201cdc5565f1a35",
        "timeStamp": "2023-09-01T16:48:41.000Z",
        "value": {
            "assetType": "otoken",
            "token_id": "token",
            "token_name": "fiatmoneytok",
            "token_desc": "updatedDesc",
            "token_standard": "ttf+",
            "token_type": "fungible",
            "token_unit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter"
            },
            "mintable": {
                "max_mint_quantity": 1000
            },
            "divisible": {
                "decimal": 2
            }
        }
    },
    {
        "trxId": "3666344878b043b65d5b821cc79c042ba52aec467618800df5cf14eac69f72fa",
        "timeStamp": "2023-08-31T20:24:55.000Z",
        "value": {
            "assetType": "otoken",
            "token_id": "token",
            "token_name": "fiatmoneytok",
            "token_standard": "ttf+",
            "token_type": "fungible",
            "token_unit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter"
            },
            "mintable": {
                "max_mint_quantity": 1000
            },
            "divisible": {
                "decimal": 2
            }
        }
    }
]
getTokensByName
Diese Methode gibt alle Tokenassets mit dem angegebenen Namen zurück. Diese Methode verwendet SQL-reiche Berkeley DB-Abfragen und kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Oracle Blockchain Platform-Netzwerk besteht.
Ctx.Token.getTokensByName(token_name: string);
Parameter:
  • token_name: string: Der Name des Tokens, der der Eigenschaft Token_name des Modells entspricht. Der Wert ist der Klassenname des Tokens.
Beispiel für Rückgabewert:
[
 {
    "assetType": "otoken",
    "token_id": "digiCurr101",
    "token_name": "digicur",
    "token_desc": "Digital Currency equiv of dollar",
    "token_type": "fungible",
    "behaviors": [
        "divisible",
        "mintable",
        "transferable",
        "burnable",
        "roles"
    ],
    "roles": {
        "minter_role_name": "minter"
        "burner_role_name": "burner",
        "notary_role_name": "notary"
    },
    "mintable": {
        "max_mint_quantity": 2000
    },
    "divisible": {
        "decimal": 1
    },
    "currency_name": "DOLLAR",
    "token_to_currency_ratio": 1
 }
]
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, 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.
  • 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"
}
associateToken
Diese Methode verknüpft ein fungibles Token mit einem Konto.
Ctx.Account.associateToken(account_id: string, token_id: string, custom_account_id?: string);
Parameter:
  • account_id: string: Die ID des Kontos.
  • token_id: string: Die ID des Tokens.
  • custom_account_id: string: Im vertraulichen Modus die Bankkontokennung des Kontos, eine eindeutige zufällige alphanumerische ID. Standardmäßig 14 Zeichen lang.
Beispiel für Rückgabewert:
{
    "bapAccountVersion": 0,
    "assetType": "oaccount",
    "account_id": "oaccount~b53cb2c19c92d1d5c8cb9f6e988e7761c34e03e014e6c4b889565fc0abf46c8a",
    "org_id": "CentralBank",
    "token_type": "fungible",
    "token_id": "USD",
    "token_name": "cbdc",
    "balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "onhold_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "onhold_burn_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6",
    "application_groups": [
        "CENTRAL_BANK_USERS"
    ]
}
getAllAccounts
Diese Methode gibt eine Liste aller Konten zurück. Diese Methode verwendet SQL-reiche Berkeley DB-Abfragen und kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Oracle Blockchain Platform-Netzwerk besteht.
this.Ctx.Account.getAllAccounts();
Parameter:
  • Kein
Beispiel für Rückgabewert:
[
    {
        "key": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
        "valueJson": {
            "bapAccountVersion": 3,
            "assetType": "oaccount",
            "account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
            "org_id": "CentralBank",
            "token_type": "fungible",
            "token_id": "token",
            "token_name": "cbdc",
            "balance": "028a27c752e9b518d156e61da6589e723b179b6d7351dc34ec92bbb27b783ed1dc",
            "onhold_balance": "02d53a7eda9484bda7252212714f647b70d32663cfa416f93f488ef6b6bc8fb2eb",
            "onhold_burn_balance": "02d53a7eda9484bda7252212714f647b70d32663cfa416f93f488ef6b6bc8fb2eb",
            "application_groups": [
                "application_groups value"
            ]
        }
    },
    {
        "key": "oaccount~1da238c1491c919b151f777a615fb5779032c34b3ef3adeca6afe591bac10aaf",
        "valueJson": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~1da238c1491c919b151f777a615fb5779032c34b3ef3adeca6afe591bac10aaf",
            "org_id": "CentralBank",
            "token_type": "fungible",
            "token_id": "token",
            "token_name": "cbdc",
            "balance": "020da01cd57249c6470b6dd03c2ee4c49de58c71ccc64f2de1203e835967a0846d",
            "onhold_balance": "020da01cd57249c6470b6dd03c2ee4c49de58c71ccc64f2de1203e835967a0846d",
            "onhold_burn_balance": "020da01cd57249c6470b6dd03c2ee4c49de58c71ccc64f2de1203e835967a0846d",
            "application_groups": [
                "application_groups value"
            ]
        }
    }
]
getAllOrgAccounts
Diese Methode gibt eine Liste aller Token-Accounts zurück, die zu einer bestimmten Organisation gehören.
Ctx.Account.getAllOrgAccounts(org_id: string);
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
Beispiel für Rückgabewert:
[
    {
        "key": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
        "valueJson": {
            "bapAccountVersion": 2,
            "assetType": "oaccount",
            "account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
            "org_id": "CentralBank",
            "token_type": "fungible",
            "token_id": "token",
            "token_name": "cbdc",
            "balance": "18",
            "onhold_balance": "0",
            "onhold_burn_balance": "0",
            "application_groups": [
                "application_groups value"
            ],
            "user_id": "cb",
            "custom_account_id": "1234567jh"
        }
    },
    {
        "key": "oaccount~5e3b5a3306d7ca3f3e3fe7cc27b6ae547e94dba1c5af58a69a771d7a619b6a66",
        "valueJson": {
            "bapAccountVersion": 1,
            "assetType": "oaccount",
            "account_id": "oaccount~5e3b5a3306d7ca3f3e3fe7cc27b6ae547e94dba1c5af58a69a771d7a619b6a66",
            "org_id": "CentralBank",
            "token_type": "fungible",
            "token_id": "token",
            "token_name": "cbdc",
            "balance": "22",
            "onhold_balance": "0",
            "onhold_burn_balance": "0",
            "application_groups": [
                "application_groups value"
            ],
            "user_id": "cb1",
            "custom_account_id": "1234567jh"
        }
    }
]
getAccountsByUser
Diese Methode gibt eine Liste aller Konto-IDs für einen angegebenen Benutzer und eine angegebene Organisation zurück.
Ctx.Account.getAccountsByUser(org_id: string, user_id: string);
Parameter:
  • org_id string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
  • user_id string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
[
    {
        "bapAccountVersion": 2,
        "assetType": "oaccount",
        "user_id": "cb",
        "custom_account_id": "1234567jh",
        "account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
        "org_id": "CentralBank",
        "token_type": "fungible",
        "token_id": "token",
        "token_name": "cbdc",
        "balance": "18",
        "onhold_balance": "0",
        "onhold_burn_balance": "0",
        "application_groups": [
            "application_groups value"
        ]
    }
]
getUserByAccountId
Diese Methode gibt die Benutzerdetails für einen angegebenen Account zurück.
this.Ctx.Account.getUserByAccountId(account_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
    "token_id": "USD",
    "org_id": "CentralBank",
    "user_id": "cb_admin_demo",
    "custom_account_id": "10101234000123"
}
getAccountWithStatus
Diese Methode gibt Accountdetails für einen angegebenen Benutzer und ein bestimmtes Token zurück.
Ctx.Account.getAccountWithStatus(account_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
    "bapAccountVersion": 2,
    "assetType": "oaccount",
    "user_id": "cb",
    "custom_account_id": "1234567jh",
    "status": "active",
    "account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
    "org_id": "CentralBank",
    "token_type": "fungible",
    "token_id": "token",
    "token_name": "cbdc",
    "balance": "18",
    "onhold_balance": "0",
    "onhold_burn_balance": "0",
    "application_groups": [
        "application_groups value"
    ]
}
getAccountDetailsByCustomAccountId
Diese Methode gibt alle Tokenaccountdetails für eine angegebene Organisation und Konto-ID zurück.
Ctx.Account.getAccountDetailsByCustomAccountId(custom_account_id: string, org_id: string)
Parameter:
  • custom_account_id: string: Die Bankkontokennung des Kontos, eine eindeutige zufällige alphanumerische ID.
  • org_id string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
Beispiel für Rückgabewert:
[
    {
        "bapAccountVersion": 0,
        "assetType": "oaccount",
        "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61",
        "org_id": "CentralBank",
        "token_type": "fungible",
        "token_id": "USD",
        "token_name": "cbdc",
        "balance": "0",
        "onhold_balance": "0",
        "onhold_burn_balance": "0",
        "application_groups": [
            "SYSTEM_ADMINS"
        ],
        "user_id": "cb_admin_demo",
        "custom_account_id": "10101234000123"
    }
]
getAccountTransactionHistory
Diese Methode gibt ein Array der Transaktionshistoriendetails für ein angegebenes Konto zurück.
Ctx.Account.getAccountTransactionHistory(account_id: string)
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
[
    {
        "transaction_id": "otransaction~4514aa229ebcc4d2fedcaa47c4301615e30c4a9bae45cf0256a5b80d75b3697a",
        "transacted_amount": 1000,
        "timestamp": "2025-08-25T13:20:50.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "APPROVE_MINT",
        "balance": 21000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~1982f73495060e0eef4d78282a91c41e27e8c95572739b0677a1e404a0d20aa9",
        "transacted_amount": 200,
        "timestamp": "2025-08-25T13:12:43.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 20000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~fedd714cf1509f7517819d7cd4c0921d0b2f5d1ff6a25dcb08ab411defd6b5f3",
        "transacted_amount": 2000,
        "timestamp": "2025-08-21T05:23:25.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 20000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~f33b47234f3ee0b636962c8c31c01d06523b789ca16b3b342d5080b71268bcc3",
        "transacted_amount": 1000,
        "timestamp": "2025-08-21T05:23:07.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 20000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~cf934527149bc24f62a8ddeeea7f74a19a0f84d8f161535a771be49d2520d5b3",
        "transacted_amount": 10000,
        "timestamp": "2025-08-13T06:12:41.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "APPROVE_MINT",
        "balance": 20000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~f5c0e11ca61d9adc843658929e6de2a738ad586304f9e020f75bf4aac5e42a2c",
        "transacted_amount": 10000,
        "timestamp": "2025-08-13T06:12:04.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 10000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~862aa9d9e877d3ea209b87299ab5b12c13ed5ce43d1cf1b934043c1dd02f58f6",
        "transacted_amount": 50000,
        "timestamp": "2025-08-12T21:04:22.000Z",
        "token_id": "USD",
        "category": "transfer",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transaction_type": "DEBIT",
        "balance": 10000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~8a74c6d87ca74a613aab9db5d40386f8d5b534f9800503af8ca27e8946d7616d",
        "transacted_amount": 40000,
        "timestamp": "2025-08-12T21:01:27.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REJECT_MINT",
        "balance": 60000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~28ac66ba33f7ad0648448964b2b74525c9e3f0c9908c7a0484690b9baa56c2db",
        "transacted_amount": 30000,
        "timestamp": "2025-08-12T21:01:16.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "APPROVE_MINT",
        "balance": 60000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~7e32ad8f365ff59814e112f27602f30ab599fb9c1638784496c66a61a6277c22",
        "transacted_amount": 20000,
        "timestamp": "2025-08-12T21:01:05.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "APPROVE_MINT",
        "balance": 30000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~1477050bb9e55f4f471872b31fce0d2097f5d5e57d89a842070df5e36d7ab0da",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T21:01:03.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "APPROVE_MINT",
        "balance": 10000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~0e76c6931b7ee134e967e847d9730b867a0fd191d39697d83d36dd15745c02e3",
        "transacted_amount": 40000,
        "timestamp": "2025-08-12T21:00:20.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 0,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~07bbf9c190694371626da59ded5d87434d26f612891e13bb15bdd28f6086e760",
        "transacted_amount": 30000,
        "timestamp": "2025-08-12T21:00:01.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 0,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~8721175c6cbbce17b6c4bb6a444e475d07f52352dfd0d990679f342215153513",
        "transacted_amount": 20000,
        "timestamp": "2025-08-12T20:59:41.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 0,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~dc24c24d43a6525e807a39edcf8c6a2b6ccb81f0d755958f509509687eacee84",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T20:59:13.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "REQUEST_MINT",
        "balance": 0,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~396e6ca5a11a9609632d0864026409d46a708fb95e3e21b39fa5f3fb78f90872",
        "transacted_amount": 0,
        "timestamp": "2025-08-12T20:43:20.000Z",
        "token_id": "",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transaction_type": "CREATE_ACCOUNT",
        "balance": 0,
        "onhold_balance": 0
    }
]
getAccountTransactionHistoryWithFilters
Diese Methode gibt ein Array der Transaktionshistoriendetails für ein angegebenes Konto zurück. Diese Methode kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Oracle Blockchain Platform-Netzwerk besteht.
Ctx.Account.getAccountTransactionHistoryWithFilters(account_id: string, org_id: string, filters);
Parameter:
  • account_id: string: Die ID des Kontos.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
  • filters: string: Ein optionaler Parameter. Wenn leer, werden alle Datensätze zurückgegeben. Die Eigenschaft PageSize bestimmt die Anzahl der zurückzugebenden Datensätze. Wenn PageSize 0 ist, ist die Standardseitengröße 20. Die Eigenschaft Bookmark bestimmt den Startindex der zurückzugebenden Datensätze. Weitere Informationen finden Sie in der Dokumentation zu Hyperledger Fabric. Die Eigenschaften StartTime und EndTime müssen im RFC-3339-Format angegeben werden.
Beispiel für Rückgabewert:
[
           {
               "transaction_id": "otransaction~ccc2c2e89ab7887af4fdad3dc9918ea057a8aa834a0ed8d0f23271049f084952",
               "transacted_amount": 10,
               "timestamp": "2025-08-20T23:22:53.000Z",
               "token_id": "token",
               "category": "category value",
               "description": "description value",
               "holding_id": "ohold~cbdc~token~hold1",
               "to_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "to_org_id": "Org1",
               "to_user_id": "cb",
               "to_custom_account_id": "1234567jh",
               "from_account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "from_org_id": "CentralBank",
               "from_user_id": "Not Available",
               "from_custom_account_id": "Not Available",
               "transacted_account": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "transaction_type": "CREDIT",
               "balance": 18,
               "onhold_balance": 0,
               "transacted_org_id": "CentralBank",
               "transacted_user_id": "Not Available",
               "transacted_custom_account_id": "Not Available"
           },
           {
               "transaction_id": "otransaction~6523597253e45b3c976aecdc54e2c6316d0a4f88ad5d7f3fff48c69213e4375a",
               "transacted_amount": 22,
               "timestamp": "2025-08-20T23:21:45.000Z",
               "token_id": "token",
               "category": "category value",
               "description": "description value",
               "to_account_id": "oaccount~5e3b5a3306d7ca3f3e3fe7cc27b6ae547e94dba1c5af58a69a771d7a619b6a66",
               "to_org_id": "Org1",
               "to_user_id": "cb1",
               "to_custom_account_id": "1234567jh",
               "from_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "from_org_id": "Org1",
               "from_user_id": "cb",
               "from_custom_account_id": "1234567jh",
               "transacted_account": "oaccount~5e3b5a3306d7ca3f3e3fe7cc27b6ae547e94dba1c5af58a69a771d7a619b6a66",
               "transaction_type": "DEBIT",
               "balance": 8,
               "onhold_balance": 0,
               "transacted_org_id": "Org1",
               "transacted_user_id": "cb1",
               "transacted_custom_account_id": "1234567jh"
           },
           {
               "transaction_id": "otransaction~3212811cd7c0ff265434f5921b93621cc5b0e0450b07c52b42ad9d8ce73cf063",
               "transacted_amount": 10,
               "timestamp": "2025-08-20T23:18:53.000Z",
               "token_id": "token",
               "category": "category value",
               "description": "description value",
               "holding_id": "ohold~cbdc~token~hold1",
               "to_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "to_org_id": "Org1",
               "to_user_id": "cb",
               "to_custom_account_id": "1234567jh",
               "from_account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "from_org_id": "CentralBank",
               "from_user_id": "Not Available",
               "from_custom_account_id": "Not Available",
               "transacted_account": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "transaction_type": "CREDIT",
               "balance": 30,
               "onhold_balance": 0,
               "transacted_org_id": "CentralBank",
               "transacted_user_id": "Not Available",
               "transacted_custom_account_id": "Not Available"
           },
           {
               "transaction_id": "otransaction~af2a1b0d56778e4ff5f4dda4e81bbcbf02c0592416ee2f105ff0b764e515fd0a",
               "transacted_amount": 10,
               "timestamp": "2025-08-20T23:17:29.000Z",
               "token_id": "token",
               "category": "category value",
               "description": "description value",
               "holding_id": "ohold~cbdc~token~hold1",
               "to_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "to_org_id": "Org1",
               "to_user_id": "cb",
               "to_custom_account_id": "1234567jh",
               "from_account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "from_org_id": "CentralBank",
               "from_user_id": "Not Available",
               "from_custom_account_id": "Not Available",
               "transacted_account": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "transaction_type": "CREDIT",
               "balance": 20,
               "onhold_balance": 0,
               "transacted_org_id": "CentralBank",
               "transacted_user_id": "Not Available",
               "transacted_custom_account_id": "Not Available"
           },
           {
               "transaction_id": "otransaction~6c0452a58f13db93f1c308d60eab1fde6c911921b350c0bbbe0ce7dab394721d",
               "transacted_amount": 10,
               "timestamp": "2025-08-20T23:04:53.000Z",
               "token_id": "token",
               "category": "category value",
               "description": "description value",
               "holding_id": "ohold~cbdc~token~hold1",
               "to_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "to_org_id": "Org1",
               "to_user_id": "cb",
               "to_custom_account_id": "1234567jh",
               "from_account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "from_org_id": "CentralBank",
               "from_user_id": "Not Available",
               "from_custom_account_id": "Not Available",
               "transacted_account": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
               "transaction_type": "CREDIT",
               "balance": 10,
               "onhold_balance": 0,
               "transacted_org_id": "CentralBank",
               "transacted_user_id": "Not Available",
               "transacted_custom_account_id": "Not Available"
           },
           {
               "transaction_id": "otransaction~df98e24a3b90661b54b54289b600b13a1051c922db0a4d20e3705a9820ae9c20",
               "transacted_amount": 0,
               "timestamp": "2025-08-20T22:55:09.000Z",
               "category": "",
               "description": "",
               "from_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "from_org_id": "Org1",
               "from_user_id": "cb",
               "from_custom_account_id": "1234567jh",
               "transacted_account": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
               "transaction_type": "CREATE_ACCOUNT",
               "balance": 0,
               "onhold_balance": 0,
               "transacted_org_id": "Org1",
               "transacted_user_id": "cb",
               "transacted_custom_account_id": "1234567jh"
           }
       ]
getAccountTrxHistoryWithFiltersFromRichHistDB
Diese Methode gibt ein Array der Transaktionshistoriendetails aus der Rich-History-Datenbank zurück.
Ctx.Account.getAccountTrxHistoryWithFiltersFromRichHistDB(account_id: string, org_id: string, custom_endpoint: string, bearer_token: string, filters);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
  • custom_endpoint: Der Serviceendpunkt RESTful der Rich-History-Datenbank.
  • bearer_token: Das Zugriffsautorisierungstoken für den RESTful-Serviceendpunkt.
  • filters: string: Ein optionaler Parameter. Wenn leer, werden alle Datensätze zurückgegeben. Die Eigenschaft PageSize bestimmt die Anzahl der zurückzugebenden Datensätze. Wenn PageSize 0 ist, ist die Standardseitengröße 20. Die Eigenschaft Bookmark bestimmt den Startindex der zurückzugebenden Datensätze. Weitere Informationen finden Sie in der Dokumentation zu Hyperledger Fabric. Die Eigenschaften StartTime und EndTime müssen im RFC-3339-Format angegeben werden.
Beispiel für Rückgabewert:
[
    {
        "transaction_id": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c",
        "transacted_amount": 200,
        "timestamp": "2025-08-25T13:16:55.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "EXECUTEHOLD",
        "category": "transfer",
        "balance": 26800,
        "onhold_balance": 300
    },
    {
        "transaction_id": "otransaction~2b75b3e8531a651f07c2d048d8546ad70ac49c66f0b82ed7626c1739090842ce",
        "transacted_amount": 100,
        "timestamp": "2025-08-25T13:16:06.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~e26f11da",
        "category": "transfer",
        "balance": 26800,
        "onhold_balance": 500
    },
    {
        "transaction_id": "otransaction~9e7bf14cf96c5f90170da9455b1318687785e936192f60b7cbeb1c8bfabc41d2",
        "transacted_amount": 100,
        "timestamp": "2025-08-21T06:57:19.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_retirer_demo",
        "transacted_custom_account_id": "10109999006543",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_retirer_demo",
        "from_custom_account_id": "10109999006543",
        "transaction_type": "CREDIT",
        "category": "transfer",
        "balance": 26900,
        "onhold_balance": 400
    },
    {
        "transaction_id": "otransaction~b3901b4754920a9c75e36069dc55024ad505e4c127f334eedf65ef6703dc6b86",
        "transacted_amount": 200,
        "timestamp": "2025-08-21T05:39:25.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "to_org_id": "org2",
        "to_user_id": "fi2_org_officer_demo",
        "to_custom_account_id": "30300617202404",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~77b75873",
        "category": "issuance",
        "balance": 26800,
        "onhold_balance": 400
    },
    {
        "transaction_id": "otransaction~d55c9dfc9feacb353544b5d8b2ae694162ade3890bcaaf715503fd1d6a73cd1a",
        "transacted_amount": 200,
        "timestamp": "2025-08-21T05:39:01.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~81d7c4ac",
        "category": "transfer",
        "balance": 27000,
        "onhold_balance": 200
    },
    {
        "transaction_id": "otransaction~751eaedbe4311edd5d17cae53d283caf397d0cb09f18d57a5e3fe61266875ff9",
        "transacted_amount": 200,
        "timestamp": "2025-08-13T09:59:22.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "transacted_org_id": "org2",
        "transacted_user_id": "fi2_org_officer_demo",
        "transacted_custom_account_id": "30300617202404",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "from_org_id": "org2",
        "from_user_id": "fi2_org_officer_demo",
        "from_custom_account_id": "30300617202404",
        "transaction_type": "CREDIT",
        "category": "transfer",
        "balance": 27200,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~70155a8f4e388cc9395dbd03bedaf5a878705f5ad02302c8e9163218a5c3875a",
        "transacted_amount": 1000,
        "timestamp": "2025-08-13T06:22:56.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_officer_demo",
        "from_custom_account_id": "20200222221111",
        "transaction_type": "CREDIT",
        "category": "transfer",
        "balance": 27000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~e595f3f0cc03fa5f58a546b8abbfaf155592e492f850581db2b8fed9a529c9e2",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T21:09:25.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "transacted_org_id": "org2",
        "transacted_user_id": "fi2_org_officer_demo",
        "transacted_custom_account_id": "30300617202404",
        "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "to_org_id": "org2",
        "to_user_id": "fi2_org_officer_demo",
        "to_custom_account_id": "30300617202404",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "EXECUTEHOLD",
        "category": "issuance",
        "balance": 26000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~da92402859d87ae3069722d8e39cb0da448e9a5f67468233ee9b1fe7a4ebeef8",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T21:09:17.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "EXECUTEHOLD",
        "category": "issuance",
        "balance": 26000,
        "onhold_balance": 10000
    },
    {
        "transaction_id": "otransaction~6915145aaf09fbf4d96456febddc2aa87b48c08ddd8ff17a6bab5d310f67bb36",
        "transacted_amount": 1000,
        "timestamp": "2025-08-12T21:07:11.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_retirer_demo",
        "transacted_custom_account_id": "10109999006543",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_retirer_demo",
        "from_custom_account_id": "10109999006543",
        "transaction_type": "CREDIT",
        "category": "transfer",
        "balance": 26000,
        "onhold_balance": 20000
    },
    {
        "transaction_id": "otransaction~244d7172d1dc90a142e1f22204c76614c7eea814b3d61f33016b786f1b347784",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T21:05:39.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "to_org_id": "org2",
        "to_user_id": "fi2_org_officer_demo",
        "to_custom_account_id": "30300617202404",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~ed815e20",
        "category": "issuance",
        "balance": 25000,
        "onhold_balance": 20000
    },
    {
        "transaction_id": "otransaction~c63ec37966264493bde6fa666527b9cca11695c15611c32e89af49a2246f13f6",
        "transacted_amount": 10000,
        "timestamp": "2025-08-12T21:05:20.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~12d87129",
        "category": "issuance",
        "balance": 35000,
        "onhold_balance": 10000
    },
    {
        "transaction_id": "otransaction~5112f576c94c2d23c342479bfa37e34612414b3258a64b43cf51b920f4ff5868",
        "transacted_amount": 5000,
        "timestamp": "2025-08-12T21:05:02.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_retirer_demo",
        "transacted_custom_account_id": "10109999006543",
        "to_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_retirer_demo",
        "to_custom_account_id": "10109999006543",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "DEBIT",
        "category": "burn",
        "balance": 45000,
        "onhold_balance": 0
    },
    {
        "transaction_id": "otransaction~862aa9d9e877d3ea209b87299ab5b12c13ed5ce43d1cf1b934043c1dd02f58f6",
        "transacted_amount": 50000,
        "timestamp": "2025-08-12T21:04:22.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb__creator_demo",
        "transacted_custom_account_id": "10105678004567",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "from_org_id": "CentralBank",
        "from_user_id": "cb__creator_demo",
        "from_custom_account_id": "10105678004567",
        "transaction_type": "CREDIT",
        "category": "transfer",
        "balance": 50000,
        "onhold_balance": 0
    }
]
getOrgAccountsTrxHistoryWithFiltersFromRichHistDB
Diese Methode gibt ein Array der Transaktionshistoriendetails für eine angegebene Organisation aus der Rich-History-Datenbank zurück.
Ctx.Account.getOrgAccountsTrxHistoryWithFiltersFromRichHistDB(org_id: string, custom_endpoint: string, bearer_token: string, filters);
Parameter:
  • org_id string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
  • custom_endpoint: Der Serviceendpunkt RESTful der Rich-History-Datenbank.
  • bearer_token: Das Zugriffsautorisierungstoken für den RESTful-Serviceendpunkt.
  • filters: string: Ein optionaler Parameter. Wenn leer, werden alle Datensätze zurückgegeben. Die Eigenschaft PageSize bestimmt die Anzahl der zurückzugebenden Datensätze. Wenn PageSize 0 ist, ist die Standardseitengröße 20. Die Eigenschaft Bookmark bestimmt den Startindex der zurückzugebenden Datensätze. Weitere Informationen finden Sie in der Dokumentation zu Hyperledger Fabric. Die Eigenschaften StartTime und EndTime müssen im RFC-3339-Format angegeben werden.
Beispiel für Rückgabewert:
[
    {
        "transaction_id": "otransaction~4793f3907eefce2f9fca7ef107405b0f116efb3afbf83fa0e61fe763690c8235",
        "transacted_amount": 100,
        "timestamp": "2025-08-25T13:47:56.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "from_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_officer_demo",
        "from_custom_account_id": "20200222221111",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~2ac01689",
        "category": "issuance"
    },
    {
        "transaction_id": "otransaction~5177f7560d32838242a26ac74f2a90c6ff9b47aae0d0988f28d9b4cf7e27c097",
        "transacted_amount": 10,
        "timestamp": "2025-08-25T13:22:23.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_user1_demo",
        "transacted_custom_account_id": "20200198765432",
        "to_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_user2_demo",
        "to_custom_account_id": "20200211112222",
        "from_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_user1_demo",
        "from_custom_account_id": "20200198765432",
        "transaction_type": "CREDIT",
        "holding_id": "ohold~cbdc~USD~454f4bf6",
        "category": "transfer"
    },
    {
        "transaction_id": "otransaction~5177f7560d32838242a26ac74f2a90c6ff9b47aae0d0988f28d9b4cf7e27c097",
        "transacted_amount": 10,
        "timestamp": "2025-08-25T13:22:23.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_user2_demo",
        "transacted_custom_account_id": "20200211112222",
        "to_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_user2_demo",
        "to_custom_account_id": "20200211112222",
        "from_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_user1_demo",
        "from_custom_account_id": "20200198765432",
        "transaction_type": "EXECUTEHOLD",
        "holding_id": "ohold~cbdc~USD~454f4bf6",
        "category": "transfer"
    },
    {
        "transaction_id": "otransaction~32137cd7e16c560f4d96d0f8999f6a267c1e95be2f5b11ef0541e574a6cd7275",
        "transacted_amount": 200,
        "timestamp": "2025-08-25T13:16:55.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_officer_demo",
        "to_custom_account_id": "20200222221111",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "transaction_type": "CREDIT",
        "category": "transfer"
    },
    {
        "transaction_id": "otransaction~67844e07c06ab4c3d94d8ff36173b9dbcc2f1b9c99f4e7070f1097fd89f3f514",
        "transacted_amount": 10,
        "timestamp": "2025-08-21T08:49:40.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_user1_demo",
        "transacted_custom_account_id": "20200198765432",
        "to_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_user2_demo",
        "to_custom_account_id": "20200211112222",
        "from_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_user1_demo",
        "from_custom_account_id": "20200198765432",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~b6e4925b",
        "category": "transfer"
    },
    {
        "transaction_id": "otransaction~b7c97d737fb978651c9132276ab677c0bcf795b9db13d0d39cba5243615c7389",
        "transacted_amount": 10,
        "timestamp": "2025-08-21T08:46:09.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_user1_demo",
        "to_custom_account_id": "20200198765432",
        "from_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_officer_demo",
        "from_custom_account_id": "20200222221111",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~4fbbb846",
        "category": "transfer"
    }
]
getAllAccountsTrxHistoryWithFiltersFromRichHistDB
Diese Methode gibt ein Array der Transaktionshistoriendetails für alle Organisationen aus der Rich-History-Datenbank zurück.
Ctx.Account.getAllAccountsTrxHistoryWithFiltersFromRichHistDB(custom_endpoint: string, bearer_token: string, filters);
Parameter:
  • org_id string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
  • custom_endpoint: Der Serviceendpunkt RESTful der Rich-History-Datenbank.
  • bearer_token: Das Zugriffsautorisierungstoken für den RESTful-Serviceendpunkt.
  • filters: string: Ein optionaler Parameter. Wenn leer, werden alle Datensätze zurückgegeben. Die Eigenschaft PageSize bestimmt die Anzahl der zurückzugebenden Datensätze. Wenn PageSize 0 ist, ist die Standardseitengröße 20. Die Eigenschaft Bookmark bestimmt den Startindex der zurückzugebenden Datensätze. Weitere Informationen finden Sie in der Dokumentation zu Hyperledger Fabric. Die Eigenschaften StartTime und EndTime müssen im RFC-3339-Format angegeben werden.
Beispiel für Rückgabewert:
[
    {
        "transaction_id": "otransaction~62eb436be7c29fc2ed9cae221e874d9a31b163fa10374e7da09bf5e09a96c3ff",
        "transacted_amount": 10000,
        "timestamp": "2025-08-25T13:57:58.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "from_org_id": "CentralBank",
        "from_user_id": "cb__creator_demo",
        "from_custom_account_id": "10105678004567",
        "transaction_type": "DEBIT",
        "category": "issuance"
    },
    {
        "transaction_id": "otransaction~62eb436be7c29fc2ed9cae221e874d9a31b163fa10374e7da09bf5e09a96c3ff",
        "transacted_amount": 10000,
        "timestamp": "2025-08-25T13:57:58.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb__creator_demo",
        "transacted_custom_account_id": "10105678004567",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "from_org_id": "CentralBank",
        "from_user_id": "cb__creator_demo",
        "from_custom_account_id": "10105678004567",
        "transaction_type": "CREDIT",
        "category": "issuance"
    },
    {
        "transaction_id": "otransaction~c628fb7738222ed969295ccc8d21b4be95d96e3aada4f14570f7820a7051b5f7",
        "transacted_amount": 200,
        "timestamp": "2025-08-25T13:51:18.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_issuer_demo",
        "transacted_custom_account_id": "10109999001234",
        "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709",
        "to_org_id": "org2",
        "to_user_id": "fi2_org_officer_demo",
        "to_custom_account_id": "30300617202404",
        "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_issuer_demo",
        "from_custom_account_id": "10109999001234",
        "transaction_type": "RELEASEHOLD",
        "holding_id": "ohold~cbdc~USD~77b75873"
    },
    {
        "transaction_id": "otransaction~af2cc8e43ecb4c5520d90a8d7955b5a47623a29b13eef47e31c16eb48cc0adec",
        "transacted_amount": 100,
        "timestamp": "2025-08-25T13:50:45.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb_retirer_demo",
        "transacted_custom_account_id": "10109999006543",
        "from_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98",
        "from_org_id": "CentralBank",
        "from_user_id": "cb_retirer_demo",
        "from_custom_account_id": "10109999006543",
        "transaction_type": "REJECT_BURN",
        "holding_id": "ohold~cbdc~USD~8d34",
        "description": "Burn",
        "to_account": ""
    },
    {
        "transaction_id": "otransaction~182b99bb2ed753994a8c638ab9b08c3a4e73ac8159a3173a2a1f56b651d2eeac",
        "transacted_amount": 2000,
        "timestamp": "2025-08-25T13:50:19.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "transacted_org_id": "CentralBank",
        "transacted_user_id": "cb__creator_demo",
        "transacted_custom_account_id": "10105678004567",
        "to_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41",
        "to_org_id": "CentralBank",
        "to_user_id": "cb__creator_demo",
        "to_custom_account_id": "10105678004567",
        "transaction_type": "REJECT_MINT",
        "holding_id": "ohold~cbdc~USD~89ce",
        "description": "Minting 2000 tokens",
        "from_account": ""
    },
    {
        "transaction_id": "otransaction~4793f3907eefce2f9fca7ef107405b0f116efb3afbf83fa0e61fe763690c8235",
        "transacted_amount": 100,
        "timestamp": "2025-08-25T13:47:56.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_officer_demo",
        "transacted_custom_account_id": "20200222221111",
        "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a",
        "to_org_id": "CentralBank",
        "to_user_id": "cb_issuer_demo",
        "to_custom_account_id": "10109999001234",
        "from_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_officer_demo",
        "from_custom_account_id": "20200222221111",
        "transaction_type": "ONHOLD",
        "holding_id": "ohold~cbdc~USD~2ac01689",
        "category": "issuance"
    },
    {
        "transaction_id": "otransaction~5177f7560d32838242a26ac74f2a90c6ff9b47aae0d0988f28d9b4cf7e27c097",
        "transacted_amount": 10,
        "timestamp": "2025-08-25T13:22:23.000Z",
        "token_id": "USD",
        "transacted_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "transacted_org_id": "Org1",
        "transacted_user_id": "fi1_org_user2_demo",
        "transacted_custom_account_id": "20200211112222",
        "to_account": "oaccount~d08ff55a040d5e5dcf406009bab1b3398e06c374356efb1bddbf2f17fc37f949",
        "to_org_id": "Org1",
        "to_user_id": "fi1_org_user2_demo",
        "to_custom_account_id": "20200211112222",
        "from_account": "oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111",
        "from_org_id": "Org1",
        "from_user_id": "fi1_org_user1_demo",
        "from_custom_account_id": "20200198765432",
        "transaction_type": "EXECUTEHOLD",
        "holding_id": "ohold~cbdc~USD~454f4bf6",
        "category": "transfer"
    }
]
getAccountBalance
Diese Methode gibt den Kontensaldo für ein angegebenes Konto zurück.
Ctx.Account.getAccountBalance(account_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
    "msg": "Current Balance is: 100",
    "user_balance": 100
}
deleteTransactions
Mit dieser Methode werden ältere Transaktionen aus der Statusdatenbank gelöscht.
Ctx.Transaction.deleteTransactions(time_to_expiration: Date);
Parameter:
  • time_to_expiration: Date: Ein Zeitstempel, der angibt, wann Transaktionen gelöscht werden sollen. Transaktionsassets, die älter als die angegebene Zeit sind, werden gelöscht.
Beispiel für Rückgabewert:
{
    "msg": "Successfully deleted transaction older than date: Thu Aug 19 2025 11:19:36 GMT+0000 (Coordinated Universal Time).",
    "transactions": [
           "otransaction~ec3366dd48b4ce2838f820f2f138648e6e55a07226713e59b411ff31b0d21058"
     ]
}
getTransactionById
Diese Methode gibt die Historie eines Transaction-Assets zurück.
Ctx.Transaction.getTransactionById(transaction_id: string);
Parameter:
  • transaction_id string: Die ID des Transaktionsassets.
Beispiel für Rückgabewert:
{
    "transaction_id": "otransaction~6523597253e45b3c976aecdc54e2c6316d0a4f88ad5d7f3fff48c69213e4375a",
    "history": [
        {
            "trxId": "6523597253e45b3c976aecdc54e2c6316d0a4f88ad5d7f3fff48c69213e4375a",
            "timeStamp": "2025-08-20T23:21:45.000Z",
            "value": {
                "assetType": "otransaction",
                "transaction_id": "otransaction~6523597253e45b3c976aecdc54e2c6316d0a4f88ad5d7f3fff48c69213e4375a",
                "token_id": "token",
                "from_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
                "to_account_id": "oaccount~5e3b5a3306d7ca3f3e3fe7cc27b6ae547e94dba1c5af58a69a771d7a619b6a66",
                "transaction_type": "TRANSFER",
                "amount": 22,
                "timestamp": "2025-08-20T23:21:45.000Z",
                "number_of_sub_transactions": 0,
                "holding_id": "",
                "sub_transaction": "false",
                "category": "category value",
                "description": "description value"
            }
        }
    ],
    "sub_transactions": []
}
getAccountStatus
Diese Methode ruft den aktuellen Status des Token-Accounts ab.
Ctx.AccountStatus.getAccountStatus(account_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
    "assetType": "oaccountStatus",
    "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "active"
}
history (Account Status)
Diese Methode ruft die Historie des Kontostatus ab.
Ctx.AccountStatus.history(status_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
[
  {
    "trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63",
    "timeStamp": "2025-12-02T10:39:14.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "suspended"
    }
  },
  {
    "trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183",
    "timeStamp": "2025-12-02T10:37:50.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "active"
    }
  }
]
activateAccount
Mit dieser Methode wird ein Token-Account aktiviert. Gelöschte Accounts können nicht aktiviert werden.
Ctx.Account.activateAccount(account_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "active"
}
suspendAccount
Mit dieser Methode wird ein Token-Account unterbrochen. Nachdem ein Konto ausgesetzt wurde, können Sie keine Vorgänge ausführen, die das Konto aktualisieren. Ein gelöschter Account kann nicht ausgesetzt werden.
Ctx.Account.suspendAccount(account_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
    "assetType": "oaccountStatus",
    "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "suspended"
}
deleteAccount
Mit dieser Methode wird ein Token-Account gelöscht. Nachdem ein Konto gelöscht wurde, können Sie keine Vorgänge abschließen, die das Konto aktualisieren. Das gelöschte Konto befindet sich in einem endgültigen Status und kann nicht in einen anderen Status geändert werden. Um ein Konto zu löschen, müssen der Kontensaldo und der einbehaltene Saldo Null sein.
Ctx.Account.deleteAccount(account_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "deleted"
}
setMaxDailyAmount
Diese Methode legt den Wert max_daily_amount für ein angegebenes Konto fest.
Ctx.Account.setMaxDailyAmount(account_id: string, max_daily_amount?: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
  • max_daily_amount?: string (Optional) Die maximale Anzahl an Token, die der Benutzer täglich übertragen kann. Wenn keine Angabe gemacht wird, kann der Benutzer jeden beliebigen Betrag an Token täglich übertragen.
Beispiel für Rückgabewert:
{
           "msg": "Successfully set max daily amount for account id oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a to 1000000"
       }
setMaxDailyTransactionCount
Diese Methode legt den Wert max_daily_transactions für ein angegebenes Konto fest.
Ctx.Account.setMaxDailyTransactionCount(account_id: string, max_daily_transactions?: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
  • max_daily_transactions?: string (Optional) Die maximale Anzahl von Transaktionen, die der Benutzer täglich abschließen kann. Wenn keine Angabe gemacht wird, kann der Benutzer eine beliebige Anzahl von Transaktionen täglich abschließen.
Beispiel für Rückgabewert:
{
            "msg": "Successfully set max daily transactions for account id oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a to 100000"
        }
getMaxDailyAmount
Diese Methode ruft den Wert max_daily_amount (den maximalen Betrag, der täglich übertragen werden kann) für ein angegebenes Konto ab.
Ctx.Account.getMaxDailyAmount(account_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
           "max_daily_amount": "10000"
       }
getMaxDailyTransactionCount
Diese Methode ruft den Wert max_daily_transactions (die maximale Anzahl von Transaktionen pro Tag) für ein angegebenes Konto ab.
Ctx.Account.getMaxDailyTransactionCount(account_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
           "max_daily_transactions": "100"
       }
consolidateRunningBalanceInTransactions
Diese Methode berechnet die laufenden Kontensalden und speichert die aktualisierten Werte in den Transaktionsschlüssel/Wert-Paaren. Normalerweise rufen Systemadministratoren diese Methode mit einem REST-Proxy-Scheduler auf.
Ctx.Transaction.consolidateRunningBalanceInTransactions(save: boolean);
Beispiel für Rückgabewert:
{ msg: "Successfully updated account running balance for pending transactions."}
processSendersAndReceivers
Diese Methode berechnet und aktualisiert die Tokenkontensalden, die in den Schlüssel/Wert-Paaren des Absenders und Empfängers verteilt werden, die während zwischenbetrieblicher Transfers erstellt wurden, und löscht dann die Schlüssel/Wert-Paare des Absenders und Empfängers, die nicht mehr verwendet werden. Normalerweise rufen Systemadministratoren diese Methode mit einem REST-Proxy-Scheduler auf.
Ctx.Account.processSendersAndReceivers(save: boolean);
Beispiel für Rückgabewert:
{ msg: "Successfully updated balance for accounts from pending receivers."}
addRoleMember
Mit dieser Methode wird eine Rolle zu einem angegebenen Konto hinzugefügt.
Ctx.Token.addRoleMember(role: string, account_id: string, token_asset);
Parameter:
  • account_id: number: Die Account-ID, der die Rolle hinzugefügt werden soll.
  • role: string: Der Name der Rolle, die dem angegebenen Benutzer hinzugefügt werden soll.
  • token_asset: any: Das Tokenasset, das als Parameter übergeben wird. Die Eigenschaften des Tokenassets werden in der Modelldatei beschrieben.
Beispiel für Rückgabewert:
{
     "msg": "Successfully added role 'notary' to Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8"
}
removeRoleMember
Mit dieser Methode wird eine Rolle aus einem angegebenen Konto entfernt.
Ctx.Token.removeRoleMember(role: string, account_id: string, token_asset);
Parameter:
  • account_id: number: Die Account-ID, aus der die Rolle entfernt werden soll.
  • role: string: Der Name der Rolle, die aus dem angegebenen Benutzer entfernt werden soll.
  • token_asset: any: Das Tokenasset, das als Parameter übergeben wird. Die Eigenschaften des Tokenassets werden in der Modelldatei beschrieben.
Beispiel für Rückgabewert:
{
   "msg": "Successfully removed role 'notary' from Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8"
}
getAccountsByRole
Diese Methode gibt eine Liste aller Konten für eine angegebene Rolle und ein bestimmtes Token zurück.
Ctx.Role.getAccountsByRole(token_id: string, role: string);
Parameter:
  • token_id: string: Die ID des Tokens.
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
Beispiel für Rückgabewert:
{
           "accounts": [
               "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75"
           ]
       }
getOrgAccountsByRole
Diese Methode gibt Informationen zu allen Konten zurück, die eine bestimmte Rolle in einer bestimmten Organisation haben.
Ctx.Role.getOrgAccountsByRole(token_id: string, role: string, org_id: string);
Parameter:
  • token_id: string: Die ID des Tokens.
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
Beispiel für Rückgabewert:
{
           "accounts": [
               "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75"
           ]
       }
getUsersByRole
Diese Methode gibt eine Liste aller Benutzer für eine angegebene Rolle und ein bestimmtes Token zurück.
Ctx.Role.getUsersByRole(token_id: string, role: string);
Parameter:
  • token_id: string: Die ID des Tokens.
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
Beispiel für Rückgabewert:
{
          "users": [
              {
                  "token_id": "token",
                  "org_id": "CentralBank"
              }
          ]
      }
getOrgUsersByRole
Diese Methode gibt Informationen zu allen Benutzern zurück, die eine bestimmte Rolle in einer bestimmten Organisation haben.
 Ctx.Role.getOrgUsersByRole(token_id: string, role: string, org_id: string);
Parameter:
  • token_id: string: Die ID des Tokens.
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID der Organisation.
Beispiel für Rückgabewert:
{
           "users": [
               {
                   "token_id": "token",
                   "org_id": "CentralBank",
                   "user_id": "cb1",
                   "custom_account_id": "1234567jh"
               }
           ]
       }
isInRole
Diese Methode gibt an, ob ein Benutzer eine bestimmte Rolle hat.
Ctx.Token.isInRole(role: string, account_id: string, token_asset)
Parameter:
  • account_id: number: Die eindeutige ID des Tokenaccounts.
  • role: string: Der Name der zu prüfenden Rolle.
  • token_asset: any: Das Tokenasset, das als Parameter übergeben wird. Die Eigenschaften des Tokenassets werden in der Modelldatei beschrieben.
Beispiel für Rückgabewert:
{
           "result": "true"
       }
getTotalMintedTokens
Diese Methode gibt die Gesamtanzahl der eingeprägten Token zurück.
Ctx.Token.getTotalMintedTokens(token_asset);
Parameter:
  • token_asset: any: Das Tokenasset, das als Parameter übergeben wird. Die Eigenschaften des Tokenassets werden in der Modelldatei beschrieben.
Beispiel für Rückgabewert:
{
    "msg": "Total minted token for Token Id: USD is 910 tokens.",
    "quantity": 910
}
getNetTokens
Diese Methode gibt die Nettomenge der Token zurück, die im System verfügbar sind. Die Nettotoken sind die Anzahl der Token, die nach dem Verbrennen von Token übrig bleiben. In Gleichungsform: Nettotoken = Gesamtanzahl abgebrannter Token - Gesamtanzahl verbrannter Token. Wenn keine Token verbrannt werden, ist die Anzahl der Nettotoken gleich der Gesamtanzahl der abgebauten Token.
Ctx.Token.getNetTokens(token_asset);
Parameter:
  • token_asset: any: Das Tokenasset, das als Parameter übergeben wird. Die Eigenschaften des Tokenassets werden in der Modelldatei beschrieben.
Beispiel für Rückgabewert:
{
    "msg": "Net supply of token for Token Id: USD is 878 tokens.",
    "quantity": 878
}
hold
Diese Methode wird vom Miner verwendet, um eine Anforderung an den Minter Notar zu senden, um eine bestimmte Anzahl von Token zu erstellen. Das angegebene Notarkonto ist für den Abschluss oder die Freigabe der Sperre verantwortlich.
Ctx.Hold.hold(operation_id: string, to_account_id: string, notary_account_id: string, quantity: number, time_to_expiration: Date, token, type: HoldOperationType, info_details?: InfoDetails)
Parameter:
  • operation_id: string: Eine eindeutige ID zur Identifizierung des Sperrvorgangs. Normalerweise wird diese ID von der Clientanwendung übergeben.
  • to_account_id: string: Die ID des Empfängerkontos.
  • notary__account_id: string: Die ID des Notarkontos.
  • quantity: number: Die Gesamtanzahl der zurückzustellenden Token.
  • time_to_expiration: Date: Die Dauer bis zum Ablauf der Sperre. Geben Sie 0 für eine permanente Sperre an. Verwenden Sie andernfalls das RFC-3339-Format. Beispiel: 2021-06-02T12.
  • token: any: Das Tokenasset, das als Parameter übergeben wird. Die Eigenschaften des Tokenassets werden in der Modelldatei beschrieben.
  • type: HoldOperationType: Der Typ des anzufordernden Sperrvorgangs. Es muss einer von drei möglichen Werten sein: MINT, BURN oder TRANSFER.
  • info_details: JSON: Ein Objekt, das die Kategorie (category) und die Beschreibung (description) der Anforderung angibt.

    Sie geben den Parameter info_details in einem anderen Format an, wenn Sie Visual Studio Code im Vergleich zur CLI oder Postman-Collection verwenden.

    Visual Studio-Code: { "category": "category value", "description": "description value" }

    CLI/Postman: "{\"category\":\"category value\",\"description\":\"description value\"}"

Beispiel für Rückgabewert:
{
           "msg": "AccountId oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41 has successfully submitted request to mint 200 tokens"
       }
executeHold
Notare können diese Methode aufrufen, um einen Sperrvorgang zu genehmigen. Dabei kann es sich um einen von drei Typen handeln: Mint, Burn oder Transfer.
Ctx.Hold. executeHold(operation_id: string, token, operation_type: HoldOperationType, quantity? :number)
Parameter:
  • operation_type: HoldOperationType: Der Typ des zu genehmigenden Sperrvorgangs. Es muss einer von drei möglichen Werten sein: MINT, BURN oder TRANSFER.
  • quantity: number (Optional) Nur für Übertragungsvorgänge der Betrag, der für die Übertragung an den Empfänger genehmigt wurde.
  • token: any: Das Tokenasset, das als Parameter übergeben wird. Die Eigenschaften des Tokenassets werden in der Modelldatei beschrieben.
  • operation_id: string: Eine eindeutige ID der Anforderung.
Beispiel für Rückgabewert:
{
           "msg": "Successfully minted 1000 tokens to Account Id: oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41"
       }
releaseHold
Notare können diese Methode aufrufen, um einen Sperrvorgang abzulehnen, der einen von drei Typen aufweisen kann: Minze, Verbrennen oder Übertragen.
Ctx.Hold.releaseHold(operation_id: string, token, operation_type: HoldOperationType)
Parameter:
  • operation_type: HoldOperationType: Der Typ des Zurückstellungsvorgangs, der abgelehnt werden soll. Es muss einer von drei möglichen Werten sein: MINT, BURN oder TRANSFER.
  • token: any: Das Tokenasset, das als Parameter übergeben wird. Die Eigenschaften des Tokenassets werden in der Modelldatei beschrieben.
  • operation_id: string: Eine eindeutige ID der Anforderung.
Beispiel für Rückgabewert:
{
           "msg": "Successfully rejected mint request with Operation Id '89ce' to mint 2000 tokens of token id USD"
       }
issueTokens
Miner können diese Methode aufrufen, um eine bestimmte Anzahl von Token zu erstellen.
this.Ctx.Token.mint(quantity, token_asset, info_details)
Parameter:
  • token_id: string: Die ID des Tokens.
  • quantity – Die Anzahl der zu mindernden Token.
  • info_details: JSON: Ein Objekt, das die Kategorie (category) und die Beschreibung (description) der Anforderung angibt.

    Sie geben den Parameter info_details in einem anderen Format an, wenn Sie Visual Studio Code im Vergleich zur CLI oder Postman-Collection verwenden.

    Visual Studio-Code: { "category": "category value", "description": "description value" }

    CLI/Postman: "{\"category\":\"category value\",\"description\":\"description value\"}"

Beispiel für Rückgabewert:
{
          "msg": "Successfully minted 1000 tokens to Account Id: oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41"
      }
transferTokens
Mit dieser Methode werden Token vom Aufrufer an ein bestimmtes Konto übertragen. Der Aufrufer der Methode muss ein Konto haben. Die Menge muss innerhalb der Dezimalwerte liegen, die durch den Parameter decimal des Verhaltens divisible in der Spezifikationsdatei angegeben werden.
this.Ctx.Token.transfer(to_account_id: string, quantity, token_asset, info_details);
Parameter:
  • to_account_id: string: Die Konto-ID des Empfängers (Zahlungsempfänger).
  • quantity: number: Die Anzahl der zu übertragenden Token.
  • info_details: JSON: Ein Objekt, das die Kategorie (category) und die Beschreibung (description) der Anforderung angibt.

    Sie geben den Parameter info_details in einem anderen Format an, wenn Sie Visual Studio Code im Vergleich zur CLI oder Postman-Collection verwenden.

    Visual Studio-Code: { "category": "category value", "description": "description value" }

    CLI/Postman: "{\"category\":\"category value\",\"description\":\"description value\"}"

Beispiel für Rückgabewert:
{
          "msg": "Successfully transferred 10000 tokens from account id: oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41  to account id: oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a."
      }
getAccountOnHoldBalance
Diese Methode gibt den einbehaltenen Saldo für ein angegebenes Konto zurück.
Ctx.Account.getAccountOnHoldBalance(account_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
           "msg": "Total Holding Balance is: 0",
           "holding_balance": 0
       }
getOnHoldDetailsWithOperationId
Diese Methode gibt die Details der zurückgestellten Transaktion für eine angegebene Vorgangs-ID und ein bestimmtes Token zurück.
Ctx.Hold.getOnHoldDetailsWithOperationId(token_id: string, operation_id: string);
Parameter:
  • token_id: string: Die ID des Tokens.
  • operation_id: string: Eine eindeutige ID zur Kennzeichnung des Sperrvorgangs.
Beispiel für Rückgabewert:
{
          "assetType": "ohold",
          "holding_id": "ohold~cbdc~token~hold1",
          "operation_id": "hold1",
          "token_name": "cbdc",
          "from_org_id": "CentralBank",
          "operation_type": "transfer",
          "status": "approved",
          "from_account_id": "oaccount~5abb4155f4b245bb1732321e3174ac81999b03495b5c74f8e1f270bafbadef75",
          "to_account_id": "oaccount~22776ada3efff6aaf4c68c204c1f063b139adfa1bca79ed53199117c34036cfc",
          "notary_account_id": "oaccount~1da238c1491c919b151f777a615fb5779032c34b3ef3adeca6afe591bac10aaf",
          "token_id": "token",
          "quantity": "0",
          "time_to_expiration": "2029-01-04T00:00:00.000Z",
          "category": "category value",
          "description": "description value"
      }
getOnHoldIds
Diese Methode gibt eine Liste aller Halte-IDs für ein angegebenes Konto zurück.
Ctx.Account.getOnHoldIds(account_id: string);
Parameter:
  • account_id: string: Die eindeutige ID des Tokenaccounts.
Beispiel für Rückgabewert:
{
           "msg": "Holding Ids are: ",
           "holding_ids": ["ohold~cbdc~token~hold1"]
       }
getOnHoldBalanceWithOperationId
Diese Methode gibt den Saldo für eine bestimmte Vorgangs-ID und ein bestimmtes Token zurück. Diese Methode kann von jedem aufgerufen werden.
Ctx.Hold.getOnHoldBalanceWithOperationId(token_id: string, operation_id: string);
Parameter:
  • token_id: string: Die ID des Tokens.
  • operation_id: string: Eine eindeutige ID zur Kennzeichnung des Sperrvorgangs.
Beispiel für Rückgabewert:
{
           "msg": "Current Holding Balance of Operation 'hold1' for token 'token' is: 0",
           "holding_balance": 0
       }

TypeScript SDK-Methoden für organisationsübergreifende Transfers

Zwischenbetriebliche Transfers bestehen aus zwei Teilen: Zuerst wird der Betrag vom Absender belastet, und dann wird der Betrag dem Empfänger gutgeschrieben. Die folgenden beiden APIs werden mit der Zwei-Phasen-Commit-API des Oracle Blockchain Platform-REST-Proxys als atomare Transaktion aufgerufen. Vertrauliche Übertragungen erfolgen auf diese Weise, da die privaten Datenerfassungen der beiden Organisationen eindeutig sind und nicht in einer einzigen Transaktion aufgerufen werden können.

executeHoldTokensSender
Diese Methode kann nur vom Benutzer mit der Notarrolle für die angegebene Vorgangs-ID aufgerufen werden. Diese Methode ist der erste Teil einer Genehmigung eines Transfers zwischen Organisationen. Der angegebene Betrag wird vom Konto des Absenders abgezogen.
Ctx.Hold.executeHoldSender(operation_id: string, quantity, globalTxId: string, token: any);
Parameter:
  • token: any: Das Tokenasset, das als Parameter übergeben wird. Die Eigenschaften des Tokenassets werden in der Modelldatei beschrieben.
  • operation_id: string: Die eindeutige Vorgangs-ID für die zu genehmigende Sperranforderung.
  • quantity: number - Die Anzahl der gehaltenen Token für die Übertragung.
  • globalTxid: string: Die vom REST-Proxy generierte globale Transaktions-ID für eine Zwei-Phasen-Commit-Anforderung. Diese wird in diesem Fall als gemeinsame Referenz verwendet, die Soll- und Habenvorgänge in einer zwischenbetrieblichen Übertragung bindet.
Beispiel für Rückgabewert:
{
      "msg":
        "Account Id: oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a is successfully executed '10' tokens from Operation Id 'hold1'."
    }
executeHoldTokensReceiver
Diese Methode kann nur vom Benutzer mit der Notarrolle für die angegebene Vorgangs-ID aufgerufen werden. Diese Methode ist der zweite Teil einer Genehmigung eines Transfers zwischen Organisationen. Der angegebene Betrag wird dem Konto des Empfängers gutgeschrieben.
Ctx.Hold.executeHoldReceiver(operation_id: string, quantity, globalTxId: string, token: any);
Parameter:
  • token: any: Das Tokenasset, das als Parameter übergeben wird. Die Eigenschaften des Tokenassets werden in der Modelldatei beschrieben.
  • operation_id: string: Die eindeutige Vorgangs-ID für die zu genehmigende Sperranforderung.
  • quantity: number - Die Anzahl der gehaltenen Token für die Übertragung.
  • globalTxid: string: Die vom REST-Proxy generierte globale Transaktions-ID für eine Zwei-Phasen-Commit-Anforderung. Diese wird in diesem Fall als gemeinsame Referenz verwendet, die Soll- und Habenvorgänge in einer zwischenbetrieblichen Übertragung bindet.
Beispiel für Rückgabewert:
{
      "msg":
        "Account Id: oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a is successfully executed '10' tokens from Operation Id 'hold1, receiverId oreceiver~72d9bfcf-2c68-4c33-b8c3-fe3374983bf2'."
    }