Wrapper-API-Package für kombiniertes Token-Framework

Oracle Blockchain Platform Digital Assets Edition umfasst ein Wrapper-API-Package, mit dem die REST-API erweitert wird, um spezifische Vorgänge für einen Collectible NFT-Marktplatz zu unterstützen.

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 Non-Fungible-Token-Framework-Wrapper-API-Package kann von der Oracle Blockchain Platform-Konsole heruntergeladen werden und enthält die folgenden Komponenten.
  • NFTCollectiblesWithERC1155WrapperAPI.zip, eine Archivdatei, die das Wrapper-API-Package einschließlich der für das Deployment erforderlichen Terraform-Skripte enthält. 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

registerOrg
Ursprünglicher Methodenname: registerOrg
Diese POST-Methode registriert eine Organisation im System. Diese Methode kann nur von einem Tokenadministrator aufgerufen werden.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "orgName": "org_name value",
    "endorsers": {{endorsers}}
}
Parameter:
  • orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • orgName: string (Optional) Der Name der Organisation.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion freigeben muss.
Beispiel für Rückgabewert:
{
    "assetType": "oorgregistry",
    "org_registry_id": "orgregistry",
    "registered_orgs": [
        {
            "org_id": "Org1MSP",
            "org_name": "Organization name"
        }
    ]
}
getAllRegisteredOrgs
Ursprünglicher Methodenname: getAllRegisteredOrgs
Diese GET-Methode ruft Details aller registrierten Organisationen ab. Diese Methode kann nur von einem Tokenadministrator aufgerufen werden.
Abfrage:
/getAllRegisteredOrgs
Parameter:
  • Kein
Beispiel für Rückgabewert:
[
    {
        "org_id": "Org1MSP",
        "org_name": "Organization name"
    }
]
activateAccount
Ursprünglicher Methodenname: activateAccount
Diese POST-Methode aktiviert ein Token-Konto. Diese Methode kann nur von einem Administrator oder Kontoinhaber aufgerufen werden. Für vorhandene Konten, bei denen eine accountStatus nicht im Buch gefunden wird, gibt die Methode ein accountStatus-Objekt zurück, dessen 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 Mitgliedsdienstanbieter-(MSP-)ID 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 freigeben muss.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des aktualisierten Accountstatusobjekts für den fungiblen Tokenaccount.
Beispiel für Rückgabewert:
{
  "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 Mitgliedsdienstanbieter-(MSP-)ID 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 freigeben muss.
Rückgabewert:
  • Bei Erfolg eine Nachricht, die Details des Benutzers enthält, der als Token Admin des Chaincodes hinzugefügt wurde.
Beispiel für Rückgabewert:
{
  "msg": "Successfully added 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 die Fungible-Token des Parameters tokenDetails ist der Wert tokenId als Eingabe erforderlich. Nicht fungible Token erfordern die 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 Mitgliedsdienstanbieter-(MSP-)ID 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 freigeben muss.
Beispiel für Rückgabewert:
{
  "msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a 
(Org-Id: appdev, User-Id: user2)"
}
associateFungibleTokenToAccount
Ursprünglicher Methodenname: associateFungibleTokenToAccount
Diese POST-Methode ordnet das fungible Token-Konto eines Benutzers einem angegebenen Token zu.
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 Mitgliedsdienstanbieter-(MSP-)ID 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 freigeben muss.
Beispiel für Rückgabewert:
{
  "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 eine NFT mit Ethereum zu kaufen und Treuepunkte 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 Mitgliedsdienstanbieter-ID (MSP) des Absenders (Eigentümers) in der aktuellen Organisation.
  • fromUserId: string: Der Benutzername oder die E-Mail-ID des Absenders (Eigentümers).
  • toOrgId: string: Die MSP-ID (Member Service Provider) 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 übertragenden Treuepunkte.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion freigeben muss.
Beispiel für Rückgabewert:
{
  "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 MSP-IDs (Member Service Provider) 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ückgabewert:
[
    {
        "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 Mitgliedsdienstanbieter-(MSP-)ID des Absenders.
  • fromUserId: string: Die Benutzer-ID des Absenders.
  • toOrgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID 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, die dem Token-ID-Array entsprechen.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion freigeben muss.
Rückgabewert:
  • Bei Erfolg eine Nachricht mit Details für jede Tokenübertragung.
Beispiel für Rückgabewert:
[
    {
        "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 MSP-ID (Member Service Provider) 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 von derselben Organisation wie der Anforderer stammen müssen.
Rückgabewert:
  • Bei Erfolg eine Meldung mit Details zu den Brennvorgängen.
Beispiel für Rückgabewert:
[
  {
    "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 brennt 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 MSP-ID (Member Service Provider) in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID.
  • tokenId: string – Die ID des zu brennenden nicht fungiblen Tokens
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen von 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ückgabewert:
{
    "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 fungierbaren Tokenkonten, die ein Benutzer hält. 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 Benutzeraccount hat eine eindeutige ID, die durch einen SHA-256-Hash des Parameters orgId und des Parameters userId gebildet wird.

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

Ein Benutzer kann nur ein nicht fungierbares Token-Konto haben. Nicht fungible Tokenaccount-IDs sind eindeutig und werden durch einen SHA-256-Hash des Parameters orgId, des Parameters userId und der Konstantenzeichenfolge nft gebildet, die durch das Tilde-Symbol (~) getrennt sind. Alle nicht fungierbaren Token, die ein Benutzer besitzt, unabhängig davon, ob sie ganz oder teilweise sind, 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 Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • ftAccount: boolean: Wenn dieser Wert "true" ist, wird ein fungierbarer Tokenaccount erstellt und mit dem Benutzeraccount verknüpft.
  • nftAccount: boolean: Wenn dieser Wert "true" ist, wird ein nicht fungierbarer Tokenaccount erstellt und mit dem Benutzeraccount verknüpft.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion freigeben muss.
Beispiel für Rückgabewert:
{
  "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
Mit dieser POST-Methode wird ein NFT erstellt (abgestuft). Das Asset und die zugehörigen Eigenschaften werden in der Statusdatenbank gespeichert. Der Aufrufer dieser Transaktion muss ein Token-Konto haben. Der Aufrufer dieser Transaktion wird der 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 Rolle "Miner" aufweisen. Andernfalls 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 Mint. Weitere Informationen zu den Eigenschaften des Tokenassets finden Sie in der Eingabespezifikationsdatei.
  • quantity: number: Die Anzahl der zu mindernden Token. Der einzige unterstützte Wert für diesen Parameter ist 1.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen von derselben Organisation wie der Anforderer stammen müssen.
Beispiel für Rückgabewert:
{
            "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 von derselben Organisation wie der Anforderer stammen müssen.
Beispiel für Rückgabewert:
{
            "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 Tokenkonto, das einem Benutzerkonto zugeordnet werden soll.

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

Ein Benutzer kann nur ein nicht fungierbares Token-Konto haben. Nicht fungible Tokenaccount-IDs sind eindeutig und werden durch einen SHA-256-Hash des Parameters orgId, des Parameters userId und der Konstantenzeichenfolge nft gebildet, die durch das Tilde-Symbol (~) getrennt sind. Alle nicht fungierbaren Token, die ein Benutzer besitzt, unabhängig davon, ob sie ganz oder teilweise sind, 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 Mitgliedsdienstanbieter-(MSP-)ID 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 freigeben muss.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt des erstellten Tokenaccounts.
Beispiel für Rückgabewert:
{
  "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 fungierbaren Token-Konten, die ein Benutzer hat. Benutzer müssen über Konten im Netzwerk verfügen, um tokenbezogene Vorgänge abzuschließen.

Eine Account-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 Mitgliedsdienstanbieter-(MSP-)ID 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 freigeben muss.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt des erstellten Benutzeraccounts.
Beispiel für Rückgabewert:
{
  "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 Token-Konto. Nachdem ein Account gelöscht wurde, befindet er sich in einem endgültigen Status und kann weder aktualisiert noch 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 Mitgliedsdienstanbieter-(MSP-)ID 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 freigeben muss.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Tokenaccountstatus.
Beispiel für Rückgabewert:
{
  "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 fraktioniert 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 Mitgliedsdienstanbieter-(MSP-)ID 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 MSP-ID (Member Service Provider) des Empfängers in der aktuellen Organisation.
  • toUserId: string: Der Benutzername oder die E-Mail-ID des Empfängers.
  • toTokenQuantity: number - Die Menge 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 freigeben muss.
Rückgabewert:
  • Bei Erfolg eine Nachricht mit Tokenaustauschdetails.
Beispiel für Rückgabewert:
{
    "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 mit einer Token Admin des Chaincodes oder der Account Owner des Accounts aufgerufen werden.
Abfrage:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID 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.
Rückgabewert - Beispiel
{
    "assetType": "oaccount",
    "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
    "userId": "user2",
    "orgId": "AppBldFFFFMay22",
    "tokenType": "nonfungible",
    "noOfNfts": 3
}
getAccountDetailsByUser
Ursprünglicher Methodenname: getAccountDetailsByUser
Diese GET-Methode gibt Accountdetails für einen angegebenen Benutzer zurück. Diese Methode kann nur mit einer Token Admin des Chaincodes oder der Account Owner des Accounts aufgerufen werden.
Abfrage:
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
{
    "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-Accounts muss der Parameter tokenId leer sein. Diese Methode kann nur von der 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 Mitgliedsdienstanbieter-(MSP-)ID 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ückgabewert:
[
    {
        "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 Token-Accounts ab. Diese Methode kann von der Token Admin des Chaincodes oder vom Tokenkontoinhaber aufgerufen werden.
Abfrage:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID 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ückgabewert:
{
    "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 von der Token Admin des Chaincodes oder vom Tokenkontoinhaber aufgerufen werden.
Abfrage:
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg die Accountstatushistorie im JSON-Format.
Beispiel für Rückgabewert:
[
  {
    "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 Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
[
    {
        "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ückgabewert:
{
  "accounts": [
    "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
    "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
  ]
}
getAllAccounts
Ursprünglicher Methodenname: getAllAccounts
Diese GET-Methode gibt Details aller Benutzeraccounts 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ückgabewert:
[
        {
            "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 von der Token Admin des Chaincodes aufgerufen werden.
Abfrage:
/getAllTokenAdmins
Parameter:
  • Kein
Rückgabewert:
  • Bei Erfolg ein Array admins im JSON-Format, das orgId- und userId-Objekte enthält.
Beispiel für Rückgabewert:
{
  "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-reiche Berkeley DB-Abfragen und kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Oracle Blockchain Platform-Netzwerk besteht.
Abfrage:
/getAllTokens
Parameter:
  • Kein
Beispiel für Rückgabewert:
[{
            "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-reiche Berkeley DB-Abfragen 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 oder vom Accounteigentümer aufgerufen werden.
Abfrage:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für Rückgabewert:
[{
            "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 Tokeneigentümer.
Abfrage:
/getTokenById?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des abzurufenden Tokens.
Beispiel für Rückgabewert:
[{
            "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ückgabewert:
{
    "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 aufrufen.
/getTokenHistory?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für Rückgabewert:
[{
            "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-reiche Berkeley DB-Abfragen 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ückgabewert:
[
  {
    "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ückgabewert:
{
  "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 Kontos.
Beispiel für Rückgabewert:
{
    "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ückgabewert:
{
    "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ückgabewert:
{

}
isInRole
Ursprünglicher Methodenname: isInRole
Diese GET-Methode gibt einen booleschen Wert zurück, um anzugeben, ob ein Benutzer eine bestimmte Rolle hat. Diese Methode kann nur mit einer Token Admin des Chaincodes oder der 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 Mitgliedsdienstanbieter-(MSP-)ID 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ückgabewert:
{
    "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 gibt sie false zurück. 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 Mitgliedsdienstanbieter-(MSP-)ID 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ückgabewert:
{
  "result": true
}
mintBatch
Ursprünglicher Methodenname: mintBatch
Diese POST-Methode erstellt (abzüglich) mehrere Token in einem Batchvorgang. Diese Methode erstellt nur fungible Token oder fraktionierte nicht fungible Token.

Wenn für fungible Token die Rolle "Miner" in der Spezifikationsdatei definiert ist, kann jeder Benutzer mit der Rolle "Miner" diese Methode aufrufen. Wenn nicht, kann jeder Benutzer diese Methode verwenden, um Token zu mintieren. Sie können die Eigenschaft max_mint_quantity des Tokens nicht überschreiten, wenn diese Eigenschaft angegeben wurde, als das Token erstellt oder aktualisiert wurde.

Wenn für nicht fungible Token die Rolle "Miner" in der Spezifikationsdatei definiert ist, kann jeder Benutzer mit der Rolle "Miner" diese Methode aufrufen. Wenn nicht, kann jeder Benutzer diese Methode verwenden, um Token zu mintieren. Zusätzlich muss der Aufrufer auch der Ersteller des Tokens sein. Es gibt keine Obergrenze für die Anzahl der 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 Mitgliedsdienstanbieter-(MSP-)ID 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 Münztoken erstellt werden sollen.
  • quantity: number[]: Die Liste der Tokenmengen, die dem Token-ID-Array entsprechen.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen von derselben Organisation wie der Anforderer stammen müssen.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt, das Details zu den präparierten Token enthält.
Beispiel für Rückgabewert:
{
    "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"
        }
    ]
}
post
Ursprünglicher Methodenname: post
Bei dieser POST-Methode wird ein Token für einen angegebenen Preis zum Verkauf gebucht.
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 freigeben muss.
Beispiel für Rückgabewert:
{
  "msg": "Token ID : 'artCollection1' has been posted for selling in the marketplace"          
}
removeRole
Ursprünglicher Methodenname: removeRole
Mit dieser Methode wird eine Rolle aus einem angegebenen Benutzer entfernt. 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 Mitgliedsdienstanbieter-(MSP-)ID 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 freigeben muss.
Beispiel für Rückgabewert:
{
  "msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)"
}
removeTokenAdmin
Ursprünglicher Methodenname: removeTokenAdmin
Mit dieser POST-Methode wird ein Benutzer als Token Admin des Chaincodes entfernt. 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 Mitgliedsdienstanbieter-(MSP-)ID 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 von derselben Organisation wie der Anforderer stammen müssen.
Beispiel für Rückgabewert:
{
  "msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)"
}
safeBatchTransferFrom
Ursprünglicher Methodenname: safeBatchTransferFrom
Diese POST-Methode überträgt die Verantwortung für die 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. Wenn ein Benutzer bei partiellen NFTs alle seine Anteile an einen anderen Benutzer überträgt, verliert er 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 MSP-ID (Member Service Provider) 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 MSP-ID (Member Service Provider) 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, die dem Token-ID-Array entsprechen.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion freigeben muss.
Beispiel für Rückgabewert:
[
    {
        "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 unterbricht ein fungibles Tokenkonto. Es wird ein Fehler ausgelöst, 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 Mitgliedsdienstanbieter-(MSP-)ID 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 freigeben muss.
Beispiel für Rückgabewert:
{
    "assetType": "oaccountStatus",
    "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "suspended"
}
totalNetSupply
Ursprünglicher Methodenname: totalNetSupply
Diese GET-Methode gibt die Gesamtanzahl der abgebrannten Token abzüglich der Anzahl der verbrannten Token zurück. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Abfrage (Fungible Token):
/totalNetSupply?tokenDetail={"tokenId":"{{bc-token-id}}"}
Abfrage (nicht-fungible 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ückgabewert:
{
    "totalNetSupply": 105
}
totalSupply
Ursprünglicher Methodenname: totalSupply
Diese GET-Methode gibt die Gesamtanzahl der abgebauten Token zurück. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Abfrage (Fungible Token):
/totalSupply?tokenDetail={"tokenId":"{{bc-token-id}}"}
Abfrage (nicht-fungible 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ückgabewert:
{
    "totalSupply": 110
}
updateArtCollectionToken
Ursprünglicher Methodenname: updateArtCollectionToken
Diese POST-Methode aktualisiert Tokeneigenschaften. Diese Methode kann nur vom Tokeneigentümer aufgerufen werden. 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 freigeben muss.
Beispiel für Rückgabewert:
{
            "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. Diese Methode kann nur vom Tokeneigentümer aufgerufen werden. 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 freigeben muss.
Beispiel für Rückgabewert:
{
            "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. Diese Methode kann nur vom Tokenersteller aufgerufen werden.
Abfrage
/URI?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für Rückgabewert:
{
    "tokenUri": "example.com"
}