- Edizione degli asset digitali di Oracle Blockchain Platform
- Framework token generici
- Framework token non fungibile
- Package API wrapper framework token non fungibile
Package API wrapper framework token non fungibile
Oracle Blockchain Platform Digital Assets Edition include un package API wrapper che estende l'API REST per supportare operazioni specifiche di un marketplace NFT da collezione.
Il package API wrapper utilizza il servizio Gateway API e le funzioni OCI per distribuire gli instradamenti API progettati specificamente per l'applicazione di mercato da collezione. Il pacchetto API wrapper del framework token non fungibile può essere scaricato dalla console di Oracle Blockchain Platform e include i componenti riportati di seguito.
NFTCollectiblesWithERC721WrapperAPI.zip
, un file di archivio che contiene il package API wrapper che include gli script Terraform necessari per la distribuzione. Puoi distribuire questo file in uno stack di Resource Manager su Oracle Cloud Infrastructure (OCI) per creare le risorse Oracle necessarie per le API Wrapper.NFTCollectiblesWithERC721_WrapperAPI.postman_collection.json
, una raccolta Postman che consente di eseguire il test delle API wrapper distribuite. La raccolta include richieste preconfigurate con endpoint e payload corrispondenti alle API definite nel package API wrapper.
API wrapper
-
activateAccount
- Nome metodo originale:
activateAccount
- Questo metodo POST attiva un account token. Questo metodo può essere richiamato solo da un amministratore. Per tutti i conti creati prima della funzionalità di stato del conto, è necessario chiamare questo metodo per visualizzare lo stato del conto su Attivo.
- Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Restituisce:
- In caso di operazione riuscita, una rappresentazione JSON dell'oggetto stato account per l'account token specificato.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
addTokenAdmin
- Questo metodo POST aggiunge un utente come
Token Admin
del codice concatenato. Questo metodo può essere richiamato solo da unToken Admin
del codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Restituisce:
- In caso di operazione riuscita, un messaggio che include i dettagli dell'utente aggiunto come
Token Admin
del codice concatenato.
- In caso di operazione riuscita, un messaggio che include i dettagli dell'utente aggiunto come
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
addRole
- Questo metodo aggiunge il ruolo all'utente e al token specificati.
- Payload:
{ "role": "role value (for example minter / burner)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
role: string
: il nome del ruolo da aggiungere all'utente specificato.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
addTokenSysRole
- Questo metodo aggiunge
Org Admins
al codice concatenato del token. - Payload:
{ "role": "role value (for example vault)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
role: string
: il nome del ruolo da aggiungere all'utente specificato.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
balanceOf
- Questo metodo GET restituisce il numero totale di operazioni NFT detenute da un utente specificato. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato o dal proprietario del conto. - Query:
/balanceOf?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalNfts": 0 }, "encode": "JSON" } }
-
buy
- Nome metodo originale:
buy
- Questo metodo POST acquista un token in vendita.
- 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}} }
- Parametri:
fromOrgId: string
: l'ID del provider di servizi di appartenenza (MSP) del mittente (proprietario) nell'organizzazione corrente.fromUserId: string
- Il nome utente o l'ID e-mail del mittente (proprietario).toOrgId: string
: l'ID del provider di servizi di appartenenza (MSP) del destinatario nell'organizzazione corrente.toUserId: string
: il nome utente o l'ID e-mail del destinatario.nonfungibleTokenId: string
: l'ID del token da acquistare.amountPaid: number
- Il prezzo del token.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
createAccount
- Questo metodo crea un account per un utente e un token specificati. È necessario creare un account per qualsiasi utente che avrà token in qualsiasi momento. Gli account tengono traccia del numero di operazioni NFT di proprietà di un utente. Un ID account è un set alfanumerico di caratteri, preceduto da
oaccount~
e seguito da un hash SHA-256 dell'ID provider di servizi di appartenenza (orgId
) dell'utente nell'organizzazione di rete corrente, dal nome utente o dall'ID di posta elettronica (userId
) del proprietario dell'istanza o dell'utente che ha eseguito il login all'istanza e dalla stringa costantenft
. Questo metodo può essere richiamato solo da unToken Admin
del codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenType": "nonfungible", "endorsers": {{endorsers}} }
- Parametri:
orgId
: l'ID del provider di servizi di appartenenza (MSP) dell'utente per il quale creare l'account. L'ID deve iniziare con un carattere alfanumerico e può includere lettere, numeri e caratteri speciali quali i caratteri di sottolineatura (_), i punti (.), i segni @ e i trattini (-).userId
: il nome utente o l'ID e-mail dell'utente. L'ID deve iniziare con un carattere alfanumerico e può includere lettere, numeri e caratteri speciali quali i caratteri di sottolineatura (_), i punti (.), i segni @ e i trattini (-).tokenType: TokenType
: il tipo di token, che deve esserefungible
.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
createArtCollectionToken
- Questo metodo POST crea (mint) un NFT. L'asset e le proprietà associate vengono salvati nel database di stato. Il chiamante di questa transazione deve disporre di un account token. Il chiamante di questa transazione diventa il proprietario dell'NFT. Se il file di specifica del token include la sezione
roles
perbehaviors
e la proprietàminter_role_name
perroles
, il chiamante della transazione deve disporre del ruolo secondario. In caso contrario, qualsiasi chiamante può coniare NFT. - 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 }
- Parametri:
tokenAsset: <Token Class>
: asset token da coniare. Per ulteriori informazioni sulle proprietà dell'asset token, vedere il file di specifica di input.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
deleteAccount
- Questo metodo POST elimina un account token. Dopo l'eliminazione di un conto, il conto si trova in uno stato finale e non può essere aggiornato o modificato in un altro stato. Per eliminare un conto, il saldo del conto deve essere zero. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Restituisce:
- In caso di operazione riuscita, una rappresentazione JSON dello stato dell'account token.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getAccountByUser
- Questo metodo restituisce i dettagli dell'account per un utente specificato. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato o dall'Account Owner
dell'account. - Query:
/getAccountByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getAccountHistory
- Questo metodo restituisce la cronologia dell'account per un utente specificato. Si tratta di un metodo asincrono. Questo metodo può essere chiamato solo dal
Token Admin
del codice concatenato o dal proprietario del conto. - Query:
/getAccountHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getAccountsByRole
- Questo metodo restituisce un elenco di tutti gli ID account per un ruolo specificato. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato. - Query:
/getAccountsByRole?role=role value (for example minter / burner)
- Parametri:
role: string
: il nome del ruolo da cercare.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "accounts": [ "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d" ] }, "encode": "JSON" } }
-
getAccountsByTokenSysRole
- Nome metodo originale:
getAccountsByTokenSysRole
- Questo metodo restituisce un elenco di tutti gli ID account per un ruolo
TokenSys
specificato. Questo metodo può essere richiamato solo da unToken Admin
del codice concatenato. - Query:
/getAccountsByTokenSysRole?role=role value (for example vault)
- Parametri:
role: string
: il nome del ruoloTokenSys
da cercare.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "accountIds": [ "oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba" ] }, "encode": "JSON" } }
-
getAccountStatus
- Nome metodo originale:
getAccountStatus
- Questo metodo GET recupera lo stato corrente dell'account token. Questo metodo può essere chiamato dal
Token Admin
del codice concatenato o dal proprietario dell'account token. - Query:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Restituisce:
- In caso di operazione riuscita, una rappresentazione JSON dello stato dell'account token.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" }, "encode": "JSON" } }
-
getAccountStatusHistory
- Nome metodo originale:
getAccountStatusHistory
- Questo metodo GET recupera la cronologia dello stato dell'account. Questo metodo può essere chiamato dal
Token Admin
del codice concatenato o dal proprietario dell'account token. - Query:
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Restituisce:
- In caso di operazione riuscita, la cronologia dello stato dell'account in formato JSON.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getAccountTransactionHistory
- Questo metodo GET restituisce la cronologia delle transazioni del conto. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato o dal proprietario del conto. /getAccountTransactionHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getAccountTransactionHistoryWithFilters
- Questo metodo GET restituisce la cronologia delle transazioni conto per un utente specificato, filtrata in base a
PageSize
,Bookmark
,startTime
eendTime
. Si tratta di un metodo asincrono. Questo metodo può essere richiamato solo quando è connesso alla rete remota di Oracle Blockchain Platform. Questo metodo può essere chiamato solo dalToken Admin
del codice concatenato o dal proprietario del conto. /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"}
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.filters: object
: oggetto della classe Filtro contenente quattro attributi:pageSize
,bookmark
,startTime
eendTime
.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getAllAccounts
- Questo metodo GET restituisce i dettagli di tutti gli account utente. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato. - Query:
/getAllAccounts
- Parametri:
- nessuno
- Restituisce:
- In caso di operazione riuscita, un array JSON di tutti gli account.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getAllLockedNFTs
- Questo metodo GET restituisce un elenco di tutti gli NFT bloccati. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato o da Vault Manager (l'utente con il ruoloTokenSys vault
). - Query:
/getAllLockedNFTs
- Parametri:
- nessuno
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getAllTokenAdmins
- Questo metodo restituisce un elenco di tutti gli utenti che sono un
Token Admin
del codice concatenato. Questo metodo può essere richiamato solo dalToken Admin
del codice concatenato. - Query:
/getAllTokenAdmins
- Parametri:
- nessuno
- Restituisce:
- In caso di operazione riuscita, un array
admins
in formato JSON contenente gli oggettiorgId
euserId
.
- In caso di operazione riuscita, un array
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "admins":[ { "orgId":"Org1MSP", "userId":"admin" } ] }, "encode": "JSON" } }
-
getAllTokens
- Nome metodo originale:
getAllTokens
- Questo metodo restituisce tutti gli asset token salvati nel database di stato. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato. Questo metodo utilizza query rich SQL di Berkeley DB e può essere richiamato solo quando si è connessi alla rete remota di Oracle Blockchain Platform. - Query:
/getAllTokens
- Parametri:
- nessuno
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getAllTokensByUser
- Questo metodo GET restituisce tutti gli asset token di proprietà di un utente specificato. Questo metodo utilizza query rich SQL di Berkeley DB e può essere richiamato solo quando si è connessi alla rete remota di Oracle Blockchain Platform. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato o dal proprietario del conto. - Query:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
org_id: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.user_id: string
: il nome utente o l'ID di posta elettronica dell'utente.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getLockedNFTsByOrg
- Questo metodo restituisce un elenco di tutti i token non fungibili bloccati per un'organizzazione specificata e, facoltativamente, per un utente specificato. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato o dal gestore vault (l'utente con il ruoloTokenSys vault
). - Query:
/getLockedNFTsByOrg?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
org_id: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.user_id: string
: il nome utente o l'ID di posta elettronica dell'utente.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getTokenById
- Questo metodo restituisce un oggetto token se il token è presente nel database di stato. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato o dal proprietario del token. - Query:
/getTokenById?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token da ottenere.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getTokenHistory
- Questo metodo restituisce la cronologia per un ID token specificato. Si tratta di un metodo asincrono. Questo metodo può essere richiamato solo quando è connesso alla rete remota di Oracle Blockchain Platform. Chiunque può chiamare questo metodo.
/getTokenHistory?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getTransactionById
- Questo metodo restituisce la cronologia delle transazioni per un ID transazione specificato. Si tratta di un metodo asincrono. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato. - Query:
/getTransactionById?transactionId=transactionId value
- Parametri:
transactionId: string
: l'ID della transazione, che è il prefissootransaction~
seguito dall'hash a 64 bit in formato esadecimale.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
getUserByAccountId
- Questo metodo GET restituisce i dettagli utente per un account specificato.
- Query:
/getUserByAccountId?accountId=accountId value
- Parametri:
accountId: string
: l'ID del conto.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "userId": "admin", "orgId": "Org1MSP" }, "encode": "JSON" } }
-
getUsersByRole
- Nome metodo originale:
getUsersByRole
- Questo metodo restituisce un elenco di tutti gli utenti per un ruolo specificato.
/getUsersByRole?role=role value (for example minter / burner)
- Parametri:
role: string
: il nome del ruolo da cercare.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "users": [ { "userId": "admin", "orgId": "Org1MSP" } ] }, "encode": "JSON" } }
-
init
- Nome metodo originale:
init
- Questo metodo viene chiamato quando viene distribuito il codice concatenato. Le informazioni utente vengono salvate come
Token Admin
del codice concatenato. - Payload:
{ "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-admin-user}}\"}]" }
- Parametri:
adminList array
: un array di informazioni{user_id, org_id}
che specifica la lista degli amministratori di token. L'arrayadminList
è un parametro obbligatorio.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807", "payload": "", "encode": "UTF-8", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 263 } }
-
isInRole
- Nome metodo originale:
isInRole
- Questo metodo GET restituisce un valore booleano per indicare se un utente dispone di un ruolo specificato. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato o dall'Account Owner
dell'account. - Query:
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner)
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.role: string
: il nome del ruolo da cercare.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "result":"true" }, "encode": "JSON" } }
-
isInTokenSysRole
- Nome metodo originale:
isInTokenSysRole
- Questo metodo GET restituisce un valore booleano per indicare se un utente dispone di un ruolo
TokenSys
specificato. Questo metodo può essere richiamato solo da unToken Admin
del codice concatenato o dall'Account Owner
dell'account. - Query:
/isInTokenSysRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example vault)
- Parametri:
role: string
: il nome del ruoloTokenSys
da cercare.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "result": true, "msg": "Account Id oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba (Org-Id: Org1MSP, User-Id: user1) has vault role" }, "encode": "JSON" } }
-
isNFTLocked
- Nome metodo originale:
isNFTLocked
- Questo metodo GET restituisce un valore booleano per indicare se un token specificato è bloccato. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato, dal proprietario del token o dal vault manager (l'utente con il ruoloTokenSys vault
). - Query:
/isNFTLocked?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "isNFTLocked":true }, "encode": "JSON" } }
-
lockNFT
- Nome metodo originale:
lockNFT
- Questo metodo POST blocca un token non fungibile specificato. Per bloccare un token, deve esistere un utente con il ruolo
TokenSys vault
, che funge da gestore del vault. - Payload:
{ "tokenId": "{{bc-token-id}}", "sameOrgEndorser": true }
- Parametri:
tokenId: string
: l'ID del token da bloccare.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
name
- Questo metodo GET restituisce il nome della classe di token. Chiunque può chiamare questo metodo.
- Query:
/name
- Parametri: nessuno.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": {"tokenName": "artcollection"}, "encode": "JSON" } }
-
ownerOf
- Nome metodo originale:
ownerOf
- Questo metodo GET restituisce l'ID account del proprietario dell'ID token specificato. Chiunque può chiamare questo metodo.
- Query:
/ownerOf?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Restituisce:
- Oggetto JSON dell'ID account del proprietario.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "owner": "oaccount~d6d22c3167e3c6ab9ee5653e1a008c37c20cc47ebb0229ca0aedfafe64c675b8" }, "encode": "JSON" } }
-
post
- Nome metodo originale:
post
- Questo metodo POST pubblica un token in vendita per un prezzo specificato.
- Payload:
{ "tokenId": "{{bc-token-id}}", "sellingPrice": 1, "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.sellingPrice: number
- Il prezzo del token.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
removeRole
- Questo metodo rimuove un ruolo da un utente specificato. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato. - Payload:
{ "role": "role value (for example minter / burner)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
role: string
: il nome del ruolo da rimuovere dall'utente specificato. I comportamentimintable
eburnable
corrispondono alle proprietàminter_role_name
eburner_role_name
del file di specifica.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
removeTokenAdmin
- Questo metodo POST rimuove un utente come
Token Admin
del codice concatenato. Questo metodo può essere richiamato solo da unToken Admin
del codice concatenato. Un amministratore non può rimuovere se stesso. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parametri:
org_id: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.user_id: string
: il nome utente o l'ID di posta elettronica dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
removeTokenSysRole
- Questo metodo rimuove un ruolo
TokenSys
da un utente e un token specificati. Questo metodo può essere richiamato solo da unToken Admin
del codice concatenato. - Payload:
{ "role": "role value (for example vault)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
role: string
: il nome del ruoloTokenSys
da rimuovere dall'utente specificato.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
safeTransferFrom
- Questa è una funzione asincrona. Questo metodo POST trasferisce la proprietà del NFT specificato dal chiamante a un altro conto. Questo metodo include le seguenti convalide:
- Il token esiste e non viene masterizzato.
- L'account mittente e l'account ricevente esistono e non sono lo stesso account.
- L'account mittente è proprietario del token.
- Il chiamante della funzione è il mittente.
- Payload:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenId": "{{bc-token-id}}", "data": "data value", "endorsers": {{endorsers}} }
- Parametri:
fromOrgId: string
: l'ID del provider di servizi di appartenenza (MSP) del mittente e del proprietario del token nell'organizzazione corrente.fromUserId: string
: il nome utente o l'ID di posta elettronica del mittente e del proprietario del token.toOrgId: string
: l'ID del provider di servizi di appartenenza (MSP) del destinatario nell'organizzazione corrente.toUserId: string
: il nome utente o l'ID e-mail del destinatario.tokenId: string
: l'ID del token da trasferire.data: string
: informazioni aggiuntive facoltative da memorizzare nel record transazione.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
suspendAccount
- Questo metodo sospende un account token fungibile. Se un valore
accountStatus
non viene trovato nel libro contabile, viene restituito un errore. Questo metodo può essere richiamato solo da unToken Admin
del codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
symbol
- Questo metodo restituisce il simbolo della classe di token. Chiunque può chiamare questo metodo.
- Query:
/symbol
- Parametri:
- nessuno
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "symbol": "PNT" }, "encode": "JSON" } }
-
tokenURI
- Nome metodo originale:
tokenURI
- Questo metodo restituisce l'URI di un token specificato. Chiunque può chiamare questo metodo.
- Query:
/tokenURI?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "tokenURI": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\.ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg" }, "encode": "JSON" } }
-
totalNetSupply
- Nome metodo originale:
totalNetSupply
- Questo metodo GET restituisce il numero totale di token coniati meno il numero di token bruciati. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato. /totalNetSupply
- Parametri:
- nessuno
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalNetSupply": 1 }, "encode": "JSON" } }
-
totalSupply
- Nome metodo originale:
totalSupply
- Questo metodo GET restituisce il numero totale di token coniati. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato. - Query:
/totalSupply
- Parametri:
- nessuno
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalSupply": 3 }, "encode": "JSON" } }
-
transferFrom
- Nome metodo originale:
transferFrom
- Questa è una funzione asincrona. Questo metodo trasferisce la proprietà dell'operazione NFT specificata da un conto mittente a un conto ricevente. È responsabilità del chiamante passare i parametri corretti. Questo metodo può essere richiamato da qualsiasi utente, non solo dal proprietario del token. Questo metodo include le seguenti convalide:
- Il token esiste e non viene masterizzato.
- L'account mittente e l'account ricevente esistono e non sono lo stesso account.
- L'account mittente è proprietario del token.
- Payload:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenId": "{{bc-token-id}}", "endorsers": {{endorsers}} }
- Parametri:
fromOrgId: string
: l'ID del provider di servizi di appartenenza (MSP) del mittente nell'organizzazione corrente.fromUserId: string
: il nome utente o l'ID e-mail del mittente.toOrgId: string
: l'ID del provider di servizi di appartenenza (MSP) del destinatario nell'organizzazione corrente.toUserId: string
: il nome utente o l'ID e-mail del destinatario.tokenId: string
: l'ID del token da trasferire.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
transferTokenSysRole
- Questo metodo trasferisce un ruolo
TokenSys
da un utente a un altro utente. - Payload:
{ "role": "role value (for example vault)", "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "endorsers": {{endorsers}} }
- Parametri:
role: string
: il nome del ruoloTokenSys
da trasferire.fromOrgId: string
: l'ID del provider di servizi di appartenenza (MSP) del mittente nell'organizzazione corrente.fromUserId: string
: il nome utente o l'ID e-mail del mittente.toOrgId: string
: l'ID del provider di servizi di appartenenza (MSP) del destinatario nell'organizzazione corrente.toUserId: string
: il nome utente o l'ID e-mail del destinatario.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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
- Nome metodo originale:
updateArtCollectionToken
- Questo metodo aggiorna le proprietà del token. Dopo la creazione di un asset token, solo il proprietario del token può aggiornare le proprietà personalizzate del token. Se l'utente è sia proprietario che creatore di un token, può anche aggiornare la proprietà
TokenDesc
. Impossibile aggiornare i metadati del token. È necessario passare tutte le proprietà del token a questo metodo, anche se si desidera aggiornare solo determinate proprietà. - Payload:
{ "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"Price\":999,\"On_Sale_Flag\":true}", "sameOrgEndorser": true }
- Parametri:
tokenAsset: <Token Class>
: l'asset token da aggiornare. Per ulteriori informazioni sulle proprietà dell'asset token, vedere il file di specifica di input.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "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 } }