Nicht-Fungible 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.
  • NFTCollectiblesWithERC721WrapperAPI.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.
  • NFTCollectiblesWithERC721_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 aufgerufen werden. Für alle Firmen, die vor der Firmenstatusfunktion erstellt wurden, müssen Sie diese Methode aufrufen, um den Firmenstatus auf "Aktiv" zu setzen.
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 Accountstatusobjekts für den angegebenen Tokenaccount.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925",
        "payload": {
            "assetType": "oaccountStatus",
            "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae",
            "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
            "status": "active"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 194
    }
}
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}}",
    "sameOrgEndorser": true
}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Rückgabewert:
  • Bei erfolgreicher Ausführung eine Meldung mit Details des Benutzers, der als Token Admin des Chaincodes hinzugefügt wurde.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg":"Successfully added Admin (orgId: Org1MSP, userId: User1)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 190
    }
}
addRole
Ursprünglicher Methodenname: addRole
Diese Methode fügt die Rolle dem angegebenen Benutzer und Token hinzu.
Payload:
{
    "role": "role value (for example minter / burner)",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parameter:
  • role: string: Der Name der Rolle, die dem angegebenen Benutzer hinzugefügt werden soll.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "Successfully added role 'minter' to Account Id: oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
addTokenSysRole
Ursprünglicher Methodenname: addTokenSysRole
Diese Methode fügt Org Admins zum Token Chaincode hinzu.
Payload:
{
    "role": "role value (for example vault)",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parameter:
  • role: string: Der Name der Rolle, die dem angegebenen Benutzer hinzugefügt werden soll.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "96a84dffcb9156f7271dfb414e8c43b540595044cf9145f5fd56e9873797fc4a",
        "payload": {
            "msg": "Successfully added Org Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 197
    }
}
balanceOf
Ursprünglicher Methodenname: balanceOf
Diese GET-Methode gibt die Gesamtanzahl der NFTs zurück, die ein bestimmter Benutzer enthält. Diese Methode kann nur von einem Token Admin des Chaincodes oder vom Accounteigentümer aufgerufen werden.
Abfrage:
/balanceOf?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload":  {
            "totalNfts": 0
        },
        "encode": "JSON"
    }
}
buy
Ursprünglicher Methodenname: buy
Diese POST-Methode kauft einen Token, der zum Verkauf steht.
Payload:
{
    "fromOrgId": "from_org_id value",
    "fromUserId": "from_user_id value",
    "toOrgId": "to_org_id value",
    "toUserId": "to_user_id value",
    "nonfungibleTokenId": "nonfungible_token_id value",
    "amountPaid": 1,
    "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.
  • nonfungibleTokenId: string: Die ID des zu kaufenden Tokens.
  • amountPaid: number: Der Preis des Tokens.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "Token ID: 'monalisa' has been successfully transferred to UserID :oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
createAccount
Ursprünglicher Methodenname: createAccount
Diese Methode erstellt einen Account für einen angegebenen Benutzer und ein bestimmtes Token. Ein Konto muss für jeden Benutzer erstellt werden, der zu einem beliebigen Zeitpunkt Token hat. Accounts verfolgen die Anzahl der NFTs, für die ein Benutzer verantwortlich ist. Eine Account-ID ist ein alphanumerisches Zeichenset mit dem Präfix oaccount~, gefolgt von einem SHA-256-Hash der Mitgliedschaftsserviceprovider-ID (orgId) des Benutzers in der aktuellen Netzwerkorganisation, dem Benutzernamen oder der E-Mail-ID (userId) des Instanzeigentümers oder des Benutzers, der bei der Instanz angemeldet ist, und der konstanten Zeichenfolge nft. 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 - Die Mitgliedschaftsserviceprovider-(MSP-)ID des Benutzers, für den das Konto erstellt wird. Die ID muss mit einem alphanumerischen Zeichen beginnen und kann Buchstaben, Zahlen und Sonderzeichen wie Unterstriche (_), Punkte (.), At-Zeichen (@) und Bindestriche (-) enthalten.
  • userId: Der Benutzername oder die E-Mail-ID des Benutzers. Die ID muss mit einem alphanumerischen Zeichen beginnen und kann Buchstaben, Zahlen und Sonderzeichen wie Unterstriche (_), Punkte (.), At-Zeichen (@) und Bindestriche (-) enthalten.
  • tokenType: TokenType: Der Typ des Tokens, der fungible sein muss.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "assetType": "oaccount",
            "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
            "bapAccountVersion": 0,
            "userId": "admin",
            "orgId": "Org1MSP",
            "tokenType": "nonfungible",
            "noOfNfts": 0
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
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\",\"metadata\":{\"Painting_Name\":\"Painting_Name value\",\"Description\":\"Description value\",\"Painter_Name\":\"Painter_Name value\"},\"Price\":999,\"On_Sale_Flag\":true}",
    "sameOrgEndorser": true
}
Parameter:
  • tokenAsset: <Token Class>: Das Tokenasset für die Minze. Weitere Informationen zu den Eigenschaften des Tokenassets finden Sie in der Eingabespezifikationsdatei.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "metadata": {
                "painting_name": "Mona_Lisa",
                "description": "Mona Lisa Painting",
                "image": "monalisa.jpeg",
                "painter_name": "Leonardo_da_Vinci"
            },
            "assetType": "otoken",
            "tokenId": "monalisa",
            "tokenName": "artcollection",
            "tokenDesc": "token description",
            "symbol": "ART",
            "tokenStandard": "erc721+",
            "tokenType": "nonfungible",
            "tokenUnit": "whole",
            "behaviors": [
                "indivisible",
                "singleton",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter"
            },
            "mintable": {
                "max_mint_quantity": 20000
            },
            "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
            "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
            "creationDate": "2022-04-05T08:30:42.000Z",
            "isBurned": false,
            "tokenUri": "\"https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg\"",
            "price": 100,
            "on_sale_flag": false
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
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.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Tokenaccountstatus.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
          "assetType": "oaccountStatus",
          "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
          "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
          "status": "deleted"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
getAccountByUser
Ursprünglicher Methodenname: getAccountByUser
Diese 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:
/getAccountByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
          "bapAccountVersion": 0,
          "assetType": "oaccount",
          "status": "active",
          "accountId": "oaccount~cc301bee057f14236a97d434909ec1084970921b008f6baab09c2a0f5f419a9a",
          "userId": "idcqa",
          "orgId": "appdev",
          "tokenType": "nonfungible",
          "noOfNfts": 0
        },
        "encode": "JSON"
    }
}
getAccountHistory
Ursprünglicher Methodenname: getAccountHistory
Diese Methode gibt die Kontohistorie für einen angegebenen Benutzer zurück. Dies ist eine asynchrone Methode. 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}}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": [
            {
                "trxId": "6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4",
                "timeStamp": 1649151044,
                "value": {
                    "assetType": "oaccount",
                    "bapAccountVersion" : 5,
                    "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "userId": "admin",
                    "orgId": "Org1MSP",
                    "tokenType": "nonfungible",
                    "noOfNfts": 1
                }
            },
            {
                "trxId": "a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3",
                "timeStamp": 1649151022,
                "value": {
                    "assetType": "oaccount",
                    "bapAccountVersion" : 4,
                    "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "userId": "admin",
                    "orgId": "Org1MSP",
                    "tokenType": "nonfungible",
                    "noOfNfts": 2
                }
            },
            {
                "trxId": "ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7",
                "timeStamp": 1649150910,
                "value": {
                    "assetType": "oaccount",
                    "bapAccountVersion" : 3,
                    "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "userId": "admin",
                    "orgId": "Org1MSP",
                    "tokenType": "nonfungible",
                    "noOfNfts": 1
                }
            },
            {
                "trxId": "cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb",
                "timeStamp": 1649149545,
                "value": {
                    "assetType": "oaccount",
                    "bapAccountVersion" : 2,
                    "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "userId": "admin",
                    "orgId": "Org1MSP",
                    "tokenType": "nonfungible",
                    "noOfNfts": 0
                }
            },
            {
                "trxId": "e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c",
                "timeStamp": 1649147442,
                "value": {
                    "assetType": "oaccount",
                    "bapAccountVersion" : 1,
                    "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "userId": "admin",
                    "orgId": "Org1MSP",
                    "tokenType": "nonfungible",
                    "noOfNfts": 1
                }
            },
            {
                "trxId": "d2d1f9c898707ae831e9361bc25da6369eac37b10c87dc04d18d6f3808222f08",
                "timeStamp": 1649137534,
                "value": {
                    "assetType": "oaccount",
                    "bapAccountVersion" : 0,
                    "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "userId": "admin",
                    "orgId": "Org1MSP",
                    "tokenType": "nonfungible",
                    "noOfNfts": 0
                }
            }
        ],
        "encode": "JSON"
    }
}
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)
Parameter:
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "accounts": [
                "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d"
            ]
        },
        "encode": "JSON"
    }
}
getAccountsByTokenSysRole
Ursprünglicher Methodenname: getAccountsByTokenSysRole
Diese Methode gibt eine Liste aller Konto-IDs für eine angegebene TokenSys-Rolle zurück. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Abfrage:
/getAccountsByTokenSysRole?role=role value (for example vault)
Parameter:
  • role: string: Der Name der TokenSys-Rolle, nach der gesucht werden soll.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "accountIds": [
                "oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba"
            ]
        },
        "encode": "JSON"
    }
}
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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "assetType": "oaccountStatus",
            "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
            "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
            "status": "active"
        },
        "encode": "JSON"
    }
}
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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
          {
            "trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63",
            "timeStamp": "2022-12-02T10:39:14.000Z",
            "value": {
              "assetType": "oaccountStatus",
              "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
              "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
              "status": "suspended"
            }
          },
          {
            "trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183",
            "timeStamp": "2022-12-02T10:37:50.000Z",
            "value": {
              "assetType": "oaccountStatus",
              "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
              "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
              "status": "active"
            }
          }
        ],
        "encode": "JSON"
    }
}
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.
/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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4",
                "timestamp": "2022-04-05T09:30:44.000Z",
                "tokenId": "monalisa1",
                "noOfNfts": 1,
                "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                "transactionType": "BURN"
            },
            {
                "transactionId": "otransaction~a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3",
                "timestamp": "2022-04-05T09:30:22.000Z",
                "tokenId": "monalisa1",
                "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                "transactionType": "MINT"
            },
            {
                "transactionId": "otransaction~ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7",
                "timestamp": "2022-04-05T09:28:30.000Z",
                "tokenId": "monalisa",
                "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba",
                "transactionType": "CREDIT"
            },
            {
                "transactionId": "otransaction~cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb",
                "timestamp": "2022-04-05T09:05:45.000Z",
                "tokenId": "monalisa",
                "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba",
                "transactionType": "DEBIT"
            },
            {
                "transactionId": "otransaction~e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c",
                "timestamp": "2022-04-05T08:30:42.000Z",
                "tokenId": "monalisa",
                "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                "transactionType": "MINT"
            }
        ],
        "encode": "JSON"
    }
}
getAccountTransactionHistoryWithFilters
Ursprünglicher Methodenname: getAccountTransactionHistoryWithFilters
Diese GET-Methode gibt die Kontotransaktionshistorie für einen angegebenen Benutzer zurück, gefiltert nach PageSize, Bookmark, startTime und endTime. Dies ist eine asynchrone Methode. Diese Methode kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Oracle Blockchain Platform-Netzwerk besteht. Diese Methode kann nur vom Token Admin des Chaincodes oder vom Accounteigentümer aufgerufen werden.
/getAccountTransactionHistoryWithFilters?orgId={{bc-org-id}}&userId={{bc-user-id}}&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}
Parameter:
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • filters: object: Ein Objekt der Filterklasse, das vier Attribute enthält: pageSize, bookmark, startTime und endTime.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4",
                "timestamp": "2022-04-05T09:30:44.000Z",
                "tokenId": "monalisa1",
                "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                "transactionType": "BURN"
            },
            {
                "transactionId": "otransaction~a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3",
                "timestamp": "2022-04-05T09:30:22.000Z",
                "tokenId": "monalisa1",
                "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                "transactionType": "MINT"
            },
            {
                "transactionId": "otransaction~ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7",
                "timestamp": "2022-04-05T09:28:30.000Z",
                "tokenId": "monalisa",
                "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba",
                "transactionType": "CREDIT"
            },
            {
                "transactionId": "otransaction~cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb",
                "timestamp": "2022-04-05T09:05:45.000Z",
                "tokenId": "monalisa",
                "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba",
                "transactionType": "DEBIT"
            },
            {
                "transactionId": "otransaction~e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c",
                "timestamp": "2022-04-05T08:30:42.000Z",
                "tokenId": "monalisa",
                "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                "transactionType": "MINT"
            }
        ],
        "encode": "JSON"
    }
}
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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                "valueJson": {
                    "assetType": "oaccount",
                    "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "userId": "admin",
                    "orgId": "Org1MSP",
                    "tokenType": "nonfungible",
                    "noOfNfts": 1
                }   
            }
        ],
        "encode": "JSON"
    }
}
getAllLockedNFTs
Ursprünglicher Methodenname: getAllLockedNFTs
Diese GET-Methode gibt eine Liste aller gesperrten NFTs zurück. Diese Methode kann nur von einem Token Admin des Chaincodes oder vom Vault-Manager (dem Benutzer mit der Rolle TokenSys vault) aufgerufen werden.
Abfrage:
/getAllLockedNFTs
Parameter:
  • Kein
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
           {
              "key":"token1",
              "valueJson":{
                 "assetType":"otoken",
                 "tokenId":"token1",
                 "tokenName":"artcollection",
                 "symbol":"ART",
                 "tokenStandard":"erc721+",
                 "tokenType":"nonfungible",
                 "tokenUnit":"whole",
                 "behaviors":[
                    "indivisible",
                    "singleton",
                    "mintable",
                    "transferable",
                    "lockable",
                    "burnable",
                    "roles"
                 ],
                 "roles":{
                    "minter_role_name":"minter"
                 },
                 "mintable":{
                    "max_mint_quantity":20000
                 },
                 "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
                 "creationDate":"2023-10-20T10:26:29.000Z",
                 "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
                 "isBurned":false,
                 "isLocked":true,
                 "tokenUri":"token1.example.com",
                 "price":120,
                 "on_sale_flag":false
              }
           }
        ],
        "encode": "JSON"
    }
}
getAllTokenAdmins
Ursprünglicher Methodenname: getAllTokenAdmins
Diese 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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "admins":[
                {
                    "orgId":"Org1MSP",
                    "userId":"admin"
                }
            ]
        },
        "encode": "JSON"
    }
}
getAllTokens
Ursprünglicher Methodenname: getAllTokens
Diese 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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "monalisa",
                "valueJson": {
                    "metadata": {
                        "PaintingName": "Mona_Lisa",
                        "Description": "Mona Lisa Painting",
                        "Image": "monalisa.jpeg",
                        "PainterName": "Leonardo_da_Vinci"
                    },
                    "assetType": "otoken",
                    "tokenId": "monalisa",
                    "tokenName": "ravinft",
                    "tokenDesc": "token Description",
                    "symbol": "PNT",
                    "tokenStandard": "erc721+",
                    "tokenType": "nonfungible",
                    "tokenUnit": "whole",
                    "behaviors": [
                        "indivisible",
                        "singleton",
                        "mintable",
                        "transferable",
                        "burnable",
                        "roles"
                    ],
                    "roles": {
                        "minter_role_name": "minter",
                        "burner_role_name": "burner"
                    },
                    "mintable": {
                        "max_mint_quantity": 20000
                    },
                    "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1",
                    "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1",
                    "creationDate": "2022-04-07T21:17:48.000Z",
                    "isBurned": false,
                    "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg",
                    "NftBasePrice": 100
                }
            },
            {
                "key": "monalisa1",
                "valueJson": {
                    "metadata": {
                        "PaintingName": "Mona_Lisa",
                        "Description": "Mona Lisa Painting",
                        "Image": "monalisa.jpeg",
                        "PainterName": "Leonardo_da_Vinci"
                    },
                    "assetType": "otoken",
                    "tokenId": "monalisa1",
                    "tokenName": "ravinft",
                    "tokenDesc": "token Description",
                    "symbol": "PNT",
                    "tokenStandard": "erc721+",
                    "tokenType": "nonfungible",
                    "tokenUnit": "whole",
                    "behaviors": [
                        "indivisible",
                        "singleton",
                        "mintable",
                        "transferable",
                        "burnable",
                        "roles"
                    ],
                    "roles": {
                        "minter_role_name": "minter",
                        "burner_role_name": "burner"
                    },
                    "mintable": {
                        "max_mint_quantity": 20000
                    },
                    "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1",
                    "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1",
                    "creationDate": "2022-04-07T21:17:59.000Z",
                    "isBurned": false,
                    "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg",
                    "NftBasePrice": 100
                }
            }
        ],
        "encode": "JSON"
    }
}
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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "monalisa",
                "valueJson": {
                    "metadata": {
                        "PaintingName": "Mona_Lisa",
                        "Description": "Mona Lisa Painting",
                        "Image": "monalisa.jpeg",
                        "PainterName": "Leonardo_da_Vinci"
                    },
                    "assetType": "otoken",
                    "tokenId": "monalisa",
                    "tokenName": "ravinft",
                    "tokenDesc": "token Description",
                    "symbol": "PNT",
                    "tokenStandard": "erc721+",
                    "tokenType": "nonfungible",
                    "tokenUnit": "whole",
                    "behaviors": [
                        "indivisible",
                        "singleton",
                        "mintable",
                        "transferable",
                        "burnable",
                        "roles"
                    ],
                    "roles": {
                        "minter_role_name": "minter",
                        "burner_role_name": "burner"
                    },
                    "mintable": {
                        "max_mint_quantity": 20000
                    },
                    "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1",
                    "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1",
                    "creationDate": "2022-04-07T21:17:48.000Z",
                    "isBurned": false,
                    "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg",
                    "NftBasePrice": 100
                }
            },
            {
                "key": "monalisa1",
                "valueJson": {
                    "metadata": {
                        "PaintingName": "Mona_Lisa",
                        "Description": "Mona Lisa Painting",
                        "Image": "monalisa.jpeg",
                        "PainterName": "Leonardo_da_Vinci"
                    },
                    "assetType": "otoken",
                    "tokenId": "monalisa1",
                    "tokenName": "ravinft",
                    "tokenDesc": "token Description",
                    "symbol": "PNT",
                    "tokenStandard": "erc721+",
                    "tokenType": "nonfungible",
                    "tokenUnit": "whole",
                    "behaviors": [
                        "indivisible",
                        "singleton",
                        "mintable",
                        "transferable",
                        "burnable",
                        "roles"
                    ],
                    "roles": {
                        "minter_role_name": "minter",
                        "burner_role_name": "burner"
                    },
                    "mintable": {
                        "max_mint_quantity": 20000
                    },
                    "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1",
                    "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1",
                    "creationDate": "2022-04-07T21:17:59.000Z",
                    "isBurned": false,
                    "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg",
                    "NftBasePrice": 100
                }
            }
        ],
        "encode": "JSON"
    }
}
getLockedNFTsByOrg
Ursprünglicher Methodenname: getLockedNFTsByOrg
Diese Methode gibt eine Liste aller gesperrten nicht fungiblen Token für eine angegebene Organisation und optional einen angegebenen Benutzer zurück. Diese Methode kann nur von einem Token Admin des Chaincodes oder vom Vault-Manager (dem Benutzer mit der Rolle TokenSys vault) aufgerufen werden.
Abfrage:
/getLockedNFTsByOrg?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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
           {
              "key":"token1",
              "valueJson":{
                 "assetType":"otoken",
                 "tokenId":"token1",
                 "tokenName":"artcollection",
                 "symbol":"ART",
                 "tokenStandard":"erc721+",
                 "tokenType":"nonfungible",
                 "tokenUnit":"whole",
                 "behaviors":[
                    "indivisible",
                    "singleton",
                    "mintable",
                    "transferable",
                    "lockable",
                    "burnable",
                    "roles"
                 ],
                 "roles":{
                    "minter_role_name":"minter"
                 },
                 "mintable":{
                    "max_mint_quantity":20000
                 },
                 "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
                 "creationDate":"2023-10-20T10:26:29.000Z",
                 "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
                 "isBurned":false,
                 "isLocked":true,
                 "tokenUri":"token1.examplecom",
                 "price":120,
                 "on_sale_flag":false
              }
           }
        ],
        "encode": "JSON"
    }
}
getTokenById
Ursprünglicher Methodenname: getTokenById
Diese 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.
Abfrage:
/getTokenById?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des abzurufenden Tokens.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "metadata": {
                "painting_name": "Mona_Lisa",
                "description": "Mona Lisa Painting",
                "image": "monalisa.jpeg",
                "painter_name": "Leonardo_da_Vinci"
            },
            "assetType": "otoken",
            "tokenId": "monalisa",
            "tokenName": "artcollection",
            "tokenDesc": "token description",
            "symbol": "ART",
            "tokenStandard": "erc721+",
            "tokenType": "nonfungible",
            "tokenUnit": "whole",
            "behaviors": [
                "indivisible",
                "singleton",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter"
            },
            "mintable": {
                "max_mint_quantity": 20000
            },
            "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
            "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
            "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
            "creationDate": "2022-04-05T08:30:42.000Z",
            "transferredDate": "2022-04-05T09:28:30.000Z",
            "isBurned": false,
            "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg",
            "price": 100,
            "on_sale_flag": true
        },
        "encode": "JSON"
    }
}
getTokenHistory
Ursprünglicher Methodenname: getTokenHistory
Diese Methode gibt die Historie für eine angegebene Token-ID zurück. Dies ist eine asynchrone Methode. Diese Methode kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Oracle Blockchain Platform-Netzwerk besteht. Jeder kann diese Methode nennen.
/getTokenHistory?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "trxId": "ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7",
                "timeStamp": 1649150910,
                "value": {
                    "metadata": {
                        "painting_name": "Mona_Lisa",
                        "description": "Mona Lisa Painting",
                        "image": "monalisa.jpeg",
                        "painter_name": "Leonardo_da_Vinci"
                    },
                    "assetType": "otoken",
                    "tokenId": "monalisa",
                    "tokenName": "artcollection",
                    "tokenDesc": "token description",
                    "symbol": "ART",
                    "tokenStandard": "erc721+",
                    "tokenType": "nonfungible",
                    "tokenUnit": "whole",
                    "behaviors": [
                        "indivisible",
                        "singleton",
                        "mintable",
                        "transferable",
                        "burnable",
                        "roles"
                    ],
                    "roles": {
                        "minter_role_name": "minter"
                    },
                    "mintable": {
                        "max_mint_quantity": 20000
                    },
                    "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "creationDate": "2022-04-05T08:30:42.000Z",
                    "transferredDate": "2022-04-05T09:28:30.000Z",
                    "isBurned": false,
                    "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg",
                    "price": 100,
                    "on_sale_flag": true
                }
            },
            {
                "trxId": "cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb",
                "timeStamp": 1649149545,
                "value": {
                    "metadata": {
                        "painting_name": "Mona_Lisa",
                        "description": "Mona Lisa Painting",
                        "image": "monalisa.jpeg",
                        "painter_name": "Leonardo_da_Vinci"
                    },
                    "assetType": "otoken",
                    "tokenId": "monalisa",
                    "tokenName": "artcollection",
                    "tokenDesc": "token description",
                    "symbol": "ART",
                    "tokenStandard": "erc721+",
                    "tokenType": "nonfungible",
                    "tokenUnit": "whole",
                    "behaviors": [
                        "indivisible",
                        "singleton",
                        "mintable",
                        "transferable",
                        "burnable",
                        "roles"
                    ],
                    "roles": {
                        "minter_role_name": "minter"
                    },
                    "mintable": {
                        "max_mint_quantity": 20000
                    },
                    "owner": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba",
                    "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "creationDate": "2022-04-05T08:30:42.000Z",
                    "transferredDate": "2022-04-05T09:05:45.000Z",
                    "isBurned": false,
                    "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg",
                    "price": 100,
                    "on_sale_flag": true
                }
            },
            {
                "trxId": "702e61cc8d6d2982521023d0d5f3195900f35e146d6a90ef66daae551e6075d2",
                "timeStamp": 1649147729,
                "value": {
                    "metadata": {
                        "painting_name": "Mona_Lisa",
                        "description": "Mona Lisa Painting",
                        "image": "monalisa.jpeg",
                        "painter_name": "Leonardo_da_Vinci"
                    },
                    "assetType": "otoken",
                    "tokenId": "monalisa",
                    "tokenName": "artcollection",
                    "tokenDesc": "token description",
                    "symbol": "ART",
                    "tokenStandard": "erc721+",
                    "tokenType": "nonfungible",
                    "tokenUnit": "whole",
                    "behaviors": [
                        "indivisible",
                        "singleton",
                        "mintable",
                        "transferable",
                        "burnable",
                        "roles"
                    ],
                    "roles": {
                        "minter_role_name": "minter"
                    },
                    "mintable": {
                        "max_mint_quantity": 20000
                    },
                    "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "creationDate": "2022-04-05T08:30:42.000Z",
                    "isBurned": false,
                    "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg",
                    "price": 100,
                    "on_sale_flag": true
                }
            },
            {
                "trxId": "e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c",
                "timeStamp": 1649147442,
                "value": {
                    "metadata": {
                        "painting_name": "Mona_Lisa",
                        "description": "Mona Lisa Painting",
                        "image": "monalisa.jpeg",
                        "painter_name": "Leonardo_da_Vinci"
                    },
                    "assetType": "otoken",
                    "tokenId": "monalisa",
                    "tokenName": "artcollection",
                    "tokenDesc": "token description",
                    "symbol": "ART",
                    "tokenStandard": "erc721+",
                    "tokenType": "nonfungible",
                    "tokenUnit": "whole",
                    "behaviors": [
                        "indivisible",
                        "singleton",
                        "mintable",
                        "transferable",
                        "burnable",
                        "roles"
                    ],
                    "roles": {
                        "minter_role_name": "minter"
                    },
                    "mintable": {
                        "max_mint_quantity": 20000
                    },
                    "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                    "creationDate": "2022-04-05T08:30:42.000Z",
                    "isBurned": false,
                    "tokenUri": "\"https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg\"",
                    "price": 100,
                    "on_sale_flag": false
                }
            }
        ]
        "encode": "JSON"
    }
}
getTransactionById
Ursprünglicher Methodenname: getTransactionById
Diese Methode gibt die Transaktionshistorie für eine angegebene Transaktions-ID zurück. Dies ist eine asynchrone Methode. Diese Methode kann nur von einem Token Admin des Chaincodes 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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4",
            "history": [
                {
                    "trxId": "6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4",
                    "timeStamp": 1649151044,
                    "value": {
                        "assetType": "otransaction",
                        "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4",
                        "tokenId": "monalisa1",
                        "fromAccountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                        "toAccountId": "",
                        "triggeredByAccountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
                        "transactionType": "BURN",
                        "timestamp": "2022-04-05T09:30:44.000Z",
                    }
                }
            ]
        },
        "encode": "JSON"
    }
}
getUserByAccountId
Ursprünglicher Methodenname: getUserByAccountId
Diese GET-Methode gibt die Benutzerdetails für einen angegebenen Account zurück.
Abfrage:
/getUserByAccountId?accountId=accountId value
Parameter:
  • accountId: string: Die ID des Accounts.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
          "userId": "admin",
          "orgId": "Org1MSP"
        },
        "encode": "JSON"
    }
}
getUsersByRole
Ursprünglicher Methodenname: getUsersByRole
Diese Methode gibt eine Liste aller Benutzer für eine angegebene Rolle zurück.
/getUsersByRole?role=role value (for example minter / burner)
Parameter:
  • role: string: Der Name der Rolle, nach der gesucht werden soll.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "users": [
                {
                    "userId": "admin",
                    "orgId": "Org1MSP"
                }
            ]
        },
        "encode": "JSON"
    }
}
init
Ursprünglicher Methodenname: init
Diese Methode wird aufgerufen, wenn der Chaincode bereitgestellt wird. Die Benutzerinformationen werden als Token Admin des Chaincodes gespeichert.
Payload:
{
    "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-admin-user}}\"}]"
}
Parameter:
  • adminList array: Ein Array mit {user_id, org_id}-Informationen, das die Liste der Tokenadministratoren angibt. Das Array adminList ist ein obligatorischer Parameter.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807",
        "payload": "",
        "encode": "UTF-8",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 263
    }
}
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)
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.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "result":"true"
        },
        "encode": "JSON"
    }
}
isInTokenSysRole
Ursprünglicher Methodenname: isInTokenSysRole
Diese GET-Methode gibt einen booleschen Wert zurück, um anzugeben, ob ein Benutzer über eine angegebene TokenSys-Rolle verfügt. Diese Methode kann nur von einem Token Admin des Chaincodes oder dem Account Owner des Accounts aufgerufen werden.
Abfrage:
/isInTokenSysRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example vault)
Parameter:
  • role: string: Der Name der TokenSys-Rolle, nach der gesucht werden soll.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "result": true,
            "msg": "Account Id oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba (Org-Id: Org1MSP, User-Id: user1) has vault role"
        },
        "encode": "JSON"
    }
}
isNFTLocked
Ursprünglicher Methodenname: isNFTLocked
Diese GET-Methode gibt einen booleschen Wert zurück, um anzugeben, ob ein angegebenes Token gesperrt ist. Diese Methode kann nur von einem Token Admin des Chaincodes, dem Tokeneigentümer oder dem Vault-Manager (dem Benutzer mit der Rolle TokenSys vault) aufgerufen werden.
Abfrage:
/isNFTLocked?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
           "isNFTLocked":true
        },
        "encode": "JSON"
    }
}
lockNFT
Ursprünglicher Methodenname: lockNFT
Diese POST-Methode sperrt ein angegebenes nicht fungibles Token. Um ein Token zu sperren, muss ein Benutzer mit der Rolle TokenSys vault vorhanden sein, der als Vault-Manager fungiert.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "sameOrgEndorser": true
}
Parameter:
  • tokenId: string: Die ID des zu sperrenden Tokens.
  • sameOrgEndorser: boolean: Ein boolescher Wert, der angibt, ob Transaktionsbestätigungen aus derselben Organisation wie der Anforderer stammen müssen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
           "assetType":"otoken",
           "tokenId":"token1",
           "tokenName":"artcollection",
           "symbol":"ART",
           "tokenStandard":"erc721+",
           "tokenType":"nonfungible",
           "tokenUnit":"whole",
           "behaviors":[
              "indivisible",
              "singleton",
              "mintable",
              "transferable",
              "lockable",
              "burnable",
              "roles"
           ],
           "roles":{
              "minter_role_name":"minter"
           },
           "mintable":{
              "max_mint_quantity":20000
           },
           "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
           "creationDate":"2023-10-20T10:26:29.000Z",
           "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
           "isBurned":false,
           "isLocked":true,
           "tokenUri":"token1.example.com",
           "price":120,
           "on_sale_flag":false
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
name
Ursprünglicher Methodenname: name
Diese GET-Methode gibt den Namen der Token-Klasse zurück. Jeder kann diese Methode nennen.
Abfrage:
/name
Parameter: Keine
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {"tokenName": "artcollection"},
        "encode": "JSON"
    }
}
ownerOf
Ursprünglicher Methodenname: ownerOf
Diese GET-Methode gibt die Konto-ID des Eigentümers 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 Account-ID des Verantwortlichen.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "owner": "oaccount~d6d22c3167e3c6ab9ee5653e1a008c37c20cc47ebb0229ca0aedfafe64c675b8"
        },
        "encode": "JSON"
    }
}
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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "Token ID: 'monalisa'  has been posted for selling in the marketplace"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
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:
{
    "role": "role value (for example minter / burner)",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parameter:
  • role: string: Der Name der Rolle, die vom angegebenen Benutzer entfernt werden soll. Die Verhaltensweisen mintable und burnable entsprechen den Eigenschaften minter_role_name und burner_role_name der Spezifikationsdatei.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "Successfully removed role 'minter' from Account Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "Successfully removed Admin (orgId: Org1MSP, userId: User1)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
removeTokenSysRole
Ursprünglicher Methodenname: removeTokenSysRole
Diese Methode entfernt eine TokenSys-Rolle von einem angegebenen Benutzer und Token. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Payload:
{
    "role": "role value (for example vault)",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parameter:
  • role: string: Der Name der TokenSys-Rolle, die aus dem angegebenen Benutzer entfernt werden soll.
  • orgId: string - Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "Successfully removed role 'vault' from Account Id: oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba (Org-Id: Org1MSP, User-Id: user1)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
safeTransferFrom
Ursprünglicher Methodenname: safeTransferFrom
Dies ist eine asynchrone Funktion. Diese POST-Methode überträgt die Verantwortung für den angegebenen NFT vom Aufrufer auf ein anderes Konto. Diese Methode umfasst die folgenden Validierungen:
  • Der Token existiert und wird nicht verbrannt.
  • Das Absenderkonto und das Empfängerkonto sind vorhanden und nicht dasselbe Konto.
  • Das Absenderkonto ist Eigentümer des Tokens.
  • Der Aufrufer der Funktion ist der Absender.
Payload:
{
    "fromOrgId": "fromOrgId value",
    "fromUserId": "fromUserId value",
    "toOrgId": "toOrgId value",
    "toUserId": "toUserId value",
    "tokenId": "{{bc-token-id}}",
    "data": "data 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.
  • tokenId: string: Die ID des zu übertragenden Tokens.
  • data: string: Optionale zusätzliche Informationen zum Speichern im Transaktionsdatensatz.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "Successfully transferred NFT token: 'monalisa' from Account-Id:     oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin) to Account-Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
suspendAccount
Ursprünglicher Methodenname: suspendAccount
Diese Methode setzt ein fungibles Token-Konto aus. Es löst einen Fehler aus, wenn kein accountStatus-Wert im Buch gefunden wird. Diese Methode kann nur von einem Token Admin des Chaincodes 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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "assetType": "oaccountStatus",
            "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
            "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
            "status": "suspended"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
symbol
Ursprünglicher Methodenname: symbol
Diese Methode gibt das Symbol der Token-Klasse zurück. Jeder kann diese Methode nennen.
Abfrage:
/symbol
Parameter:
  • Kein
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "symbol": "PNT"
        },
        "encode": "JSON"
    }
}
tokenURI
Ursprünglicher Methodenname: tokenURI
Diese Methode gibt die URI eines angegebenen Tokens zurück. Jeder kann diese Methode nennen.
Abfrage:
/tokenURI?tokenId={{bc-token-id}}
Parameter:
  • tokenId: string: Die ID des Tokens.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {   
            "tokenURI": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\.ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg"
        },
        "encode": "JSON"
    }
}
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.
/totalNetSupply
Parameter:
  • Kein
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "totalNetSupply": 1
        },
        "encode": "JSON"
    }
}
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:
/totalSupply
Parameter:
  • Kein
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "totalSupply": 3
        },
        "encode": "JSON"
    }
}
transferFrom
Ursprünglicher Methodenname: transferFrom
Dies ist eine asynchrone Funktion. Diese Methode überträgt die Verantwortung für den angegebenen NFT von einem Absenderkonto auf ein Empfängerkonto. Es liegt in der Verantwortung des Aufrufers, die richtigen Parameter zu übergeben. Diese Methode kann von jedem Benutzer aufgerufen werden, nicht nur vom Token-Eigentümer. Diese Methode umfasst die folgenden Validierungen:
  • Der Token existiert und wird nicht verbrannt.
  • Das Absenderkonto und das Empfängerkonto sind vorhanden und nicht dasselbe Konto.
  • Das Absenderkonto ist Eigentümer des Tokens.
Payload:
{
    "fromOrgId": "fromOrgId value",
    "fromUserId": "fromUserId value",
    "toOrgId": "toOrgId value",
    "toUserId": "toUserId value",
    "tokenId": "{{bc-token-id}}",
    "endorsers": {{endorsers}}
}
Parameter:
  • fromOrgId: string - Die Mitgliedschaftsdienstleister-ID (MSP) des Absenders in der aktuellen Organisation.
  • fromUserId: string: Der Benutzername oder die E-Mail-ID des Absenders.
  • 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.
  • tokenId: string: Die ID des zu übertragenden Tokens.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "Successfully transferred NFT token: 'monalisa' from Account-Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1) to Account-Id: oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
transferTokenSysRole
Ursprünglicher Methodenname: transferTokenSysRole
Diese Methode überträgt eine TokenSys-Rolle von einem Benutzer an einen anderen Benutzer.
Payload:
{
    "role": "role value (for example vault)",
    "fromOrgId": "fromOrgId value",
    "fromUserId": "fromUserId value",
    "toOrgId": "toOrgId value",
    "toUserId": "toUserId value",
    "endorsers": {{endorsers}}
}
Parameter:
  • role: string: Der Name der zu übertragenden TokenSys-Rolle.
  • fromOrgId: string - Die Mitgliedschaftsdienstleister-ID (MSP) des Absenders in der aktuellen Organisation.
  • fromUserId: string: Der Benutzername oder die E-Mail-ID des Absenders.
  • 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.
  • endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion bestätigen muss.
Beispiel für einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "Successfully transfered role 'vault' from Account Id: ouaccount~f4e311528f03fffa7810753d643f66289ff6c9080fcf839902f28a1d3aff1789 (Org-Id: Org1MSP, User-Id: user1) to Account Id: ouaccount~ae5be2ae8f98d6d32f5d02b43877d987114e7937c7bacbc30390dcce09996a19 (Org-Id: Org1MSP, User-Id: user2)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
updateArtCollectionToken
Ursprünglicher Methodenname: updateArtCollectionToken
Diese Methode aktualisiert Tokeneigenschaften. Nachdem ein Tokenasset erstellt wurde, kann nur der Tokeneigentümer die benutzerdefinierten Eigenschaften des Tokens aktualisieren. Wenn der Benutzer sowohl Tokeneigentümer als auch Ersteller eines Tokens ist, kann er auch die Eigenschaft TokenDesc aktualisieren. Tokenmetadaten können nicht aktualisiert werden. Sie müssen alle Tokeneigenschaften an diese Methode übergeben, auch wenn Sie nur bestimmte Eigenschaften aktualisieren möchten.
Payload:
{
    "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"Price\":999,\"On_Sale_Flag\":true}",
    "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 einen Rückgabewert:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "metadata": {
                "painting_name": "Mona_Lisa",
                "description": "Mona Lisa Painting",
                "image": "monalisa.jpeg",
                "painter_name": "Leonardo_da_Vinci"
            },
            "assetType": "otoken",
            "tokenId": "monalisa",
            "tokenName": "artcollection",
            "tokenDesc": "token description",
            "symbol": "ART",
            "tokenStandard": "erc721+",
            "tokenType": "nonfungible",
            "tokenUnit": "whole",
            "behaviors": [
                "indivisible",
                "singleton",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter"
            },
            "mintable": {
                "max_mint_quantity": 20000
            },
            "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
            "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
            "creationDate": "2022-04-05T08:30:42.000Z",
            "isBurned": false,
            "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\.ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg",
            "price": 100,
            "on_sale_flag": true
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}