Großhandel CBDC Wrapper API Paket

Die Oracle Blockchain Platform Digital Assets Edition umfasst ein Wrapper-API-Package, mit dem die REST-API erweitert wird, um Vorgänge zu unterstützen, die für Großhandels-CBDC spezifisch sind.

Das Wrapper-API-Package verwendet den API-Gateway-Service und OCI Functions, die mit einem Resource Manager-Stack auf Oracle Cloud Infrastructure (OCI) erstellt werden, um API-Routen bereitzustellen, die speziell für die CBDC-Großhandelsanwendung entwickelt wurden. Das CBDC-Wrapper-API-Großhandelspackage kann von der Oracle Blockchain Platform-Konsole heruntergeladen werden und umfasst die folgenden Komponenten.
  • WholesaleCBDCWrapperAPI.zip, eine Archivdatei, die das Wrapper-API-Package enthält, einschließlich der für das Deployment erforderlichen Terraform-Skripte. Sie stellen diese Datei in einem Resource Manager-Stack auf OCI bereit, um die erforderlichen Oracle-Ressourcen für die Wrapper-APIs zu erstellen.
  • WholesaleCBDC_WrapperAPI.postman_collection.json, eine Postman-Collection, mit der Sie die bereitgestellten Wrapper-APIs testen können. Die Sammlung umfasst vorkonfigurierte Anforderungen mit Endpunkten und Payloads, die den im Wrapper-API-Package definierten APIs entsprechen.

Wrapper-APIs

activateCBDCAccount
Ursprünglicher Methodenname: activateAccount
Diese POST-Methode aktiviert ein Token-Konto. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden. Gelöschte Accounts können nicht aktiviert werden.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Accountstatusobjekts für den angegebenen Tokenaccount.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925",
        "payload": {
            "assetType": "oaccountStatus",
            "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae",
            "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
            "status": "active"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 194
    }
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
addCBAdmin
Ursprünglicher Methodenname: addTokenAdmin
Diese POST-Methode fügt einen Benutzer als Token Admin des Token Chaincodes hinzu. Die Methode kann nur von einem Token Admin des Token Chaincodes aufgerufen werden. Der erste Aufruf erfolgt vom Administrator, der den Chaincode instanziiert.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "User (Org_Id: CB, User_Id: cb) is already Token Admin."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
addCBAuditor
Ursprünglicher Methodenname: addTokenAuditor
Diese POST-Methode fügt dem Token Chaincode Token Auditoren hinzu. Diese Methode kann nur vom Token Admin des Chaincodes aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "cd81f6c4c9e7c18ece357dbf5c139ef66ef2d6566be3b14de5f6d0a3fd4bb2f0",
        "payload": {
            "msg": "Successfully added Token Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 196
    }
}
addFIAdmin
Ursprünglicher Methodenname: addOrgAdmin
Mit dieser Methode werden Organisationsadministratoren zum Token Chaincode hinzugefügt. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:

{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "96a84dffcb9156f7271dfb414e8c43b540595044cf9145f5fd56e9873797fc4a",
        "payload": {
            "msg": "Successfully added Org Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 197
    }
}
addFIAuditor
Ursprünglicher Methodenname: addOrgAuditor
Mit dieser Methode werden Organisationsauditoren zum Token Chaincode hinzugefügt. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "44bbad35a1478cb714e32f7cfd551897868a203520aab9cea5771d3aadc1cf03",
        "payload": {
            "msg": "Successfully added Org Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 198
    }
}
addRole
Ursprünglicher Methodenname: addRole
Diese Methode fügt die Rolle dem angegebenen Benutzer und Token hinzu. Account-IDs werden gebildet, indem ein SHA-256-Hash der verketteten Token-ID, Organisations-ID und Benutzer-ID erstellt wird. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "role": "role value (for example minter / burner / notary)",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • role: string: Der Name der Rolle, die dem angegebenen Benutzer hinzugefügt werden soll.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "29ea766dee8e6d273eba3c40a9fea75a1aa85dc3c280d40695f6224c5c52d93c",
        "payload": {
            "msg": "Successfully added role 'notary' to Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 201
    }
}
approveCBDCCreation
Ursprünglicher Methodenname: approveMint
Notare können diese POST-Methode aufrufen, um eine Minzanforderung zu genehmigen.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • operationId: string: Die eindeutige Vorgangs-ID der zu genehmigenden Minzanforderung.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
        "payload": {
            "msg": "Successfully minted 10 tokens to Account Id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 204
    }
}
approveCBDCRetirement
Ursprünglicher Methodenname: approveBurn
Notare können diese POST-Methode aufrufen, um eine Burn-Anforderung zu genehmigen.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • operationId: string: Die eindeutige Vorgangs-ID der zu genehmigenden Minzanforderung.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "8252371040e41753fd843bd086692f4e1ee7d89ffa3a50bfa121c5f1565f922f",
        "payload": {
            "msg": "Successfully burned 1 tokens from account id: oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB, User-Id: retirer_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 209
    }
}
approveHoldCBDCTokens
Ursprünglicher Methodenname: executeHoldTokens
Notare rufen diese Methode auf, um eine Tokensperre zu genehmigen, die in diesem Geschäftsszenario die Übertragung der Token vom Zahler an den Zahlungsempfänger auslöst. Die Menge der Token, die zuvor vom Token-Eigentümer gesperrt wurden, wird jetzt an den Empfänger übertragen. Wenn der Wert quantity kleiner als der tatsächliche Sperrwert ist, ist der verbleibende Betrag wieder für den Eigentümer des Tokens verfügbar. Wenn das Verhalten roles im Abschnitt behaviors des Tokenmodells angegeben und der Wert notary_role_name festgelegt ist, muss der Aufruferaccount eine Notarrolle aufweisen. Andernfalls kann jeder Anrufer mit einem Konto als Notar fungieren.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "quantity": 1,
    "endorsers": {{endorsers}}
}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • operationId: string: Die eindeutige Vorgangs-ID der zu genehmigenden Minzanforderung.
  • quantity: number: Die Anzahl der zu übertragenden gehaltenen Token.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "c1149aaa486abc4931d9024c18dfcb230bb321723d1160b0bf981c0011c4856a",
        "payload": {
            "msg": "Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb) is successfully executed '10' tokens from Operation Id '8e3145'."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 213
    }
}
associateTokenToAccount
Ursprünglicher Methodenname: associateTokenToAccount
Diese POST-Methode verknüpft eine angegebene Konto-ID mit einem angegebenen Token. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "accountId": "account_id value",
    "tokenId": "{{bc-token-id}}",
    "endorsers": {{endorsers}}
}
Parameter:
  • accountId: string: Die ID des Accounts.
  • tokenId: string: Die ID des Tokens.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "efc7381fb6fc6174a40e83ff5f09d2bbf7f6f490365e3bbf19d5502c2cfec474",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~1c6aa60e220b8fc70caf4cea1ed723ddb193a00321e5e0004def062816b77090",
            "user_id": "cb12",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-11T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 216
    }
}
createAccount
Ursprünglicher Methodenname: createAccount
Diese Methode erstellt einen Account für einen angegebenen Benutzer und ein bestimmtes Token. Ein Konto muss für jeden Benutzer erstellt werden, der zu einem beliebigen Zeitpunkt Token hat. Konten verfolgen Salden, gesperrte Salden und die Transaktionshistorie. Eine Account-ID ist ein alphanumerisches Zeichenset mit dem Präfix oaccount~<token asset name>~, gefolgt von einem Hash des Benutzernamens oder der E-Mail-ID (userId) des Instanzeigentümers oder des Benutzers, der bei der Instanz angemeldet ist, der Mitgliedschaftsserviceprovider-ID (orgId) des Benutzers in der aktuellen Netzwerkorganisation. Diese Methode kann nur von einem Token Admin des Chaincodes oder von einem Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenType": "fungible",
    "applicationGroups": "[\"application_groups value\"]",
    "dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
    "endorsers": {{endorsers}}
}
Parameter:
  • orgId - Die Mitgliedschaftsserviceprovider-(MSP-)ID des Benutzers, für den das Konto erstellt wird. Die ID muss mit einem alphanumerischen Zeichen beginnen und kann Buchstaben, Zahlen und Sonderzeichen wie Unterstriche (_), Punkte (.), At-Zeichen (@) und Bindestriche (-) enthalten.
  • userId: 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.
  • tokenType: TokenType: Der Typ des Tokens, der fungible sein muss.
  • applicationGroups: string[]: Eine Liste der Anwendungsgruppen, zu denen die Benutzer-ID gehört. Diese Liste definiert die Zuordnungen des Benutzers in der CBDC-Anwendung.
  • dailyLimits: JSON object: Ein JSON-Objekt des folgenden Typs.
    {
         "max_daily_amount": 100000
         "max_daily_transactions": 10000
     }
    In diesem 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 die maximale Anzahl von Transaktionen, die täglich abgeschlossen werden können.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}
getAllActiveCBDCAccounts
Ursprünglicher Methodenname: getAllActiveAccounts
Diese GET-Methode gibt alle aktiven Konten zurück, die mit der angegebenen Token-ID verknüpft sind.
Abfrage:
/getAllActiveCBDCAccounts?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Rückgabewert:
  • Bei Erfolg eine Meldung mit Benutzerdetails. Die Ausgabe variiert je nach Benutzerrolle, wie in den folgenden Beispielen dargestellt.
Beispiel für Rückgabewert (Tokenadministrator, Tokenauditor):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                "non_account_role_name": [
                    "token_admin"
                ],
                "role_name": null,
                "valueJson": {
                    "bapAccountVersion": 0,
                    "assetType": "oaccount",
                    "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                    "user_id": "admin_user_cb",
                    "org_id": "CB",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 0,
                    "onhold_balance": 0,
                    "application_groups": [
                        "CBDC_ADMINS"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
Beispiel für Rückgabewerte (Organisationsadministrator, Organisationsauditor):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
Beispiel für Rückgabewerte (alle anderen Benutzer):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
getAllSuspendedCBDCAccounts
Ursprünglicher Methodenname: getAllSuspendedAccounts
Diese GET-Methode gibt alle unterbrochenen Konten zurück, die mit der angegebenen Token-ID verknüpft sind.
Abfrage:
/getAllSuspendedCBDCAccounts?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Rückgabewert:
  • Bei Erfolg eine Meldung mit Benutzerdetails. Die Ausgabe variiert je nach Benutzerrolle, wie in den folgenden Beispielen dargestellt.
Beispiel für Rückgabewert (Tokenadministrator, Tokenauditor):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                "non_account_role_name": null,
                "role_name": null,
                "valueJson": {
                    "assetType": "oaccount",
                    "bapAccountVersion": 1,
                    "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                    "user_id": "user1_fi1",
                    "org_id": "FI1",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 5,
                    "onhold_balance": 0,
                    "application_groups": [
                        "FI_CBDC_USERS"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
Beispiel für Rückgabewerte (Organisationsadministrator, Organisationsauditor):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
Beispiel für Rückgabewerte (alle anderen Benutzer):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD"
              }
          }
      ],
      "encode": "JSON"
  }
}
getApproverActionHistory
Ursprünglicher Methodenname: getActionHistory
Diese GET-Methode ruft die Historie der Genehmigungen oder Ablehnungen ab, die der Aufrufer für Minz-, Burn- und Transfervorgänge (Ausgabevorgänge) vorgenommen hat, einschließlich Details der Organisation und Benutzer-IDs der beteiligten Konten (Absender, Empfänger und Notar). Diese Methode kann nur von einem Token Admin, Token Auditor, Org Admin, Org Auditor oder dem Notar aufgerufen werden.
Abfrage:
/getApproverActionHistory?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für einen Rückgabewert:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "from_org_id": "CB",
              "from_user_id": "retirer_user_cb",
              "holding_id": "ohold~cbdc~USD~eaf6",
              "holding_status": "REJECT_BURN",
              "last_updated_time": "2024-11-26T21:43:22.000Z",
              "notary_account_id": null,
              "notary_org_id": null,
              "notary_user_id": null,
              "operation_id": null,
              "quantity": 3,
              "timetoexpiration": null,
              "to_account_id": "",
              "to_org_id": null,
              "to_user_id": null,
              "token_id": "USD",
              "token_name": null
          },
          {
              "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "from_org_id": "CB",
              "from_user_id": "retirer_user_cb",
              "holding_id": "ohold~cbdc~USD~0031",
              "holding_status": "REJECT_BURN",
              "last_updated_time": "2024-11-26T21:43:15.000Z",
              "notary_account_id": null,
              "notary_org_id": null,
              "notary_user_id": null,
              "operation_id": null,
              "quantity": 2,
              "timetoexpiration": null,
              "to_account_id": "",
              "to_org_id": null,
              "to_user_id": null,
              "token_id": "USD",
              "token_name": null
          }
      ],
      "encode": "JSON"
  }
}
getCBDCAccount
Ursprünglicher Methodenname: getAccount
Diese GET-Methode gibt Kontodetails für einen angegebenen Benutzer und ein bestimmtes Token zurück. Diese Methode kann nur von einem Token Admin oder Token Auditor des Chaincodes, einem Org Admin oder Org Auditor der angegebenen Organisation oder dem AccountOwner des Accounts aufgerufen werden.
Abfrage:
/getCBDCAccount?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "status": "active",
            "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 1000,
            "daily_transactions": 0,
            "current_date": "2024-11-20T00:00:00.000Z"
        },
        "encode": "JSON"
    }
}
getCBDCAccountBalance
Ursprünglicher Methodenname: getAccountBalance
Diese GET-Methode gibt den aktuellen Saldo für ein angegebenes Konto und Token zurück. Diese Methode kann nur von einem Token Admin oder Token Auditor des Chaincodes, einem Org Admin oder Org Auditor der angegebenen Organisation oder dem AccountOwner des Accounts aufgerufen werden.
/getCBDCAccountBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Current Balance is: 100",
            "user_balance": 100
        },
        "encode": "JSON"
    }
}
getCBDCAccountsByUser
Ursprünglicher Methodenname: getAccountsByUser
Diese Methode gibt eine Liste aller Konto-IDs für eine bestimmte Organisationskennung und Benutzerkennung zurück. Diese Methode kann nur von einem Token Admin oder Token Auditor des Chaincodes, einem Org Admin oder Org Auditor der angegebenen Organisation oder dem AccountOwner des Accounts aufgerufen werden.
/getCBDCAccountsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • orgId string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "bapAccountVersion": 0,
                "assetType": "oaccount",
                "account_id": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
                "user_id": "admin_user_cb",
                "org_id": "CB",
                "token_type": "fungible",
                "token_id": "",
                "token_name": "",
                "balance": 0,
                "onhold_balance": 0,
                "application_groups": [
                    "CBDC_ADMINS"
                ],
                "max_daily_amount": 10000,
                "daily_amount": 0,
                "max_daily_transactions": 1000,
                "daily_transactions": 0,
                "current_date": "2024-11-20T00:00:00.000Z"
            },
            {
                "bapAccountVersion": 0,
                "assetType": "oaccount",
                "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                "user_id": "admin_user_cb",
                "org_id": "CB",
                "token_type": "fungible",
                "token_id": "USD",
                "token_name": "cbdc",
                "balance": 0,
                "onhold_balance": 0,
                "application_groups": [
                    "CBDC_ADMINS"
                ],
                "max_daily_amount": 10000,
                "daily_amount": 0,
                "max_daily_transactions": 1000,
                "daily_transactions": 0,
                "current_date": "2024-11-20T00:00:00.000Z"
            },
            {
                "bapAccountVersion": 0,
                "assetType": "oaccount",
                "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
                "user_id": "admin_user_cb",
                "org_id": "CB",
                "token_type": "fungible",
                "token_id": "",
                "token_name": "",
                "balance": 0,
                "onhold_balance": 0,
                "application_groups": [
                    "CBDC_ADMINS"
                ],
                "max_daily_amount": 10000,
                "daily_amount": 0,
                "max_daily_transactions": 100,
                "daily_transactions": 0,
                "current_date": "2024-12-09T00:00:00.000Z"
            }
        ],
        "encode": "JSON"
    }
}
getCBDCAccountTransactionHistory
Ursprünglicher Methodenname: getAccountTransactionHistory
Diese Methode gibt ein Array von Kontotransaktionshistoriendetails für einen angegebenen Benutzer und ein bestimmtes Token zurück. Diese Methode kann nur von einem Token Admin oder Token Auditor des Chaincodes, einem Org Admin oder Org Auditor der angegebenen Organisation oder dem AccountOwner des Accounts aufgerufen werden.
/getCBDCAccountTransactionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:37:28.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REJECT_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:32.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "APPROVE_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:18.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:35:46.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            }
        ],
        "encode": "JSON"
    }
}
getAccountTransactionHistoryWithFilters
Ursprünglicher Methodenname: getAccountTransactionHistoryWithFiltersFromRichHistDB
Diese Methode gibt die Kontotransaktionshistoriendetails aus der Rich History-Datenbank zurück. Diese Methode kann nur von einem Token Admin oder Token Auditor des Chaincodes, einem Org Admin oder Org Auditor der angegebenen Organisation oder dem AccountOwner des Accounts aufgerufen werden.
/getCBDCAccountTransactionHistoryWithFilters?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}&customEndpoint=custom_endpoint value&bearerToken=bearer_token value&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • customEndpoint: Der Serviceendpunkt RESTful der Rich History-Datenbank, aus der die Transaktionshistorie abgerufen werden soll.
  • bearerToken: Das Token, mit dem der Endpunkt RESTful aufgerufen wird, um sicherzustellen, dass die Anforderung autorisiert ist.
  • filters: JSON object: 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 Anfangsindex der zurückzugebenden Datensätze. Die Eigenschaften startTime und endTime müssen im RFC-3339-Format angegeben werden.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:37:28.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REJECT_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:32.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "APPROVE_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:18.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:35:46.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            }
        ],
        "encode": "JSON"
    }
}
getCBDCRetiredQuantity
Ursprünglicher Methodenname: getBurnQuantity
Diese GET-Methode gibt die Gesamtmenge der gebrannten Token für eine angegebene Organisation zurück. Diese Methode kann nur von einem Token Admin, Token Auditor oder einem Benutzer mit der Brennerrolle aufgerufen werden.
/getCBDCRetiredQuantity?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für einen Rückgabewert:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": {
          "burnt_quantity": 31
      },
      "encode": "JSON"
  }
}
getNetCBDCTokens
Ursprünglicher Methodenname: getNetTokens
Diese GET-Methode gibt die Gesamtanzahl der im System verfügbaren Token für ein angegebenes Token zurück. Die Nettotokensumme ist die Anzahl der verbleibenden Token, nachdem Token verbrannt wurden. Diese Methode kann nur von einem Token Admin oder Token Auditor des Chaincodes oder einem Org Admin oder Org Auditor aufgerufen werden.
/getNetCBDCTokens?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Net supply of token for Token Id: USD is 878 tokens.",
            "quantity": 878
        },
        "encode": "JSON"
    }
}
getOnHoldIds
Ursprünglicher Methodenname: getOnHoldIds
Diese GET-Methode gibt eine Liste aller Halte-IDs für ein angegebenes Konto zurück. Diese Methode kann nur von einem Token Admin oder Token Auditor des Chaincodes, einem Org Admin oder Org Auditor der angegebenen Organisation oder dem AccountOwner des Accounts aufgerufen werden.
/getOnHoldIds?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Holding Ids are: ohold~cbdc~USD~8e3147,ohold~cbdc~USD~8e315",
            "holding_ids": [
                "ohold~cbdc~USD~8e3147",
                "ohold~cbdc~USD~8e315"
            ]
        },
        "encode": "JSON"
    }
}
getPendingCBDCIssuance
Ursprünglicher Methodenname: getPendingIssuance
Diese Methode ruft alle ausstehenden Ausgabetransaktionen ab, bei denen der Anrufer als Genehmiger zugewiesen ist, einschließlich Details der Organisation und Benutzerkennungen der beteiligten Konten (Absender, Empfänger und Notar). Diese Methode kann nur von einem Token Admin oder Token Auditor des Chaincodes, einem Org Admin oder Org Auditor oder dem Notary aufgerufen werden.
/getPendingCBDCIssuance?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für einen Rückgabewert:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "asset_type": "ONHOLD",
              "category": "category value",
              "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "from_org_id": "CB",
              "from_user_id": "creator_user_cb",
              "holding_id": "ohold~cbdc~USD~8e314",
              "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "notary_org_id": "CB",
              "notary_user_id": "manager_user_cb",
              "operation_id": "8e314",
              "quantity": 10,
              "timetoexpiration": "0",
              "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
              "to_org_id": "FI1",
              "to_user_id": "officer_user1_fi1",
              "token_id": "USD",
              "token_name": "cbdc"
          },
          {
              "asset_type": "ONHOLD",
              "category": "category value",
              "from_account_id": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
              "from_org_id": "CB",
              "from_user_id": "issuer_user_cb",
              "holding_id": "ohold~cbdc~USD~8e315",
              "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "notary_org_id": "CB",
              "notary_user_id": "manager_user_cb",
              "operation_id": "8e315",
              "quantity": 10,
              "timetoexpiration": "0",
              "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
              "to_org_id": "FI1",
              "to_user_id": "officer_user1_fi1",
              "token_id": "USD",
              "token_name": "cbdc"
          }
      ],
      "encode": "JSON"
  }
}
getPendingCBDCRequest
Ursprünglicher Methodenname: getPendingRequest
Diese Methode ruft alle ausstehenden Anforderungen eines bestimmten Typs ab, bei denen der Aufrufer als Genehmiger zugewiesen ist. Diese Methode kann nur von einem Token Admin oder Token Auditor des Chaincodes oder Notary aufgerufen werden.
/getPendingCBDCRequest?tokenId={{bc-token-id}}&requestType=request_type value
Parameter:
  • tokenId: string: Die ID des Tokens.
  • requestType: string: Der Transaktionstyp. Beispiel: mint oder burn.
Beispiel für einen Rückgabewert:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "valueJson": {
                  "assetType": "ohold",
                  "holding_id": "ohold~cbdc~USD~op123",
                  "operation_id": "op123",
                  "token_id": "USD",
                  "token_name": "cbdc",
                  "operation_type": "mint",
                  "status": "pending",
                  "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "to_account_id": "",
                  "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
                  "quantity": 10,
                  "time_to_expiration": "0",
                  "category": "category value",
                  "description": "description value"
              }
          }
      ],
      "encode": "JSON"
  }
}
getTotalBalanceByCallerOrgId
Ursprünglicher Methodenname: getTotalBalanceByCallerOrgId
Diese Methode ruft den Gesamtsaldo der Organisation des Anrufers ab. Diese Methode kann nur von einem Token Admin, Token Auditor, Org Admin, Org Auditor oder einem beliebigen Accounteigentümer aufgerufen werden.
/getTotalCBDCBalanceByCallerOrgId
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für einen Rückgabewert:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "totalBalance": 704
          }
      ],
      "encode": "JSON"
  }
}
getTotalCreatedCBDCTokens
Ursprünglicher Methodenname: getTotalMintedTokens
Diese Methode gibt die Gesamtanzahl der geminteten Token für ein angegebenes Token zurück. Diese Methode kann nur von Token Admin, Token Auditor, Org Admin oder Org Auditor aufgerufen werden.
Abfrage:
/getTotalCreatedCBDCTokens?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Total minted token for Token Id: USD is 910 tokens.",
            "quantity": 910
        },
        "encode": "JSON"
    }
}
getTransactionWithBlockNumber
Ursprünglicher Methodenname: getTransactionWithBlockNumber
Diese GET-Methode gibt die Details der Transaktion für die angegebene Transaktions-ID zurück.
Abfrage:
/getTransactionWithBlockNumber?tokenId={{bc-token-id}}&transactionId=transaction_id value
Parameter:
  • tokenId: string: Die ID des Tokens.
  • transactionId: string: Die ID der Transaktion.
Beispiel für einen Rückgabewert:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "blockNo": 82,
              "key": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
              "metadata": null,
              "txnNo": 0,
              "value": null,
              "valueJson": {
                  "assetType": "otransaction",
                  "transaction_id": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
                  "token_id": "USD",
                  "from_account_id": "",
                  "from_account_balance": 0,
                  "from_account_onhold_balance": 0,
                  "to_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "to_account_balance": 100,
                  "to_account_onhold_balance": 0,
                  "transaction_type": "REQUEST_MINT",
                  "amount": 200,
                  "timestamp": "2024-11-20T06:48:42.000Z",
                  "number_of_sub_transactions": 0,
                  "holding_id": "",
                  "sub_transaction": "false",
                  "description": ""
              }
          }
      ],
      "encode": "JSON"
  }
}
getUserByCBDCAccountId
Ursprünglicher Methodenname: getUserByAccountId
Diese Methode gibt Benutzerdetails (orgId, userId und tokenId) für einen angegebenen Account zurück. Diese Methode kann nur von einem Token Admin oder Token Auditor des Chaincodes oder einem Org Admin oder Org Auditor der angegebenen Organisation aufgerufen werden.
Abfrage:
/getUserByCBDCAccountId?accountId=account_id value
Parameter:
  • accountId: string: Die ID des Accounts.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "token_id": "USD",
            "user_id": "admin_user_cb",
            "org_id": "CB"
        },
        "encode": "JSON"
    }
}
getUsersByRole
Ursprünglicher Methodenname: getUsersByRole
Diese GET-Methode gibt eine Liste aller Benutzer für eine angegebene Rolle und ein bestimmtes Token zurück. Diese Methode kann nur von einem Token Admin oder Token Auditor des Chaincodes aufgerufen werden.
Abfrage:
/getUsersByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary)
Parameter:
  • tokenId: string: Die ID des Tokens.
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "users": [
                {
                    "token_id": "USD",
                    "user_id": "creator_user_cb",
                    "org_id": "CB"
                },
                {
                    "token_id": "USD",
                    "user_id": "cb4",
                    "org_id": "CB"
                }
            ]
        },
        "encode": "JSON"
    }
}
holdCBDCTokens
Ursprünglicher Methodenname: holdTokens
Diese Methode erstellt eine Sperre im Namen des Eigentümers der Token mit dem Konto to_account_id. Es wird ein Notarkonto angegeben, das für den Abschluss oder die Freigabe der Sperre verantwortlich ist. 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. Für den Aufrufer dieser Methode muss bereits ein Account erstellt sein.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "toOrgId": "to_org_id value",
    "toUserId": "to_user_id value",
    "notaryOrgId": "notary_org_id value",
    "notaryUserId": "notary_user_id value",
    "quantity": 1,
    "timeToExpiration": "time_to_expiration value",
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "endorsers": {{endorsers}}
}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • operationId: string: Eine eindeutige ID zur Identifizierung des Sperrvorgangs. In der Regel wird diese ID von der Clientanwendung übergeben.
  • toOrgId: string: Die Mitgliedschaftsdienstleister-ID (MSP) des Empfängers in der aktuellen Organisation.
  • toUserId: string: Der Benutzername oder die E-Mail-ID des Empfängers.
  • notaryOrgId: string – Die Mitgliedschaftsdienstleister-ID (MSP) des Notars in der aktuellen Organisation.
  • notaryUserId: string: Der Benutzername oder die E-Mail-ID des Notars.
  • quantity: number: Die Anzahl der Token, die gesperrt werden sollen.
  • timeToExpiration: Die Zeit, zu der die Sperre abläuft. Geben Sie 0 für eine permanente Sperre an. Andernfalls verwenden Sie das RFC-3339-Format. Beispiel: 2021-06-02T12:46:06Z
  • infoDetails: JSON: Die Beschreibung und Kategorie, wie im folgenden Beispiel dargestellt.
    {
       "category" : "category input",
       "description" : "description input"
    }
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e575d339299bb98afe83207e749cd07654f209673c84c6973738b6094da33062",
        "payload": {
            "msg": "AccountId oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB , User-Id: issuer_user_cb) is successfully holding 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 211
    }
}
init
Ursprünglicher Methodenname: init
Diese Methode wird aufgerufen, wenn der Chaincode bereitgestellt wird. Die Benutzerinformationen werden als Token Admin des Chaincodes gespeichert.
Payload:
{
    "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]"
}
Parameter:
  • adminList array: Ein Array mit {user_id, org_id}-Informationen, das die Liste der Tokenadministratoren angibt. Das Array adminList ist ein obligatorischer Parameter.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807",
        "payload": "",
        "encode": "UTF-8",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 263
    }
}
initializeCBDCToken
Ursprünglicher Methodenname: initializeCBDCToken
Diese Methode erstellt ein Token und initialisiert die Tokeneigenschaften. Das Asset und seine Eigenschaften werden in der Statusdatenbank gespeichert. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Payload:
{
    "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc value\",\"Currency_Name\":\"Currency_Name value\"}",
    "sameOrgEndorser": true
}
Parameter:
  • tokenAsset: <Token Class>: Das Tokenasset wird als Parameter an diese Methode übergeben. Die Eigenschaften des Tokenassets werden in der Modelldatei beschrieben.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des erstellten Tokenassets.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "aa7a4f4cc214e1a041a5a6fb7ca7530f08256559e538c9f9582e6fd12c9e65c8",
        "payload": {
            "assetType": "otoken",
            "events": false,
            "token_id": "t1",
            "token_name": "cbdc",
            "token_desc": "token_desc value",
            "token_standard": "ttf+",
            "token_type": "fungible",
            "token_unit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "holdable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner",
                "notary_role_name": "notary",
                "mint_approver_role_name": "notary",
                "burn_approver_role_name": "notary"
            },
            "mintable": {
                "max_mint_quantity": 1000,
                "mint_approval_required": true
            },
            "burnable": {
                "burn_approval_required": true
            },
            "divisible": {
                "decimal": 2
            },
            "currency_name": "currency_name value",
            "token_to_currency_ratio": 999
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 267
    }
}
rejectCBDCCreation
Ursprünglicher Methodenname: rejectMint
Diese Methode kann von einem Minternotar aufgerufen werden, um eine Prägeanforderung abzulehnen.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parameter:
  • tokenId: string: Die ID des Tokens, das das Minting ablehnt.
  • operationId: string: Die eindeutige Vorgangs-ID, die für die Minzanforderung steht.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
        "payload": {
            "msg": "Successfully rejected mint request with Operation Id 'op1234' to mint 10 tokens of token id USD"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 205
    }
}
rejectCBDCRetirement
Ursprünglicher Methodenname: rejectBurn
Diese Methode kann von einem Notar aufgerufen werden, um eine Brennanforderung abzulehnen.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parameter:
  • tokenId: string: Die ID des Tokens, das für das Brennen abgelehnt werden soll.
  • operationId: string: Die eindeutige Vorgangs-ID, die für die Burn-Anforderung steht.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "474a08183986c84fe321aa925670539db3b1bc90b02fa65956ad8c771fff5bbe",
        "payload": {
            "msg": "Successfully rejected burn request with Operation Id 'burn1234' to burn 10 tokens of token id USD"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 210
    }
}
rejectHoldCBDCTokens
Ursprünglicher Methodenname: releaseHoldTokens
Diese POST-Methode gibt eine Tokensperre frei. Die Übertragung ist nicht abgeschlossen, und alle gespeicherten Token stehen dem ursprünglichen Eigentümer wieder zur Verfügung. Diese Methode kann von der AccountOwner-ID mit der Rolle notary innerhalb der angegebenen Frist oder vom Zahler, Zahlungsempfänger oder Notar nach der angegebenen Frist aufgerufen werden.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "endorsers": {{endorsers}}
}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • operationId: string: Eine eindeutige ID zur Identifizierung des Sperrvorgangs. In der Regel wird diese ID von der Clientanwendung übergeben.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "f04ba8895d52bc636d843f88476002bc99d01480c36be87c8fa259cd47a29380",
        "payload": {
            "msg": "Successfully released '10' tokens from Operation Id '8e3144' to Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb)."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 214
    }
}
removeCBAdmin
Ursprünglicher Methodenname: removeTokenAdmin
Diese POST-Methode entfernt einen Benutzer als Token Admin des Chaincodes. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden. Ein Administrator kann sich nicht selbst entfernen.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "6a3b9b568d04b5beb29830f91efe4e8c6310b6cf36940cecfb4ab690fbfde739",
        "payload": {
            "msg": "Successfully removed Token Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 218
    }
}
removeCBAuditor
Ursprünglicher Methodenname: removeTokenAuditor
Diese POST-Methode entfernt einen Benutzer als Token Auditor des Chaincodes. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "a886a6040fbc76374a3c78c89ab0ffc9f7b8391cc5239b169bf3b878cf40c67b",
        "payload": {
            "msg": "Successfully removed Token Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 219
    }
}
removeFIAdmin
Ursprünglicher Methodenname: removeOrgAdmin
Diese POST-Methode entfernt einen Benutzer als Org Admin des Chaincodes. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e2a634f6093f89b1984e20ff86a513fabb7c3ade7cc9e27d9734b4aaf6c88597",
        "payload": {
            "msg": "Successfully removed Org Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 220
    }
}
removeFIAuditor
Ursprünglicher Methodenname: removeOrgAuditor
Diese POST-Methode entfernt einen Benutzer als Org Auditor des Chaincodes. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "c3bc720461004a53b37c68d4bb264858b88d980bc093a0a3ebb62a32974fb306",
        "payload": {
            "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 221
    }
}
removeRole
Ursprünglicher Methodenname: removeRole
Diese Methode entfernt eine Rolle aus einem angegebenen Benutzer und Token. Diese Methode kann nur von einem Token Admin des Chaincodes oder von einem Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "role": "role value (for example minter / burner / notary)",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • role: string: Der Name der Rolle, die vom angegebenen Benutzer entfernt werden soll. Die Verhaltensweisen mintable und burnable entsprechen den Eigenschaften minter_role_name und burner_role_name der Spezifikationsdatei. Ebenso entspricht die Rolle notary der Eigenschaft notary_role_name der Spezifikationsdatei.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Rückgabewert:
  • Bei Erfolg eine Nachricht mit Accountdetails.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "274f0d0a2c4c3929817fb85b2e857519695c3c238ccf9903b084b87e9be7ee12",
        "payload": {
            "msg": "Successfully removed role 'notary' from Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 200
    }
}
requestCBDCCreation
Ursprünglicher Methodenname: requestMint
Diese Methode kann von einem Minter aufgerufen werden, um eine Anforderung an den Minternotar zu senden, um eine bestimmte Anzahl von Token zu erstellen.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "notaryOrgId": "notary_org_id value",
    "notaryUserId": "notary_user_id value",
    "quantity": 1,
    "timeToExpiration": "time_to_expiration value",
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "sameOrgEndorser": true
}
Parameter:
  • tokenId: string: Die ID des zu prägenden Tokens.
  • operationId: string: Die eindeutige Vorgangs-ID, die für die Minzanforderung steht.
  • notaryOrgId: string - Die Mitgliedschaftsdienstleister-ID (MSP) des Notars, der die Anforderung verarbeitet.
  • notaryUserId: string: Der Benutzername oder die E-Mail-ID des Notars, der die Anforderung verarbeitet.
  • quantity: number: Die Anzahl der Token für die Minze.
  • timeToExpiration: Die Zeit, nach der die Prägeanforderung abläuft und nicht mehr gültig ist.
  • infoDetails: JSON: Ein Objekt, das die Kategorie (category) und Beschreibung (description) der Anforderung angibt, wie im folgenden Beispiel dargestellt.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
        "payload": {
            "msg": "AccountId oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB , User-Id: creator_user_cb) has successfully submitted request to mint 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 202
    }
}
requestCBDCRetirement
Ursprünglicher Methodenname: requestBurn
Diese Methode kann von einem Brenner aufgerufen werden, um eine Anforderung an den Notar zu senden, um eine bestimmte Anzahl von Token zu zerstören.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "notaryOrgId": "notary_org_id value",
    "notaryUserId": "notary_user_id value",
    "quantity": 1,
    "timeToExpiration": "time_to_expiration value",
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "sameOrgEndorser": true
}
Parameter:
  • tokenId: string: Die ID des zu brennenden Tokens.
  • operationId: string: Die eindeutige Vorgangs-ID, die für die Burn-Anforderung steht.
  • notaryOrgId: string - Die Mitgliedschaftsdienstleister-ID (MSP) des Brennernotars, der die Anforderung verarbeitet.
  • notaryUserId: string: Der Benutzername oder die E-Mail-ID des Brennernotars, der die Anforderung verarbeitet.
  • quantity: number: Die Anzahl der zu brennenden Token.
  • timeToExpiration: Die Zeit, nach der die Brennanforderung abläuft und nicht mehr gültig ist.
  • infoDetails: JSON: Ein Objekt, das die Kategorie (category) und Beschreibung (description) der Anforderung angibt, wie im folgenden Beispiel dargestellt.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "0adb57ca9776c8760468c40465e0f0d37472f0b4b32fd02561ef28b3f7b28cf1",
        "payload": {
            "msg": "AccountId oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB , User-Id: retirer_user_cb) has successfully submitted request to burn 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 206
    }
}
setApplicationGroups
Ursprünglicher Methodenname: setApplicationGroups
Mit dieser POST-Methode wird der Parameter application_groups in den Accountdetails für die angegebenen Anwendungsgruppen festgelegt. Diese Methode kann nur von einem Token Admin des Chaincodes oder von einem Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "applicationGroups": "[\"application_groups value\"]",
    "endorsers": {{endorsers}}
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • tokenId: string: Die ID des Tokens.
  • applicationGroups: string[]: Eine Liste der Anwendungsgruppen, zu denen die Benutzer-ID gehört, wobei die Zuordnungen des Benutzers in der CBDC-Anwendung definiert werden.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Rückgabewert:
  • Bei Erfolg eine Erfolgsmeldung mit der Anzahl der verbrannten Token und der Konto-ID.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}
setMaxDailyAmount
Ursprünglicher Methodenname: setMaxDailyAmount
Mit dieser POST-Methode wird der Parameter maxDailyAmount in den Kontodetails für den angegebenen Betrag festgelegt. Diese Methode kann nur von einem Token Admin des Chaincodes oder von einem Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "maxDailyAmount": 1,
    "endorsers": {{endorsers}}
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • tokenId: string: Die ID des Tokens.
  • maxDailyAmount: number: Der maximale Tagesbetrag für das angegebene Konto, der den maximalen Betrag definiert, der täglich ausgeführt werden kann.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "28682e0564e4721b6c1a8ec106f8c5c98319e9439959dbb9f83d8e6f111d9975",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 1000,
            "daily_transactions": 0,
            "current_date": "2024-11-20T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 222
    }
}
setMaxDailyTransactionCount
Ursprünglicher Methodenname: setMaxDailyTransactionCount
Mit dieser POST-Methode wird der Parameter maxDailyTransactions in den Kontodetails für den angegebenen Betrag festgelegt. Diese Methode kann nur von einem Token Admin des Chaincodes oder von einem Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "maxDailyTransactions": 1,
    "endorsers": {{endorsers}}
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • tokenId: string: Die ID des Tokens.
  • maxDailyTransactions: number: Der maximale Tagesbetrag für das angegebene Konto, der die maximal zulässige Anzahl von Transaktionen pro Tag definiert.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "8b6fb01de697562ee098110054f05d4a314933bd11ef471991cb43e25b68bad9",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 1000,
            "daily_transactions": 0,
            "current_date": "2024-11-20T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 223
    }
}
suspendCBDCAccount
Ursprünglicher Methodenname: suspendAccount
Diese Methode setzt ein fungibles Token-Konto aus. Es löst einen Fehler aus, wenn kein accountStatus-Wert im Buch gefunden wird. Diese Methode kann nur von einem Token Admin des Chaincodes oder von einem Org Admin der angegebenen Organisation aufgerufen werden.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294",
        "payload": {
            "assetType": "oaccountStatus",
            "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae",
            "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
            "status": "suspended"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 195
    }
}
transferCBDCTokens
Ursprünglicher Methodenname: transferTokens
Diese Methode überträgt Token vom Aufrufer auf ein angegebenes Konto. Der Aufrufer der Methode muss einen Account haben. Die Menge muss innerhalb der Dezimalwerte liegen, die durch den Parameter decimal des Verhaltens divisible in der Spezifikationsdatei angegeben werden.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "toOrgId": "to_org_id value",
    "toUserId": "to_user_id value",
    "quantity": 1,
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "endorsers": {{endorsers}}
}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • toOrgId: string – Die Mitgliedschaftsdienstleister-ID (MSP) des Empfängers (Zahlungsempfängers) in der aktuellen Organisation.
  • toUserId: string: Der Benutzername oder die E-Mail-ID des Empfängers.
  • quantity: number: Die Anzahl der zu übertragenden Token.
  • infoDetails: JSON: Ein Objekt, das die Kategorie (category) und Beschreibung (description) der Anforderung angibt, wie im folgenden Beispiel dargestellt.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "d613b2494b965811b2fa2106152b7085f2d6d7d43e949b10b8668722d3636fe7",
        "payload": {
            "msg": "Successfully transferred 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb) to account id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb). Only 999 number of transactions and 1990 amount transfer left for today: 12/11/2024"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 224
    }
}

Das Wrapper-API-Package enthält auch die createCBDCAccount-API, die Chaincode-APIs und Oracle Blockchain Platform-Konsolen-APIs für die Accounterstellung in einem einzigen Endpunkt kombiniert.

createCBDCAccount
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "applicationGroups": "[\"applicationGroups value\"]",
    "tokenId": "{{bc-token-id}}",
    "role": "role value (for example minter / burner / notary / tokenAdmin / tokenAuditor / orgAdmin / orgAuditor)",
    "dailyLimits": "{\"max_daily_amount\":1000, \"max_daily_transactions\":100}"
}
Payload-Parameter:
  • orgId - Die Mitgliedschaftsserviceprovider-(MSP-)ID des Benutzers, für den das Konto erstellt wird. Die ID muss mit einem alphanumerischen Zeichen beginnen und kann Buchstaben, Zahlen und Sonderzeichen wie Unterstriche (_), Punkte (.), At-Zeichen (@) und Bindestriche (-) enthalten.
  • userId: 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.
  • applicationGroups: Die Anwendungsgruppen, zu denen der Account gehört. Beispiel: CBDC_ADMINS.
  • tokenId: Die ID des Tokens, das dem Account zugeordnet ist. Die ID muss mit einem alphanumerischen Zeichen beginnen und kann Buchstaben, Zahlen und die Sonderzeichen Unterstrich (_) und Bindestrich (-) enthalten. Er darf nicht länger als 16 Zeichen sein.
  • role: Die Rolle muss einen der folgenden Werte aufweisen: minter, burner, notary, tokenAdmin, tokenAuditor, orgAdmin oder orgAuditor.
  • dailyLimits: Zwei numerische Felder zur Definition der täglichen Transaktionslimits: max_daily_amount und max_daily_transactions.
Beispiel für einen Rückgabewert:
"payload": {
 "msg": "Account created successfully and 'minter' role added to Account Id: oaccount~4a86f2843c2b0105c97a77202bd9aba519c81dcef27eccc1d89125ae32770700 (Org-Id: CB, User-Id: creator_user_cb)"
 "accountDetails":
      {           
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~ce5c56d2068ce31b82136c8eea110a80b9251595d361db70924c4e989032a1be",
            "user_id": "creator_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_CREATORS"
            ],
            "max_daily_amount": 1000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-10-06T00:00:00.000Z"
     }
 }

Die createCBDCAccount-API führt die folgenden Vorgänge nacheinander aus.

  1. Erstellt eine Registrierungs-ID für den Benutzer in Oracle Blockchain Platform. Die erstellte Anmeldungs-ID entspricht der Benutzerkennung mit einigen Einschränkungen. Die ID darf nur alphanumerische Zeichen, Bindestriche (-) und Unterstriche (_) enthalten. Wenn die Benutzer-ID weitere Sonderzeichen enthält, werden sie durch Unterstriche (_) ersetzt. Beispiel: Wenn die Benutzer-ID adam.fripp@example.com lautet, wird die Registrierungs-ID adam_fripp_example_com erstellt. Wenn die Anmeldung für die angegebene Benutzerkennung bereits vorhanden ist, wird keine weitere Anmeldung erstellt.
  2. Erstellt ein Konto im Buch mit den in der Payload angegebenen Details.
  3. Ordnet den neuen Account dem in der Payload angegebenen Token zu.
  4. Weist dem Benutzer die in der Payload angegebene Rolle zu.

Um Konsistenz zu gewährleisten und unvollständige Daten zu vermeiden, wird die im ersten Schritt erstellte Anmeldungs-ID gelöscht, wenn einer der nachfolgenden Schritte nicht erfolgreich verläuft.