Kombiniertes Token Framework - Wrapper-API-Package

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 einen sammelbaren NFT-Marktplatz spezifisch sind.

Das Wrapper-API-Package verwendet den API-Gateway-Service und OCI Functions, um API-Routen bereitzustellen, die speziell für die Collectible Marketplace-Anwendung entwickelt wurden. Das Wrapper-API-Package für nicht fungible Token Frameworks kann von der Oracle Blockchain Platform-Konsole heruntergeladen werden und umfasst die folgenden Komponenten.
  • NFTCollectiblesWithERC1155WrapperAPI.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 Oracle Cloud Infrastructure (OCI) bereit, um die erforderlichen Oracle-Ressourcen für die Wrapper-APIs zu erstellen.
  • NFTCollectiblesWithERC1155_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

activateAccount
Ursprünglicher Methodenname: activateAccount
Diese POST-Methode aktiviert ein Token-Konto. Diese Methode kann nur von einem Administrator oder Kontoinhaber aufgerufen werden. Bei vorhandenen Konten, bei denen kein accountStatus im Buch gefunden wird, gibt die Methode ein accountStatus-Objekt zurück, bei dem der Status auf active gesetzt ist.
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 aktualisierten Accountstatusobjekts für das fungible Token-Konto.
Beispiel für Rückgabewerte:
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "active"
}
addTokenAdmin
Ursprünglicher Methodenname: addTokenAdmin
Diese POST-Methode fügt einen Benutzer als Token Admin des Chaincodes hinzu. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "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.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Rückgabewert:
  • Bei erfolgreicher Ausführung eine Meldung mit Details des Benutzers, der als Token Admin des Chaincodes hinzugefügt wurde.
Beispiel für Rückgabewerte:
{
  "msg": "Successfully added Admin (OrgId: appDev, UserId: user1)"
}
addRole
Ursprünglicher Methodenname: addRole
Diese POST-Methode fügt die Rolle dem angegebenen Benutzer und Token hinzu. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden. Für den Parameter tokenDetails "Fungible Token" ist der Wert tokenId als Eingabe erforderlich. Nicht fungible Token erfordern tokenName als Eingabe, um zu erreichen, dass wir den Parameter tokenDetail verwenden, um Details von fungiblen und nicht fungiblen Token unterschiedlich anzugeben.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "role": "role minter/burner"
    "tokenDetails": "{"tokenName": "token name value"}"
    "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.
  • role: string: Der Name der Rolle, die dem angegebenen Benutzer hinzugefügt werden soll.
  • tokenDetails: TokenDetail: Die Details, die das Token angeben. Verwenden Sie für fungible Token das folgende Format:
    {"tokenId":"token1"}
    Verwenden Sie für nicht fungible Token das folgende Format:
    {"tokenName":"artCollection"}
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für Rückgabewerte:
{
  "msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a 
(Org-Id: appdev, User-Id: user2)"
}
associateFungibleTokenToAccount
Ursprünglicher Methodenname: associateFungibleTokenToAccount
Diese POST-Methode verknüpft das fungible Token-Konto eines Benutzers mit einem angegebenen Token.
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 Rückgabewerte:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 1,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
      "tokenId": "tokenOne"
    }
  ],
  "associatedNftAccount": ""
}
buyWithEthCoin
Ursprünglicher Methodenname: buyWithEthCoin
Jeder Kontoinhaber kann diese POST-Methode verwenden, um einen NFT mit Ethereum zu kaufen und Treue-Token als Prämienpunkte zu übertragen.
Payload:
{
   "fromOrgId":"from_org_id value",
   "fromUserId":"from_user_id value",
   "toOrgId":"to_org_id value",
   "toUserId":"to_user_id value",
   "nftId":"[\"nft_id value\"]",
   "loyaltyId":"[\"loyalty_id value\"]",
   "ethQty":"[eth_qty value]",
   "loyaltyRewardQuantity":"[loyalty_reward_quantity value]",
   "endorsers":{{"endorsers"}}
}
Parameter:
  • fromOrgId: string - Die Mitgliedschaftsdienstleister-ID (MSP) des Absenders (Eigentümers) in der aktuellen Organisation.
  • fromUserId: string: Der Benutzername oder die E-Mail-ID des Absenders (Eigentümer).
  • 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.
  • nftId: string: Die ID des zu kaufenden Tokens.
  • loyaltyId: string: Die ID des fungiblen Tokens, das Treuepunkte darstellt.
  • ethQty: number – Der Preis des Tokens in Ethereum.
  • loyaltyRewardQuantity: string - Die Anzahl der zu transferierenden Treuepunkte.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für Rückgabewerte:
{
  "msg": "Token ID : 'artcollection1' has been successfully transferred to UserID : 'user1'"
}
balanceOfBatch
Ursprünglicher Methodenname: balanceOfBatch
Diese GET-Methode schließt einen Batchvorgang ab, der die Salden von Tokenkonten abruft. Diese Methode kann nur von einem Token Admin des Chaincodes oder vom Accounteigentümer aufgerufen werden.
Abfrage:
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
Parameter:
  • orgIds: string[]: Eine Liste der Mitgliedschaftsserviceprovider-(MSP-)IDs in der aktuellen Organisation.
  • userIds: string[]: Eine Liste der Benutzernamen oder E-Mail-IDs.
  • tokenIds: string[]: Eine Liste der Token-IDs.
Beispiel für Rückgabewerte:
[
    {
        "orgId": "AppBldFFFFMay22",
        "userId": "user2",
        "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "tokenAccountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "tokenId": "FNFT",
        "balance": 100
    },
    {
        "orgId": "AppBldFFFFMay22",
        "userId": "user2",
        "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "tokenAccountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
        "tokenId": "FT",
        "balance": 50
    },
    {
        "orgId": "AppBldFFFFMay22",
        "userId": "example_minter",
        "userAccountId": "ouaccount~9501bb774c156eb8354dfe489250ea91f757523d70f08ee494bda98bb352003b",
        "tokenAccountId": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "tokenId": "FNFT",
        "balance": 10
    }
]
batchTransferFrom
Ursprünglicher Methodenname: batchTransferFrom
Diese POST-Methode schließt einen Batchvorgang ab, bei dem Token, die in einer Liste mit Token-IDs angegeben sind, von einem Benutzer an einen anderen Benutzer übertragen werden. Diese Methode kann von jedem Benutzer aufgerufen werden.
Payload:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
Parameter:
  • fromOrgId: string – Die Mitgliedsdienstleister-ID (MSP) des Absenders.
  • fromUserId: string: Die Benutzer-ID des Absenders.
  • toOrgId: string – Die Mitgliedschaftsdienstleister-ID (MSP) des Empfängers.
  • toUserId: string: Die Benutzer-ID des Empfängers.
  • tokenIds: string[]: Eine Liste der Token-IDs für die zu übertragenden Token.
  • quantity: number[]: Die Liste der zu übertragenden Tokenmengen entsprechend dem Token-ID-Array.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Rückgabewert:
  • Bei erfolgreicher Ausführung wird eine Nachricht mit Details für jede Tokentransfer angezeigt.
Beispiel für Rückgabewerte:
[
    {
        "msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_minter)"
    },
    {
        "msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: AppBldFFFFMay22, User-Id: example_minter)"
    },
    {
        "msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_minter)"
    }
]
burnBatch
Ursprünglicher Methodenname: burnBatch
Diese POST-Methode deaktiviert oder verbrennt die angegebenen fungiblen und nicht fungiblen Token. Jeder Benutzer mit der Brennerrolle kann diese Methode aufrufen.
Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
Parameter:
  • orgId: string – Die Mitgliedschaftsdienstleister-ID (MSP) in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID.
  • tokenIds: string[]: Die Liste der zu brennenden Token-IDs
  • quantity: number[] - Die Liste der zu brennenden Tokenmengen, die dem Token-ID-Array entsprechen.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Rückgabewert:
  • Bei Erfolg eine Meldung mit Details zu den Burn-Vorgängen.
Beispiel für Rückgabewerte:
[
  {
    "msg": "Successfully burned NFT token: 'art' from Account-Id: oaccount~76cb672eeb1bd535899562a840d0c15a356db89e24bc8b43ac1dba845a4282c6 (Org-Id: appdev, User-Id: user2)"
  },
  {
    "msg": "Successfully burned 5 tokens of tokenId: tokenOne from Account-ID oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: user2)"
  },
  {
    "msg": "Successfully burned 2 token share of tokenId: FNFT from Account-ID oaccount~87bcb699d507368ee3966cd03ee6d7736ffc55dde8c0f0e16b14866334ac504a (Org-Id: AutoF1377358917, User-Id: user2)"
  }
]
burnNFT
Ursprünglicher Methodenname: burnNFT
Diese POST-Methode deaktiviert oder verbrennt das angegebene nicht fungible Token und gibt ein Tokenobjekt und eine Tokenhistorie zurück. Jeder Benutzer mit der Brennerrolle kann diese Methode aufrufen.
Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenId": "{{bc-token-id}}",
 "sameOrgEndorser": true
}
Parameter:
  • orgId: string – Die Mitgliedschaftsdienstleister-ID (MSP) in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID.
  • tokenId: string - Die ID des nicht fungiblen Tokens zum Verbrennen
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Rückgabewert:
  • Bei Erfolg ein JSON-Array, das eine Meldung über den Burn-Vorgang enthält.
Beispiel für Rückgabewerte:
{
    "msg": "Successfully burned NFT token: 'art' from Account-Id: oaccount~76cb672eeb1bd535899562a840d0c15a356db89e24bc8b43ac1dba845a4282c6 (Org-Id: appdev, User-Id: user2)"
  }
createAccount
Ursprünglicher Methodenname: createAccount
Diese POST-Methode erstellt ein Konto für einen angegebenen Benutzer und zugehörige Tokenkonten für fungible oder nicht fungible Token. Ein Konto muss für jeden Benutzer erstellt werden, der zu einem beliebigen Zeitpunkt Token hat. Das Benutzerkonto verfolgt das NFT-Konto und die fungiblen Token-Konten, die ein Benutzer besitzt. Benutzer müssen über Konten im Netzwerk verfügen, um tokenbezogene Vorgänge abzuschließen. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.

Ein Benutzerkonto hat eine eindeutige ID, die durch einen SHA-256-Hash des Parameters orgId und des Parameters userId gebildet wird.

Ein Benutzer kann mehrere fungible Token-Konten mit eindeutigen Konto-IDs haben. Fungible Token-Konto-IDs werden durch einen SHA-256-Hash des Parameters orgId, den Parameter userId, die durch das Tilde-Symbol (~) getrennte konstante Zeichenfolge ft und eine Zählernummer gebildet, die den Index des fungiblen Kontos angibt, das durch das Tilde-Symbol (~) getrennt erstellt wird.

Ein Benutzer kann nur einen nicht fungiblen Tokenaccount haben. Konto-IDs für nicht fungible Token sind eindeutig und werden durch einen SHA-256-Hash des Parameters orgId, den Parameter userId und die durch das Tilde-Symbol (~) getrennte konstante Zeichenfolge nft gebildet. Alle nicht fungiblen Token, für die ein Benutzer verantwortlich ist, ob ganz oder teilweise, sind mit diesem Konto verknüpft.

Benutzeraccount-IDs beginnen mit ouaccount~. Tokenaccount-IDs beginnen mit oaccount~.

Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "ftAccount": true,
 "nftAccount": true,
 "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.
  • ftAccount: boolean: Bei "true" wird ein fungibler Tokenaccount erstellt und mit dem Benutzeraccount verknüpft.
  • nftAccount: boolean: Bei "true" wird ein nicht fungibler Tokenaccount erstellt und mit dem Benutzeraccount verknüpft.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für Rückgabewerte:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~cf20877546f52687f387e7c91d88b9722c97e1a456cc0484f40c747f7804feae",
  "userId": "user1",
  "orgId": "appdev",
  "totalAccounts": 2,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": "oaccount~73c3e835dac6d0a56ca9d8def08269f83cefd59b9d297fe2cdc5a9083828fa58"
}
createArtCollectionToken
Ursprünglicher Methodenname: createArtCollectionToken
Diese POST-Methode erstellt (mindert) einen NFT. Das Asset und die zugehörigen Eigenschaften werden in der Statusdatenbank gespeichert. Der Aufrufer dieser Transaktion muss ein Token-Konto haben. Der Anrufer dieser Transaktion wird Eigentümer der NFT. Wenn die Tokenspezifikationsdatei den Abschnitt roles für behaviors und die Eigenschaft minter_role_name für roles enthält, muss der Aufrufer der Transaktion die Minter-Rolle haben. Ansonsten kann jeder Anrufer NFTs prägen.
Payload:
{
 "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"tokenMetadata\":{\"Painting_Name\":\"Painting_Name value\",\"Description\":\"Description value\",\"Painter_Name\":\"Painter_Name value\"},\"Price\":999,\"On_Sale_Flag\":true}",
 "quantity": 1,
 "sameOrgEndorser": true
}
Parameter:
  • tokenAsset: <Token Class>: Das Tokenasset für die Minze. Weitere Informationen zu den Eigenschaften des Tokenassets finden Sie in der Eingabespezifikationsdatei.
  • quantity: number: Die Anzahl der zu prägenden Token. Der einzige unterstützte Wert für diesen Parameter ist 1.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für Rückgabewerte:
{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "created"
}
createLoyaltyToken
Ursprünglicher Methodenname: createLoyaltyToken
Diese POST-Methode erstellt Token. Jedes definierte Token verfügt über eine eigene Erstellungsmethode. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Payload:
{
 "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"Token_Name\":\"Token_Name value\",\"Token_to_Currency_Ratio\":999}",
 "sameOrgEndorser": true
}
Parameter:
  • tokenAsset: <Token Class>: Das Tokenasset. Die Eigenschaften des Assets werden in der Modelldatei definiert.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für Rückgabewerte:
{
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "loyalty",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "fungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "created"
}
createTokenAccount
Ursprünglicher Methodenname: createTokenAccount
Diese POST-Methode erstellt ein fungibles oder nicht fungibles Token-Konto, das einem Benutzerkonto zugeordnet werden kann.

Ein Benutzer kann mehrere fungible Token-Konten mit eindeutigen Konto-IDs haben. Fungible Token-Konto-IDs werden durch einen SHA-256-Hash des Parameters orgId, den Parameter userId, die durch das Tilde-Symbol (~) getrennte konstante Zeichenfolge ft und eine Zählernummer gebildet, die den Index des fungiblen Kontos angibt, das durch das Tilde-Symbol (~) getrennt erstellt wird.

Ein Benutzer kann nur einen nicht fungiblen Tokenaccount haben. Konto-IDs für nicht fungible Token sind eindeutig und werden durch einen SHA-256-Hash des Parameters orgId, den Parameter userId und die durch das Tilde-Symbol (~) getrennte konstante Zeichenfolge nft gebildet. Alle nicht fungiblen Token, für die ein Benutzer verantwortlich ist, ob ganz oder teilweise, sind mit diesem Konto verknüpft.

Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.

Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenType": "nonfungible",
 "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.
  • tokenType: TokenType: Der Typ des zu erstellenden Tokenaccounts. Die einzigen unterstützten Tokentypen sind nonfungible und fungible.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt des erstellten Tokenaccounts.
Beispiel für Rückgabewerte:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 1,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a"
}
createUserAccount
Ursprünglicher Methodenname: createUserAccount
Diese POST-Methode erstellt ein Konto für einen angegebenen Benutzer. Ein Konto muss für jeden Benutzer erstellt werden, der zu einem beliebigen Zeitpunkt Token hat. Das Benutzerkonto verfolgt das NFT-Konto und die fungiblen Token-Konten, die ein Benutzer hat. Benutzer müssen über Konten im Netzwerk verfügen, um tokenbezogene Vorgänge abzuschließen.

Eine Konto-ID ist ein SHA-256-Hash des Parameters orgId und des Parameters userId. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.

Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "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.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt des erstellten Benutzerkontos.
Beispiel für Rückgabewerte:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 0,
  "totalFtAccounts": 0,
  "associatedFtAccounts": [],
  "associatedNftAccount": ""
}
deleteAccount
Ursprünglicher Methodenname: deleteAccount
Diese POST-Methode löscht ein Tokenkonto. Nachdem ein Konto gelöscht wurde, befindet sich das Konto in einem endgültigen Status und kann nicht mehr aktualisiert oder in einen anderen Status geändert werden. Um ein Konto zu löschen, muss der Kontensaldo Null sein. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "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.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Tokenaccountstatus.
Beispiel für Rückgabewerte:
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "deleted"
}
exchangeToken
Ursprünglicher Methodenname: exchangeToken
Diese Methode tauscht Token zwischen angegebenen Konten aus. Diese Methode unterstützt nur den Austausch zwischen einem NFT und einem fungiblen Token oder einem fungiblen Token und einem NFT. Die NFT kann ganz oder teilweise sein. Diese Methode kann nur vom Kontoinhaber aufgerufen werden.
Payload:
{
 "fromTokenId": "fromTokenId value",
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "fromTokenQuantity": 1,
 "toTokenId": "toTokenId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "toTokenQuantity": 1,
 "endorsers": {{endorsers}}
}
Parameter:
  • fromTokenId: string: Die ID des Tokens, dessen Eigentümer der Absender ist.
  • fromOrgId: string - Die Mitgliedschaftsdienstleister-ID (MSP) des Absenders in der aktuellen Organisation.
  • fromUserId: string: Der Benutzername oder die E-Mail-ID des Absenders.
  • fromTokenQuantity: number - Die Anzahl der Token vom Absender, die mit dem Empfänger ausgetauscht werden sollen.
  • toTokenId: string: Die ID des Tokens, dessen Eigentümer der Empfänger ist.
  • 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.
  • toTokenQuantity: number - Die Anzahl der Token vom Empfänger, die mit dem Absender ausgetauscht werden sollen.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Rückgabewert:
  • Bei Erfolg eine Nachricht mit Details zum Tokenaustausch.
Beispiel für Rückgabewerte:
{
    "msg": "Succesfully exchanged 10 tokens of type nonfungible with tokenId: [r1] from Account oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (OrgId: AppBldFFFFMay22, UserId: user2) to 10 tokens of type fungible with tokenId: [loy1] from Account oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (OrgId: AppBldFFFFMay22, UserId: example_minter)"
}
getAccount
Ursprünglicher Methodenname: getAccount
Diese GET-Methode gibt Tokenaccountdetails für einen angegebenen Benutzer zurück. Diese Methode kann nur von einem Token Admin des Chaincodes oder dem Account Owner des Accounts aufgerufen werden.
Abfrage:
/getAccount?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.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt, das Tokenaccountdetails enthält.
Beispiel für Rückgabewert
{
    "assetType": "oaccount",
    "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
    "userId": "user2",
    "orgId": "AppBldFFFFMay22",
    "tokenType": "nonfungible",
    "noOfNfts": 3
}
getAccountDetailsByUser
Ursprünglicher Methodenname: getAccountDetailsByUser
Diese GET-Methode gibt Kontodetails für einen angegebenen Benutzer zurück. Diese Methode kann nur von einem Token Admin des Chaincodes oder dem Account Owner des Accounts aufgerufen werden.
Abfrage:
/getAccountDetailsByUser?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 Rückgabewerte:
{
    "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
    "associatedFTAccounts": [
        {
            "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
            "tokenId": "FT",
            "balance": 50
        }
    ],
    "associatedNFTAccount": {
        "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "associatedNFTs": [
            {
                "nftTokenId": "FNFT",
                "tokenShare": 100
            },
            {
                "nftTokenId": "FNFT2",
                "tokenShare": 110
            },
            {
                "nftTokenId": "NFT"
            }
        ]
    }
}
getAccountHistory
Ursprünglicher Methodenname: getAccountHistory
Diese GET-Methode gibt die Kontohistorie für ein angegebenes Tokenkonto zurück. Bei NFT-Konten muss der Parameter tokenId leer sein. Diese Methode kann nur vom Token Admin des Chaincodes oder vom Accounteigentümer aufgerufen werden.
Abfrage:
/getAccountHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}&tokenId={{bc-token-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.
  • tokenId: string: Die ID des fungiblen Tokens.
Beispiel für Rückgabewerte:
[
    {
        "trxId": "a2cfc6fc064334d6b9931cdf67193711ec2ff5c50a4714f11855fe7384f00e35",
        "timeStamp": "2023-06-06T14:44:31.000Z",
        "value": {
            "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
            "assetType": "oaccount",
            "balance": 100,
            "orgId": "AppBldFFFFMay22",
            "tokenId": "loy1",
            "tokenName": "loyalty",
            "tokenType": "fungible",
            "userId": "user2"
        }
    },
    {
        "trxId": "de483cf7505ae4e7018c4b604c3ab9327c2fb1f802d9408e22735667c1d6997f",
        "timeStamp": "2023-06-06T14:43:23.000Z",
        "value": {
            "assetType": "oaccount",
            "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
            "userId": "user2",
            "orgId": "AppBldFFFFMay22",
            "tokenType": "fungible",
            "tokenId": "loy1",
            "tokenName": "loyalty",
            "balance": 0
        }
    },
    {
        "trxId": "db053e653d3ad9aa5b7b6e04b7cd51aacfbb413272d857a155b60d2a6a12bf4d",
        "timeStamp": "2023-06-05T16:59:08.000Z",
        "value": {
            "assetType": "oaccount",
            "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
            "userId": "user2",
            "orgId": "AppBldFFFFMay22",
            "tokenType": "fungible",
            "tokenId": "",
            "balance": 0
        }
    }
]
getAccountStatus
Ursprünglicher Methodenname: getAccountStatus
Diese GET-Methode ruft den aktuellen Status des Tokenaccounts ab. Diese Methode kann vom Token Admin des Chaincodes oder vom Eigentümer des Tokenaccounts aufgerufen werden.
Abfrage:
/getAccountStatus?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.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Tokenaccountstatus.
Beispiel für Rückgabewerte:
{
    "assetType": "oaccountStatus",
    "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "active"
}
getAccountStatusHistory
Ursprünglicher Methodenname: getAccountStatusHistory
Diese GET-Methode ruft die Historie des Kontostatus ab. Diese Methode kann vom Token Admin des Chaincodes oder vom Eigentümer des Tokenaccounts aufgerufen werden.
Abfrage:
/getAccountStatusHistory?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.
Rückgabewert:
  • Bei Erfolg die Kontostatushistorie im JSON-Format.
Beispiel für Rückgabewerte:
[
  {
    "trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63",
    "timeStamp": "2022-12-02T10:39:14.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "suspended"
    }
  },
  {
    "trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183",
    "timeStamp": "2022-12-02T10:37:50.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "active"
    }
  }
]
getAccountTransactionHistory
Ursprünglicher Methodenname: getAccountTransactionHistory
Diese GET-Methode gibt die Kontotransaktionshistorie zurück. Diese Methode kann nur von einem Token Admin des Chaincodes oder vom Accounteigentümer aufgerufen werden.
Abfrage:
/getAccountTransactionHistory?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 Rückgabewerte:
[
    {
        "transactionId": "otransaction~3a6b23c3003626f3947e990eddbd7ac23398d2200e2eb3eac745e6ddfae140bc~7c88c736df38d5622512f1e8dcdd50710eb47c953f1ecb24ac44790a9e2f475b",
        "timestamp": "2023-06-06T14:48:08.000Z",
        "tokenId": "FNFT",
        "transactedAmount": 10,
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "transactionType": "DEBIT",
        "balance": 90
    },
    {
        "transactionId": "otransaction~3a6b23c3003626f3947e990eddbd7ac23398d2200e2eb3eac745e6ddfae140bc~178e3730bc5bee50d02f1464a4eebf733a051905f651e5789039adb4a3edc114",
        "timestamp": "2023-06-06T14:48:08.000Z",
        "tokenId": "NFT",
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "transactionType": "DEBIT"
    },
    {
        "transactionId": "otransaction~c369929e28e78de06c72d020f1418c9a154a7dd280b2e22ebb4ea4485e249124~a7cefb22ff39ee7e36967be71de27da6798548c872061a62dabc56d88d50b930",
        "timestamp": "2023-06-06T14:47:08.000Z",
        "tokenId": "NFT",
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "transactionType": "MINT"
    },
    {
        "transactionId": "otransaction~114a1bc78d04be48ee6dc140c32c042ee9481cb118959626f090eec744522422~e4eb15d9354f694230df8835ade012100d82aa43672896a2c7125a86e3048f9f",
        "timestamp": "2023-06-05T17:17:57.000Z",
        "tokenId": "FNFT",
        "transactedAmount": 100,
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "transactionType": "MINT",
        "balance": 100
    }
]
getAccountsByRole
Ursprünglicher Methodenname: getAccountsByRole
Diese Methode gibt eine Liste aller Konto-IDs für eine angegebene Rolle zurück. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Abfrage:
/getAccountsByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
Parameter:
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
  • tokenDetails: TokenDetail: Die Details, die das Token angeben. Verwenden Sie für fungible Token das folgende Format:
    {"tokenId":"token1"}
    Verwenden Sie für nicht fungible Token das folgende Format:
    {"tokenName":"artCollection"}
Beispiel für Rückgabewerte:
{
  "accounts": [
    "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
    "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
  ]
}
getAllAccounts
Ursprünglicher Methodenname: getAllAccounts
Diese GET-Methode gibt Details aller Benutzerkonten zurück. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Abfrage:
/getAllAccounts
Parameter:
  • Kein
Rückgabewert:
  • Bei Erfolg ein JSON-Array aller Konten.
Beispiel für Rückgabewerte:
[
        {
            "assetType": "ouaccount",
            "accountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
            "userId": "user2",
            "orgId": "AppBldFFFFMay22",
            "totalAccounts": 2,
            "totalFtAccounts": 1,
            "associatedFtAccounts": [
                {
                    "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
                    "tokenId": "loy1"
                }
            ],
            "associatedNftAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371"
        },
        {
            "assetType": "ouaccount",
            "accountId": "ouaccount~9501bb774c156eb8354dfe489250ea91f757523d70f08ee494bda98bb352003b",
            "userId": "example_minter",
            "orgId": "AppBldFFFFMay22",
            "totalAccounts": 2,
            "totalFtAccounts": 1,
            "associatedFtAccounts": [
                {
                    "accountId": "oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c",
                    "tokenId": "loy1"
                }
            ],
            "associatedNftAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446"
        },
    ]
getAllTokenAdmins
Ursprünglicher Methodenname: getAllTokenAdmins
Diese GET-Methode gibt eine Liste aller Benutzer zurück, die ein Token Admin des Chaincodes sind. Diese Methode kann nur vom Token Admin des Chaincodes aufgerufen werden.
Abfrage:
/getAllTokenAdmins
Parameter:
  • Kein
Rückgabewert:
  • Bei Erfolg ein admins-Array im JSON-Format, das orgId- und userId-Objekte enthält.
Beispiel für Rückgabewerte:
{
  "admins": [
    {
      "orgId": "appdev",
      "userId": "user2"
    },
    {
      "orgId": "appdev",
      "userId": "user1"
    }
  ]
}
getAllTokens
Ursprünglicher Methodenname: getAllTokens
Diese GET-Methode gibt alle Tokenassets zurück, die in der Statusdatenbank gespeichert sind. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden. Diese Methode verwendet SQL-Rich-Abfragen von Berkeley DB und kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Netzwerk von Oracle Blockchain Platform besteht.
Abfrage:
/getAllTokens
Parameter:
  • Kein
Beispiel für Rückgabewerte:
[{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "status value"
}]
getAllTokensByUser
Ursprünglicher Methodenname: getAllTokensByUser
Diese GET-Methode gibt alle Tokenassets zurück, deren Eigentümer ein bestimmter Benutzer ist. Diese Methode verwendet SQL-Rich-Abfragen von Berkeley DB und kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Netzwerk von Oracle Blockchain Platform besteht. Diese Methode kann nur von einem Token Admin des Chaincodes oder vom Accounteigentümer aufgerufen werden.
Abfrage:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • org_id: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewerte:
[{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "status value"
}]
getTokenById
Ursprünglicher Methodenname: getTokenById
Diese GET-Methode gibt ein Tokenobjekt zurück, wenn das Token in der Statusdatenbank vorhanden ist. Diese Methode kann nur von einem Token Admin des Chaincodes oder des Tokeneigentümers aufgerufen werden. Bei partiellen NFTs enthält die Antwort die Liste der Tokenverantwortlichen.
Abfrage:
/getTokenById?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des abzurufenden Tokens.
Beispiel für Rückgabewerte:
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }
]
getTokenDecimal
Ursprünglicher Methodenname: getTokenDecimal
Diese Methode gibt die Anzahl der Dezimalstellen für ein angegebenes Token zurück. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Abfrage:
/getTokenDecimal?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für Rückgabewerte:
{
    "msg": "Token Id: tokenOne has 2 decimal places."
}
getTokenHistory
Ursprünglicher Methodenname: getTokenHistory
Diese GET-Methode gibt die Historie für eine angegebene Token-ID zurück. Jeder kann diese Methode nennen.
/getTokenHistory?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für Rückgabewerte:
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }
]
getTokensByName
Ursprünglicher Methodenname: getTokensByName
Diese GET-Methode gibt alle Tokenassets für einen angegebenen Tokennamen zurück. Diese Methode verwendet SQL-Rich-Abfragen der Berkeley-DB und kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Oracle Blockchain Platform-Netzwerk besteht. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Abfrage:
/getTokensByName?tokenName=tokenName value
Parameter:
  • tokenName: string: Der Name des Tokens.
Beispiel für Rückgabewerte:
[
  {
    "key": "tokenOne",
    "valueJson": {
      "assetType": "otoken",
      "tokenId": "tokenOne",
      "tokenName": "moneytok",
      "tokenStandard": "erc1155+",
      "tokenType": "fungible",
      "tokenUnit": "fractional",
      "behaviors": [
        "divisible",
        "mintable",
        "transferable",
        "roles"
      ],
      "roles": {
        "minter_role_name": "minter",
        "burner_role_name": "burner"
      },
      "mintable": {
        "max_mint_quantity": 1000
      },
      "divisible": {
        "decimal": 2
      }
    }
  },
  {
    "key": "tokenTwo",
    "valueJson": {
      "assetType": "otoken",
      "tokenId": "tokenTwo",
      "tokenName": "moneytok",
      "tokenStandard": "erc1155+",
      "tokenType": "fungible",
      "tokenUnit": "fractional",
      "behaviors": [
        "divisible",
        "mintable",
        "transferable",
        "roles"
      ],
      "roles": {
        "minter_role_name": "minter",
        "burner_role_name": "burner"
      },
      "mintable": {
        "max_mint_quantity": 1000
      },
      "divisible": {
        "decimal": 2
      }
    }
  }
]
getTransactionById
Ursprünglicher Methodenname: getTransactionById
Diese GET-Methode gibt die Transaktionshistorie für eine angegebene Transaktions-ID zurück. Dies ist eine asynchrone Methode. Diese Methode kann von jedem Benutzer aufgerufen werden.
Abfrage:
/getTransactionById?transactionId=transactionId value
Parameter:
  • transactionId: string: Die ID der Transaktion. Dies ist das Präfix otransaction~ gefolgt vom 64-Bit-Hash im hexadezimalen Format.
Beispiel für Rückgabewerte:
{
  "transactionId": "otransaction~9ea7b05ab099f7ff4db8342b8c3609031f1d54f11205906e7f1fe88661fe3cbe~33b59ce0c89e96c1e16449f24301581e8e71954f38ad977c7eb6f065e87f2a53",
  "history": [
    {
      "trxId": "9ea7b05ab099f7ff4db8342b8c3609031f1d54f11205906e7f1fe88661fe3cbe",
      "timeStamp": "2022-12-08T09:01:28.000Z",
      "value": {
        "assetType": "otransaction",
        "transactionId": "otransaction~9ea7b05ab099f7ff4db8342b8c3609031f1d54f11205906e7f1fe88661fe3cbe~33b59ce0c89e96c1e16449f24301581e8e71954f38ad977c7eb6f065e87f2a53",
        "tokenId": "tokenOne",
        "fromAccountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
        "toAccountId": "",
        "transactionType": "BURN",
        "amount": 5,
        "timestamp": "2022-12-08T09:01:28.000Z",
        "triggeredByUserAccountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc"
      }
    }
  ]
}
getUserByAccountId
Ursprünglicher Methodenname: getUserByAccountId
Diese GET-Methode gibt die Organisations-ID und die Benutzer-ID für eine angegebene Konto-ID zurück.
Abfrage:
/getUserByAccountId?accountId=accountId value
Parameter:
  • accountId: string: Die ID des Accounts.
Beispiel für Rückgabewerte:
{
    "orgId": "AppBldFFFFMay22",
    "userId": "user2"
}
getUsersByRole
Ursprünglicher Methodenname: getUsersByRole
Diese GET-Methode gibt eine Liste aller Benutzer für eine angegebene Rolle zurück.
Abfrage:
/getUsersByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
Parameter:
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
  • tokenDetail: TokenDetail: Die Details, die das Token angeben. Verwenden Sie für fungible Token das folgende Format:
    {"tokenId":"token1"}
    Verwenden Sie für nicht fungible Token das folgende Format:
    {"tokenName":"artCollection"}
Beispiel für Rückgabewerte:
{
    "users": [
        {
            "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
            "orgId": "appdev",
            "userId": "user2"
        },
        {
            "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
            "orgId": "appdev",
            "userId": "user1"
        }
    ]
}
init
Ursprünglicher Methodenname: init
Diese POST-Methode wird aufgerufen, wenn der Chaincode bereitgestellt wird. Die Benutzerinformationen werden als Token Admin des Chaincodes gespeichert.
Payload:
{
 "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-user-id}}\"}]"
}
Parameter:
  • adminList array: Ein Array mit {user_id, org_id}-Informationen, das die Liste der Tokenadministratoren angibt. Das Array adminList ist ein obligatorischer Parameter.
Rückgabewert:
  • Bei Erfolg eine Nachricht ohne Payload.
Beispiel für Rückgabewerte:
{

}
isInRole
Ursprünglicher Methodenname: isInRole
Diese GET-Methode gibt einen booleschen Wert zurück, um anzugeben, ob ein Benutzer über eine angegebene Rolle verfügt. Diese Methode kann nur von einem Token Admin des Chaincodes oder dem Account Owner des Accounts aufgerufen werden.
Abfrage:
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
  • tokenDetail: TokenDetail: Die Details, die das Token angeben. Verwenden Sie für fungible Token das folgende Format:
    {"tokenId":"token1"}
    Verwenden Sie für nicht fungible Token das folgende Format:
    {"tokenName":"artCollection"}
Beispiel für Rückgabewerte:
{
    "result": true,
    "msg": "Account Id oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: user2) has minter role"
}
isTokenAdmin
Ursprünglicher Methodenname: isTokenAdmin
Diese GET-Methode gibt den booleschen Wert true zurück, wenn der Aufrufer der Funktion ein Token Admin ist. Andernfalls wird false zurückgegeben. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Abfrage:
/isTokenAdmin?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.
Rückgabewert:
  • Die Methode gibt true zurück, wenn der Aufrufer ein Token Admin ist. Andernfalls wird false zurückgegeben.
Beispiel für Rückgabewerte:
{
  "result": true
}
mintBatch
Ursprünglicher Methodenname: mintBatch
Diese POST-Methode erstellt (mindert) mehrere Token in einem Batchvorgang. Diese Methode erstellt nur fungible Token oder fraktionierte nicht fungible Token.

Wenn für fungible Token die Minter-Rolle in der Spezifikationsdatei definiert ist, kann jeder Benutzer mit der Minter-Rolle diese Methode aufrufen. Wenn nicht, kann jeder Benutzer diese Methode verwenden, um Token zu mintieren. Sie können nicht mehr als die Eigenschaft max_mint_quantity des Tokens mintieren, wenn diese Eigenschaft beim Erstellen oder Aktualisieren des Tokens angegeben wurde.

Wenn für nicht fungible Token die Minter-Rolle in der Spezifikationsdatei definiert ist, kann jeder Benutzer mit der Minter-Rolle diese Methode aufrufen. Wenn nicht, kann jeder Benutzer diese Methode verwenden, um Token zu mintieren. Darüber hinaus muss der Aufrufer auch der Ersteller des Tokens sein. Es gibt keine Obergrenze für die Menge an fraktionierten nicht fungiblen Token, die geprägt werden können.

Sie können diese Methode nicht verwenden, um ein ganzes nicht fungibles Token zu prägen.

Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "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.
  • tokenIds: string[]: Die Liste der Token-IDs, für die Token geprägt werden sollen.
  • quantity: number[]: Die Liste der Mengen der zu prägenden Token, die dem Token-ID-Array entsprechen.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt, das Details zu den geprägten Token enthält.
Beispiel für Rückgabewerte:
{
    "msg": "Successfully minted batch of tokens for User-Account-Id ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38 (Org-Id: AppBldFFFFMay22, User-Id: user2).",
    "details": [
        {
            "msg": "Successfully minted 100 tokens of fractional tokenId: plot55 to Org-Id: AppBldFFFFMay22, User-Id: user2"
        },
        {
            "msg": "Successfully minted 100 tokens of tokenId: loyalty to Token-Account-Id oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e"
        }
    ]
}
name
Ursprünglicher Methodenname: name
Diese GET-Methode gibt den Namen der Token-Klasse zurück. Jeder kann diese Methode nennen.
Abfrage:
/name?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für Rückgabewerte:
{
    "tokenName": "artcollection"
}
ownerOf
Ursprünglicher Methodenname: ownerOf
Diese GET-Methode gibt die Konto-ID der Eigentümer der angegebenen Token-ID zurück. Jeder kann diese Methode nennen.
Abfrage:
/ownerOf?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Rückgabewert:
  • Ein JSON-Objekt der Konto-IDs der Eigentümer.
Beispiel für Rückgabewerte:
[
    {
        "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
        "orgId": "Org1MSP",
        "userId": "admin"
    },
    {
        "accountId": "oaccount~74108eca702bab6d8548e740254f2cc7955d886885251d52d065042172a59db0",
        "orgId": "Org1MSP",
        "userId": "user"
    }
]
post
Ursprünglicher Methodenname: post
Diese POST-Methode bucht ein Token für den Verkauf zu einem angegebenen Preis.
Payload:
{
 "tokenId": "{{bc-token-id}}",
 "sellingPrice": 1,
 "endorsers": {{endorsers}}
}
Parameter:
  • tokenId: string: Die ID des Tokens.
  • sellingPrice: number: Der Preis des Tokens.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für Rückgabewerte:
{
  "msg": "Token ID : 'artCollection1' has been posted for selling in the marketplace"          
}
removeRole
Ursprünglicher Methodenname: removeRole
Diese Methode entfernt eine Rolle von einem angegebenen Benutzer. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "role": "role value (for example minter / burner)",
 "tokenDetail": "{\"tokenName\":\"tokenName 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.
  • role: string: Der Name der Rolle, die aus dem angegebenen Benutzer entfernt werden soll.
  • tokenDetail: TokenDetail: Die Details, die das Token angeben. Verwenden Sie für fungible Token das folgende Format:
    {"tokenId":"token1"}
    Verwenden Sie für nicht fungible Token das folgende Format:
    {"tokenName":"artCollection"}
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für Rückgabewerte:
{
  "msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)"
}
removeTokenAdmin
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:
  • org_id: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • user_id: 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 Rückgabewerte:
{
  "msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)"
}
safeBatchTransferFrom
Ursprünglicher Methodenname: safeBatchTransferFrom
Diese POST-Methode überträgt das Eigentum an den angegebenen Token vom Aufrufer auf ein anderes Konto. Der Aufrufer dieser Methode muss der Absender der Token sein und Eigentümer der angegebenen Token sein. Bei partiellen NFTs verliert ein Benutzer, wenn er alle seine Shares an einen anderen Benutzer überträgt, das Eigentum an dem Token.
Payload:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
Parameter:
  • fromOrgId: string: Die Mitgliedschaftsserviceprovider-(MSP-)ID des Absenders und Tokeneigentümers in der aktuellen Organisation.
  • fromUserId: string: Der Benutzername oder die E-Mail-ID des Absenders und Tokeneigentümers.
  • 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.
  • tokenIds: string[]: Ein Array der IDs der zu übertragenden Token.
  • quantity: number[]: Die Liste der zu übertragenden Tokenmengen entsprechend dem Token-ID-Array.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für Rückgabewerte:
[
    {
        "msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_minter)"
    },
    {
        "msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: AppBldFFFFMay22, User-Id: example_minter)"
    },
    {
        "msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_minter)"
    }
]
suspendAccount
Ursprünglicher Methodenname: suspendAccount
Diese POST-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 aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "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.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für Rückgabewerte:
{
    "assetType": "oaccountStatus",
    "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "suspended"
}
totalNetSupply
Ursprünglicher Methodenname: totalNetSupply
Diese GET-Methode gibt die Gesamtanzahl der geprägten Token abzüglich der Anzahl der gebrannten Token zurück. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Abfrage (ungültige Token):
/totalNetSupply?tokenDetail={"tokenId":"{{bc-token-id}}"}
Abfrage (nicht-ungültige Token):
/totalNetSupply?tokenDetail={"tokenName":"tokenName value"}
Parameter:
  • tokenDetail: TokenDetail: Die Details, die das Token angeben. Verwenden Sie für fungible Token das folgende Format:
    {"tokenId":"token1"}
    Verwenden Sie für nicht fungible Token das folgende Format:
    {"tokenName":"artCollection"}
Beispiel für Rückgabewerte:
{
    "totalNetSupply": 105
}
totalSupply
Ursprünglicher Methodenname: totalSupply
Diese GET-Methode gibt die Gesamtanzahl der geprägten Token zurück. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Abfrage (ungültige Token):
/totalSupply?tokenDetail={"tokenId":"{{bc-token-id}}"}
Abfrage (nicht-ungültige Token):
/totalSupply?tokenDetail={"tokenName":"tokenName value"}
Parameter:
  • tokenDetail: TokenDetail: Die Details, die das Token angeben. Verwenden Sie für fungible Token das folgende Format:
    {"tokenId":"token1"}
    Verwenden Sie für nicht fungible Token das folgende Format:
    {"tokenName":"artCollection"}
Beispiel für Rückgabewerte:
{
    "totalSupply": 110
}
updateArtCollectionToken
Ursprünglicher Methodenname: updateArtCollectionToken
Diese POST-Methode aktualisiert Tokeneigenschaften. Nur der Token-Eigentümer kann diese Methode aufrufen. Bei NFTs können die Tokenmetadaten und die Token-URI nicht aktualisiert werden, nachdem das Token geprägt wurde.
Payload:
{
 "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"status\":\"status value\", \"tokenMetadata\":{\"ISIN\":\"ISIN value\",\"Segment\":\"Segment value\",\"Issuer\":\"Issuer value\",\"FaceValue\":999,\"IssueSize\":999,\"CouponRate\":999,\"InterestPaymentType\":\"InterestPaymentType value\",\"InterestFrequency\":\"InterestFrequency value\",\"IssueDate\":\"2023-03-28T15:16:36+00:00\",\"MaturityDate\":\"2023-03-28T15:16:36+00:00\"},\"status\":\"status value\"}",
 "sameOrgEndorser": true
}
Parameter:
  • tokenAsset: <Token Class>: Das zu aktualisierende Tokenasset. Weitere Informationen zu den Eigenschaften des Tokenassets finden Sie in der Eingabespezifikationsdatei.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für Rückgabewerte:
{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "created"
}
updateLoyaltyToken
Ursprünglicher Methodenname: updateLoyaltyToken
Diese POST-Methode aktualisiert Tokeneigenschaften. Nur der Token-Eigentümer kann diese Methode aufrufen. Bei NFTs können die Tokenmetadaten und die Token-URI nicht aktualisiert werden, nachdem das Token geprägt wurde.
Payload:
{
 "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"Token_Name\":\"Token_Name value\",\"Token_to_Currency_Ratio\":999}",
 "sameOrgEndorser": true
}
Parameter:
  • tokenAsset: <Token Class>: Das zu aktualisierende Tokenasset. Weitere Informationen zu den Eigenschaften des Tokenassets finden Sie in der Eingabespezifikationsdatei.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für Rückgabewerte:
{
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "loyalty",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "fungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "created"
}
URI
Ursprünglicher Methodenname: URI
Diese GET-Methode gibt die URI eines angegebenen Tokens zurück. Nur der Token-Ersteller kann diese Methode aufrufen.
Abfrage
/URI?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für Rückgabewerte:
{
    "tokenUri": "example.com"
}