- Edizione degli asset digitali di Oracle Blockchain Platform
- Framework token generici
- Framework token combinato
- Package API wrapper framework token combinato
Package API wrapper framework token combinato
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.
NFTCollectiblesWithERC1155WrapperAPI.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.NFTCollectiblesWithERC1155_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 chiamato solo da un amministratore o dal proprietario dell'account. Per i conti esistenti in cui non è stato trovato un valore
accountStatus
nel libro contabile, il metodo restituisce un oggettoaccountStatus
con stato impostato suactive
. - Payload:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID di posta elettronica 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 aggiornato per l'account token fungibile.
- Esempio di valore restituito:
{ "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" }
-
addTokenAdmin
- Nome metodo originale:
addTokenAdmin
- Questo metodo POST aggiunge un utente come
Token Admin
del codice concatenato. Questo metodo può essere chiamato 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 di posta elettronica dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- 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:
{ "msg": "Successfully added Admin (OrgId: appDev, UserId: user1)" }
-
addRole
- Nome metodo originale:
addRole
- Questo metodo POST aggiunge il ruolo all'utente e al token specificati. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato. I token fungibili del parametro tokenDetails richiedono il valoretokenId
come input. I token non fungibili richiedono l'input tokenName per ottenere che venga utilizzato il parametro tokenDetail per specificare i dettagli dei token fungibili e non fungibili in modo diverso. - Payload:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "role": "role minter/burner" "tokenDetails": "{"tokenName": "token name value"}" "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID di posta elettronica dell'utente.role: string
: il nome del ruolo da aggiungere all'utente specificato.tokenDetails: TokenDetail
: i dettagli che specificano il token. Per i token fungibili, utilizzare il seguente formato:
Per i token non fungibili, utilizzare il seguente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: user2)" }
-
associateFungibleTokenToAccount
- Nome metodo originale:
associateFungibleTokenToAccount
- Questo metodo POST associa l'account token fungibile di un utente a un token specificato.
- Payload:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID di posta elettronica dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "assetType": "ouaccount", "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc", "userId": "user2", "orgId": "appdev", "totalAccounts": 1, "totalFtAccounts": 1, "associatedFtAccounts": [ { "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a", "tokenId": "tokenOne" } ], "associatedNftAccount": "" }
-
buyWithEthCoin
- Nome metodo originale:
buyWithEthCoin
- Qualsiasi proprietario di un account può utilizzare questo metodo POST per acquistare un NFT utilizzando Ethereum e per trasferire token fedeltà come punti premio.
- Payload:
{ "fromOrgId":"from_org_id value", "fromUserId":"from_user_id value", "toOrgId":"to_org_id value", "toUserId":"to_user_id value", "nftId":"[\"nft_id value\"]", "loyaltyId":"[\"loyalty_id value\"]", "ethQty":"[eth_qty value]", "loyaltyRewardQuantity":"[loyalty_reward_quantity value]", "endorsers":{{"endorsers"}} }
- 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.nftId: string
: l'ID del token da acquistare.loyaltyId: string
: l'ID del token fungibile che rappresenta i punti fedeltà.ethQty: number
- Il prezzo del token in Ethereum.loyaltyRewardQuantity: string
- La quantità di punti fedeltà da trasferire.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "msg": "Token ID : 'artcollection1' has been successfully transferred to UserID : 'user1'" }
-
balanceOfBatch
- Nome metodo originale:
balanceOfBatch
- Questo metodo GET completa un'operazione batch che recupera i saldi dei conti token. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato o dal proprietario del conto. - Query:
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
- Parametri:
orgIds: string[]
: elenco degli ID del provider di servizi di appartenenza (MSP) nell'organizzazione corrente.userIds: string[]
: elenco del nome utente o degli ID di posta elettronica.tokenIds: string[]
: lista degli ID token.
- Esempio di valore restituito:
[ { "orgId": "AppBldFFFFMay22", "userId": "user2", "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38", "tokenAccountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371", "tokenId": "FNFT", "balance": 100 }, { "orgId": "AppBldFFFFMay22", "userId": "user2", "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38", "tokenAccountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e", "tokenId": "FT", "balance": 50 }, { "orgId": "AppBldFFFFMay22", "userId": "example_minter", "userAccountId": "ouaccount~9501bb774c156eb8354dfe489250ea91f757523d70f08ee494bda98bb352003b", "tokenAccountId": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446", "tokenId": "FNFT", "balance": 10 } ]
-
batchTransferFrom
- Nome metodo originale:
batchTransferFrom
- Questo metodo POST completa un'operazione batch che trasferisce i token specificati in una lista di ID token da un utente a un altro utente. Questo metodo può essere chiamato da qualsiasi utente.
- Payload:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenIds": "[\"{{bc-token-id}}\"]", "quantity": "[quantity value]", "endorsers": {{endorsers}} }
- Parametri:
fromOrgId: string
: l'ID del provider di servizi di appartenenza (MSP) del mittente.fromUserId: string
: l'ID utente del mittente.toOrgId: string
: l'ID del provider di servizi di appartenenza (MSP) del destinatario.toUserId: string
: l'ID utente del destinatario.tokenIds: string[]
: lista di ID token per i token da trasferire.quantity: number[]
: la lista delle quantità di token da trasferire, corrispondente all'array ID token.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Restituisce:
- In caso di operazione riuscita, un messaggio con i dettagli per ogni trasferimento di token.
- Esempio di valore restituito:
[ { "msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_minter)" }, { "msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: AppBldFFFFMay22, User-Id: example_minter)" }, { "msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_minter)" } ]
-
burnBatch
- Nome metodo originale:
burnBatch
- Questo metodo POST disattiva o brucia i token fungibili e non fungibili specificati. Qualsiasi utente con il ruolo di bruciatore può chiamare questo metodo.
- Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenIds": "[\"{{bc-token-id}}\"]", "quantity": "[quantity value]", "sameOrgEndorser": true }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail.tokenIds: string[]
: la lista degli ID token da masterizzarequantity: number[]
: la lista delle quantità di token da masterizzare, corrispondente all'array di ID token.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Restituisce:
- In caso di successo, un messaggio con i dettagli sulle operazioni di masterizzazione.
- Esempio di valore restituito:
[ { "msg": "Successfully burned NFT token: 'art' from Account-Id: oaccount~76cb672eeb1bd535899562a840d0c15a356db89e24bc8b43ac1dba845a4282c6 (Org-Id: appdev, User-Id: user2)" }, { "msg": "Successfully burned 5 tokens of tokenId: tokenOne from Account-ID oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: user2)" }, { "msg": "Successfully burned 2 token share of tokenId: FNFT from Account-ID oaccount~87bcb699d507368ee3966cd03ee6d7736ffc55dde8c0f0e16b14866334ac504a (Org-Id: AutoF1377358917, User-Id: user2)" } ]
-
burnNFT
- Nome metodo originale:
burnNFT
- Questo metodo POST disattiva o masterizza il token non fungibile specificato e restituisce un oggetto token e una cronologia token. Qualsiasi utente con il ruolo di bruciatore può chiamare questo metodo.
- Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "sameOrgEndorser": true }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail.tokenId: string
: l'ID del token non fungibile da masterizzaresameOrgEndorser: 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 array JSON contenente un messaggio sull'operazione di masterizzazione.
- Esempio di valore restituito:
{ "msg": "Successfully burned NFT token: 'art' from Account-Id: oaccount~76cb672eeb1bd535899562a840d0c15a356db89e24bc8b43ac1dba845a4282c6 (Org-Id: appdev, User-Id: user2)" }
-
createAccount
- Nome metodo originale:
createAccount
- Questo metodo POST crea un account per un utente specificato e gli account token associati per token fungibili o non fungibili. È necessario creare un account per qualsiasi utente che avrà token in qualsiasi momento. L'account utente tiene traccia dell'account NFT e degli account token fungibili detenuti da un utente. Per completare le operazioni relative ai token, gli utenti devono disporre di account nella rete. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato.Un account utente dispone di un ID univoco, formato da un hash SHA-256 del parametro
orgId
e del parametrouserId
.Un utente può avere più account token fungibili con ID account univoci. Gli ID account token fungibili sono formati da un hash SHA-256 del parametro
orgId
, dal parametrouserId
, dalla stringa costanteft
separata dal simbolo tilde (~
) e da un numero di contatore che indica l'indice del conto fungibile creato separato dal simbolo tilde (~
).Un utente può avere un solo account token non fungibile. Gli ID account token non fungibili sono univoci e sono formati da un hash SHA-256 del parametro
orgId
, del parametrouserId
e della stringa costantenft
separati dal simbolo tilde (~
). Tutti i token non fungibili di proprietà di un utente, sia interi che frazionari, sono collegati a questo account.Gli ID account utente iniziano con
ouaccount~
. Gli ID account token iniziano conoaccount~
. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "ftAccount": true, "nftAccount": true, "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 di posta elettronica dell'utente.ftAccount: boolean
: se true, viene creato un account token fungibile associato all'account utente.nftAccount: boolean
: se true, viene creato un account token non fungibile associato all'account utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "assetType": "ouaccount", "accountId": "ouaccount~cf20877546f52687f387e7c91d88b9722c97e1a456cc0484f40c747f7804feae", "userId": "user1", "orgId": "appdev", "totalAccounts": 2, "totalFtAccounts": 1, "associatedFtAccounts": [ { "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b", "tokenId": "" } ], "associatedNftAccount": "oaccount~73c3e835dac6d0a56ca9d8def08269f83cefd59b9d297fe2cdc5a9083828fa58" }
-
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\",\"tokenMetadata\":{\"Painting_Name\":\"Painting_Name value\",\"Description\":\"Description value\",\"Painter_Name\":\"Painter_Name value\"},\"Price\":999,\"On_Sale_Flag\":true}", "quantity": 1, "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.quantity: number
- Il numero di token da zecca. L'unico valore supportato per questo parametro è1
.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "tokenMetadata": { "ISIN": "ISIN value", "Segment": "Segment value", "Issuer": "Issuer value", "FaceValue": 999, "IssueSize": 999, "CouponRate": 999, "InterestPaymentType": "simple", "InterestFrequency": "monthly", "IssueDate": "2023-03-28T15:16:36.000Z", "MaturityDate": "2023-03-28T15:16:36.000Z" }, "assetType": "otoken", "events": false, "tokenId": "token2", "tokenName": "bond", "tokenDesc": "tokenDesc value", "tokenStandard": "erc1155+", "tokenType": "nonfungible", "tokenUnit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 0 }, "quantity": 10, "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43", "creationDate": "2024-12-03T12:07:24.000Z", "divisible": { "decimal": 0 }, "isBurned": false, "isLocked": false, "tokenUri": "tokenUri value", "status": "created" }
-
createLoyaltyToken
- Nome metodo originale:
createLoyaltyToken
- Questo metodo POST crea token. Ogni token definito ha il proprio metodo di creazione. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato. - Payload:
{ "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"Token_Name\":\"Token_Name value\",\"Token_to_Currency_Ratio\":999}", "sameOrgEndorser": true }
- Parametri:
tokenAsset: <Token Class>
: l'asset token. Le proprietà dell'asset sono definite nel file modello.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "assetType": "otoken", "events": false, "tokenId": "token2", "tokenName": "loyalty", "tokenDesc": "tokenDesc value", "tokenStandard": "erc1155+", "tokenType": "fungible", "tokenUnit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 0 }, "quantity": 10, "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43", "creationDate": "2024-12-03T12:07:24.000Z", "divisible": { "decimal": 0 }, "isBurned": false, "isLocked": false, "tokenUri": "tokenUri value", "status": "created" }
-
createTokenAccount
- Nome metodo originale:
createTokenAccount
- Questo metodo POST crea un account token fungibile o non fungibile da associare a un account utente.
Un utente può avere più account token fungibili con ID account univoci. Gli ID account token fungibili sono formati da un hash SHA-256 del parametro
orgId
, dal parametrouserId
, dalla stringa costanteft
separata dal simbolo tilde (~
) e da un numero di contatore che indica l'indice del conto fungibile creato separato dal simbolo tilde (~
).Un utente può avere un solo account token non fungibile. Gli ID account token non fungibili sono univoci e sono formati da un hash SHA-256 del parametro
orgId
, del parametrouserId
e della stringa costantenft
separati dal simbolo tilde (~
). Tutti i token non fungibili di proprietà di un utente, sia interi che frazionari, sono collegati a questo account.Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenType": "nonfungible", "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 di posta elettronica dell'utente.tokenType: TokenType
: il tipo di account token da creare. Gli unici tipi di token supportati sonononfungible
efungible
.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Restituisce:
- In caso di operazione riuscita, un oggetto JSON dell'account token creato.
- Esempio di valore restituito:
{ "assetType": "ouaccount", "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc", "userId": "user2", "orgId": "appdev", "totalAccounts": 1, "totalFtAccounts": 1, "associatedFtAccounts": [ { "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a", "tokenId": "" } ], "associatedNftAccount": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a" }
-
createUserAccount
- Nome metodo originale:
createUserAccount
- Questo metodo POST crea un account per un utente specificato. È necessario creare un account per qualsiasi utente che avrà token in qualsiasi momento. L'account utente tiene traccia dell'account NFT e degli account token fungibili di cui dispone un utente. Per completare le operazioni relative ai token, gli utenti devono disporre di account nella rete.
Un ID account è un hash SHA-256 del parametro
orgId
e del parametrouserId
. Questo metodo può essere chiamato 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 di posta elettronica dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Restituisce:
- In caso di operazione riuscita, un oggetto JSON dell'account utente creato.
- Esempio di valore restituito:
{ "assetType": "ouaccount", "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc", "userId": "user2", "orgId": "appdev", "totalAccounts": 0, "totalFtAccounts": 0, "associatedFtAccounts": [], "associatedNftAccount": "" }
-
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 chiamato 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 di posta elettronica 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 dello stato dell'account token.
- Esempio di valore restituito:
{ "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "deleted" }
-
exchangeToken
- Nome metodo originale:
exchangeToken
- Questo metodo scambia i token tra i conti specificati. Questo metodo supporta solo lo scambio tra un NFT e un token fungibile o un token fungibile e un NFT. Il NFT può essere intero o frazionario. Questo metodo può essere richiamato solo dal proprietario dell'account.
- Payload:
{ "fromTokenId": "fromTokenId value", "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "fromTokenQuantity": 1, "toTokenId": "toTokenId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "toTokenQuantity": 1, "endorsers": {{endorsers}} }
- Parametri:
fromTokenId: string
: l'ID del token di proprietà del mittente.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.fromTokenQuantity: number
- La quantità di token dal mittente da scambiare con il destinatario.toTokenId: string
: l'ID del token di proprietà del destinatario.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.toTokenQuantity: number
- La quantità di token dal destinatario da scambiare con il mittente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Restituisce:
- In caso di operazione riuscita, un messaggio con i dettagli dello scambio di token.
- Esempio di valore restituito:
{ "msg": "Succesfully exchanged 10 tokens of type nonfungible with tokenId: [r1] from Account oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (OrgId: AppBldFFFFMay22, UserId: user2) to 10 tokens of type fungible with tokenId: [loy1] from Account oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (OrgId: AppBldFFFFMay22, UserId: example_minter)" }
-
getAccount
- Nome metodo originale:
getAccount
- Questo metodo GET restituisce i dettagli dell'account token per un utente specificato. Questo metodo può essere richiamato solo da un
Token Admin
del codice concatenato o dall'Account Owner
dell'account. - Query:
/getAccount?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 di posta elettronica dell'utente.
- Restituisce:
- In caso di operazione riuscita, un oggetto JSON che include i dettagli dell'account token.
- Esempio di valore restituito
{ "assetType": "oaccount", "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371", "userId": "user2", "orgId": "AppBldFFFFMay22", "tokenType": "nonfungible", "noOfNfts": 3 }
-
getAccountDetailsByUser
- Nome metodo originale:
getAccountDetailsByUser
- Questo metodo GET 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:
/getAccountDetailsByUser?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 di posta elettronica dell'utente.
- Esempio di valore restituito:
{ "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38", "associatedFTAccounts": [ { "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e", "tokenId": "FT", "balance": 50 } ], "associatedNFTAccount": { "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371", "associatedNFTs": [ { "nftTokenId": "FNFT", "tokenShare": 100 }, { "nftTokenId": "FNFT2", "tokenShare": 110 }, { "nftTokenId": "NFT" } ] } }
-
getAccountHistory
- Nome metodo originale:
getAccountHistory
- Questo metodo GET restituisce la cronologia dell'account per un account token specificato. Per i conti NFT, il parametro
tokenId
deve essere vuoto. Questo metodo può essere chiamato solo dalToken Admin
del codice concatenato o dal proprietario del conto. - Query:
/getAccountHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}&tokenId={{bc-token-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 di posta elettronica dell'utente.tokenId: string
: l'ID del token fungibile.
- Esempio di valore restituito:
[ { "trxId": "a2cfc6fc064334d6b9931cdf67193711ec2ff5c50a4714f11855fe7384f00e35", "timeStamp": "2023-06-06T14:44:31.000Z", "value": { "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e", "assetType": "oaccount", "balance": 100, "orgId": "AppBldFFFFMay22", "tokenId": "loy1", "tokenName": "loyalty", "tokenType": "fungible", "userId": "user2" } }, { "trxId": "de483cf7505ae4e7018c4b604c3ab9327c2fb1f802d9408e22735667c1d6997f", "timeStamp": "2023-06-06T14:43:23.000Z", "value": { "assetType": "oaccount", "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e", "userId": "user2", "orgId": "AppBldFFFFMay22", "tokenType": "fungible", "tokenId": "loy1", "tokenName": "loyalty", "balance": 0 } }, { "trxId": "db053e653d3ad9aa5b7b6e04b7cd51aacfbb413272d857a155b60d2a6a12bf4d", "timeStamp": "2023-06-05T16:59:08.000Z", "value": { "assetType": "oaccount", "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e", "userId": "user2", "orgId": "AppBldFFFFMay22", "tokenType": "fungible", "tokenId": "", "balance": 0 } } ]
-
getAccountStatus
- 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 di posta elettronica dell'utente.
- Restituisce:
- In caso di operazione riuscita, una rappresentazione JSON dello stato dell'account token.
- Esempio di valore restituito:
{ "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" }
-
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 di posta elettronica dell'utente.
- Restituisce:
- In caso di operazione riuscita, la cronologia dello stato dell'account in formato JSON.
- Esempio di valore restituito:
[ { "trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63", "timeStamp": "2022-12-02T10:39:14.000Z", "value": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "suspended" } }, { "trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183", "timeStamp": "2022-12-02T10:37:50.000Z", "value": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" } } ]
-
getAccountTransactionHistory
- 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. - Query:
/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 di posta elettronica dell'utente.
- Esempio di valore restituito:
[ { "transactionId": "otransaction~3a6b23c3003626f3947e990eddbd7ac23398d2200e2eb3eac745e6ddfae140bc~7c88c736df38d5622512f1e8dcdd50710eb47c953f1ecb24ac44790a9e2f475b", "timestamp": "2023-06-06T14:48:08.000Z", "tokenId": "FNFT", "transactedAmount": 10, "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38", "transactedAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446", "transactionType": "DEBIT", "balance": 90 }, { "transactionId": "otransaction~3a6b23c3003626f3947e990eddbd7ac23398d2200e2eb3eac745e6ddfae140bc~178e3730bc5bee50d02f1464a4eebf733a051905f651e5789039adb4a3edc114", "timestamp": "2023-06-06T14:48:08.000Z", "tokenId": "NFT", "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38", "transactedAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446", "transactionType": "DEBIT" }, { "transactionId": "otransaction~c369929e28e78de06c72d020f1418c9a154a7dd280b2e22ebb4ea4485e249124~a7cefb22ff39ee7e36967be71de27da6798548c872061a62dabc56d88d50b930", "timestamp": "2023-06-06T14:47:08.000Z", "tokenId": "NFT", "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38", "transactedAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371", "transactionType": "MINT" }, { "transactionId": "otransaction~114a1bc78d04be48ee6dc140c32c042ee9481cb118959626f090eec744522422~e4eb15d9354f694230df8835ade012100d82aa43672896a2c7125a86e3048f9f", "timestamp": "2023-06-05T17:17:57.000Z", "tokenId": "FNFT", "transactedAmount": 100, "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38", "transactedAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371", "transactionType": "MINT", "balance": 100 } ]
-
getAccountsByRole
- Nome metodo originale:
getAccountsByRole
- Questo metodo restituisce un elenco di tutti gli ID account per un ruolo specificato. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato. - Query:
/getAccountsByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
- Parametri:
role: string
: il nome del ruolo da cercare.tokenDetails: TokenDetail
: i dettagli che specificano il token. Per i token fungibili, utilizzare il seguente formato:
Per i token non fungibili, utilizzare il seguente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
- Esempio di valore restituito:
{ "accounts": [ "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a", "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b" ] }
-
getAllAccounts
- Nome metodo originale:
getAllAccounts
- Questo metodo GET restituisce i dettagli di tutti gli account utente. Questo metodo può essere chiamato 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:
[ { "assetType": "ouaccount", "accountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38", "userId": "user2", "orgId": "AppBldFFFFMay22", "totalAccounts": 2, "totalFtAccounts": 1, "associatedFtAccounts": [ { "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e", "tokenId": "loy1" } ], "associatedNftAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371" }, { "assetType": "ouaccount", "accountId": "ouaccount~9501bb774c156eb8354dfe489250ea91f757523d70f08ee494bda98bb352003b", "userId": "example_minter", "orgId": "AppBldFFFFMay22", "totalAccounts": 2, "totalFtAccounts": 1, "associatedFtAccounts": [ { "accountId": "oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c", "tokenId": "loy1" } ], "associatedNftAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446" }, ]
-
getAllTokenAdmins
- Nome metodo originale:
getAllTokenAdmins
- Questo metodo GET restituisce un elenco di tutti gli utenti che sono un
Token Admin
del codice concatenato. Questo metodo può essere chiamato 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:
{ "admins": [ { "orgId": "appdev", "userId": "user2" }, { "orgId": "appdev", "userId": "user1" } ] }
-
getAllTokens
- Nome metodo originale:
getAllTokens
- Questo metodo GET restituisce tutti gli asset token salvati nel database di stato. Questo metodo può essere chiamato 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:
[{ "tokenMetadata": { "ISIN": "ISIN value", "Segment": "Segment value", "Issuer": "Issuer value", "FaceValue": 999, "IssueSize": 999, "CouponRate": 999, "InterestPaymentType": "simple", "InterestFrequency": "monthly", "IssueDate": "2023-03-28T15:16:36.000Z", "MaturityDate": "2023-03-28T15:16:36.000Z" }, "assetType": "otoken", "events": false, "tokenId": "token2", "tokenName": "bond", "tokenDesc": "tokenDesc value", "tokenStandard": "erc1155+", "tokenType": "nonfungible", "tokenUnit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 0 }, "quantity": 10, "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43", "creationDate": "2024-12-03T12:07:24.000Z", "divisible": { "decimal": 0 }, "isBurned": false, "isLocked": false, "tokenUri": "tokenUri value", "status": "status value" }]
-
getAllTokensByUser
- 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:
[{ "tokenMetadata": { "ISIN": "ISIN value", "Segment": "Segment value", "Issuer": "Issuer value", "FaceValue": 999, "IssueSize": 999, "CouponRate": 999, "InterestPaymentType": "simple", "InterestFrequency": "monthly", "IssueDate": "2023-03-28T15:16:36.000Z", "MaturityDate": "2023-03-28T15:16:36.000Z" }, "assetType": "otoken", "events": false, "tokenId": "token2", "tokenName": "bond", "tokenDesc": "tokenDesc value", "tokenStandard": "erc1155+", "tokenType": "nonfungible", "tokenUnit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 0 }, "quantity": 10, "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43", "creationDate": "2024-12-03T12:07:24.000Z", "divisible": { "decimal": 0 }, "isBurned": false, "isLocked": false, "tokenUri": "tokenUri value", "status": "status value" }]
-
getTokenById
- Nome metodo originale:
getTokenById
- Questo metodo GET 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. Per gli NFT frazionari, la risposta include l'elenco dei proprietari di token. - Query:
/getTokenById?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token da ottenere.
- Esempio di valore restituito:
[{ "tokenMetadata":{ "ISIN":"ISIN value", "Segment":"Segment value", "Issuer":"Issuer value", "FaceValue":10, "IssueSize":999, "CouponRate":10, "InterestPaymentType":"simple", "InterestFrequency":"monthly", "IssueDate":"2023-03-28T15:16:36.000Z", "MaturityDate":"2023-03-28T15:16:36.000Z" }, "assetType":"otoken", "events":true, "tokenId":"bond1", "tokenName":"bond", "tokenDesc":"tokenDesc value", "tokenStandard":"erc1155+", "tokenType":"nonfungible", "tokenUnit":"fractional", "behaviors":[ "divisible", "mintable", "transferable", "burnable", "roles" ], "roles":{ "minter_role_name":"minter", "burner_role_name":"burner" }, "mintable":{ "max_mint_quantity":0 }, "quantity":100, "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00", "creationDate":"2024-12-02T12:42:09.000Z", "divisible":{ "decimal":0 }, "isBurned":false, "isLocked":false, "tokenUri":"tokenUri value", "status":"posted" } ]
-
getTokenDecimal
- Nome metodo originale:
getTokenDecimal
- Questo metodo restituisce il numero di posizioni decimali per un token specificato. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato. - Query:
/getTokenDecimal?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "msg": "Token Id: tokenOne has 2 decimal places." }
-
getTokenHistory
- Nome metodo originale:
getTokenHistory
- Questo metodo GET restituisce la cronologia per un ID token specificato. Chiunque può chiamare questo metodo.
/getTokenHistory?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
[{ "tokenMetadata":{ "ISIN":"ISIN value", "Segment":"Segment value", "Issuer":"Issuer value", "FaceValue":10, "IssueSize":999, "CouponRate":10, "InterestPaymentType":"simple", "InterestFrequency":"monthly", "IssueDate":"2023-03-28T15:16:36.000Z", "MaturityDate":"2023-03-28T15:16:36.000Z" }, "assetType":"otoken", "events":true, "tokenId":"bond1", "tokenName":"bond", "tokenDesc":"tokenDesc value", "tokenStandard":"erc1155+", "tokenType":"nonfungible", "tokenUnit":"fractional", "behaviors":[ "divisible", "mintable", "transferable", "burnable", "roles" ], "roles":{ "minter_role_name":"minter", "burner_role_name":"burner" }, "mintable":{ "max_mint_quantity":0 }, "quantity":100, "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00", "creationDate":"2024-12-02T12:42:09.000Z", "divisible":{ "decimal":0 }, "isBurned":false, "isLocked":false, "tokenUri":"tokenUri value", "status":"posted" } ]
-
getTokensByName
- Nome metodo originale:
getTokensByName
- Questo metodo GET restituisce tutti gli asset token per un nome token 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. - Query:
/getTokensByName?tokenName=tokenName value
- Parametri:
tokenName: string
: nome del token.
- Esempio di valore restituito:
[ { "key": "tokenOne", "valueJson": { "assetType": "otoken", "tokenId": "tokenOne", "tokenName": "moneytok", "tokenStandard": "erc1155+", "tokenType": "fungible", "tokenUnit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 1000 }, "divisible": { "decimal": 2 } } }, { "key": "tokenTwo", "valueJson": { "assetType": "otoken", "tokenId": "tokenTwo", "tokenName": "moneytok", "tokenStandard": "erc1155+", "tokenType": "fungible", "tokenUnit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 1000 }, "divisible": { "decimal": 2 } } } ]
-
getTransactionById
- Nome metodo originale:
getTransactionById
- Questo metodo GET restituisce la cronologia delle transazioni per un ID transazione specificato. Si tratta di un metodo asincrono. Questo metodo può essere chiamato da qualsiasi utente.
- 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:
{ "transactionId": "otransaction~9ea7b05ab099f7ff4db8342b8c3609031f1d54f11205906e7f1fe88661fe3cbe~33b59ce0c89e96c1e16449f24301581e8e71954f38ad977c7eb6f065e87f2a53", "history": [ { "trxId": "9ea7b05ab099f7ff4db8342b8c3609031f1d54f11205906e7f1fe88661fe3cbe", "timeStamp": "2022-12-08T09:01:28.000Z", "value": { "assetType": "otransaction", "transactionId": "otransaction~9ea7b05ab099f7ff4db8342b8c3609031f1d54f11205906e7f1fe88661fe3cbe~33b59ce0c89e96c1e16449f24301581e8e71954f38ad977c7eb6f065e87f2a53", "tokenId": "tokenOne", "fromAccountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a", "toAccountId": "", "transactionType": "BURN", "amount": 5, "timestamp": "2022-12-08T09:01:28.000Z", "triggeredByUserAccountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc" } } ] }
-
getUserByAccountId
- Nome metodo originale:
getUserByAccountId
- Questo metodo GET restituisce l'ID organizzazione e l'ID utente per un ID account specificato.
- Query:
/getUserByAccountId?accountId=accountId value
- Parametri:
accountId: string
: l'ID dell'account.
- Esempio di valore restituito:
{ "orgId": "AppBldFFFFMay22", "userId": "user2" }
-
getUsersByRole
- Nome metodo originale:
getUsersByRole
- Questo metodo GET restituisce un elenco di tutti gli utenti per un ruolo specificato.
- Query:
/getUsersByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
- Parametri:
role: string
: il nome del ruolo da cercare.tokenDetail: TokenDetail
: i dettagli che specificano il token. Per i token fungibili, utilizzare il seguente formato:
Per i token non fungibili, utilizzare il seguente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
- Esempio di valore restituito:
{ "users": [ { "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a", "orgId": "appdev", "userId": "user2" }, { "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b", "orgId": "appdev", "userId": "user1" } ] }
-
init
- Nome metodo originale:
init
- Questo metodo POST 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-user-id}}\"}]" }
- Parametri:
adminList array
: un array di informazioni{user_id, org_id}
che specifica la lista degli amministratori di token. L'arrayadminList
è un parametro obbligatorio.
- Restituisce:
- In caso di operazione riuscita, un messaggio senza payload.
- Esempio di valore restituito:
{ }
-
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)&tokenDetail={"tokenName":"tokenName value"}
- 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 di posta elettronica dell'utente.role: string
: il nome del ruolo da cercare.tokenDetail: TokenDetail
: i dettagli che specificano il token. Per i token fungibili, utilizzare il seguente formato:
Per i token non fungibili, utilizzare il seguente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
- Esempio di valore restituito:
{ "result": true, "msg": "Account Id oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: user2) has minter role" }
-
isTokenAdmin
- Nome metodo originale:
isTokenAdmin
- Questo metodo GET restituisce il valore booleano
true
se il chiamante della funzione è unToken Admin
, altrimenti restituiscefalse
. Questo metodo può essere chiamato solo da unToken Admin
del codice concatenato. - Query:
/isTokenAdmin?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 di posta elettronica dell'utente.
- Restituisce:
- Il metodo restituisce
true
se il chiamante è unToken Admin
, altrimenti restituiscefalse
.
- Il metodo restituisce
- Esempio di valore restituito:
{ "result": true }
-
mintBatch
- Nome metodo originale:
mintBatch
- Questo metodo POST crea (mint) più token in un'operazione batch. Questo metodo crea solo token fungibili o token non fungibili frazionari.
Per i token fungibili, se il ruolo minter è definito nel file di specifica, qualsiasi utente con il ruolo minter può chiamare questo metodo. In caso contrario, qualsiasi utente può utilizzare questo metodo per coniare i token. Impossibile coniare più della proprietà
max_mint_quantity
del token se tale proprietà è stata specificata al momento della creazione o dell'aggiornamento del token.Per i token non fungibili, se il ruolo minter è definito nel file di specifica, qualsiasi utente con il ruolo minter può chiamare questo metodo. In caso contrario, qualsiasi utente può utilizzare questo metodo per coniare i token. Inoltre, il chiamante deve essere anche il creatore del token. Non esiste un limite massimo per la quantità di token frazionari non fungibili che possono essere coniati.
Impossibile utilizzare questo metodo per coniare un token non fungibile intero.
- Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenIds": "[\"{{bc-token-id}}\"]", "quantity": "[quantity value]", "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 di posta elettronica dell'utente.tokenIds: string[]
: la lista degli ID token per i quali creare i token.quantity: number[]
: la lista delle quantità di token da coniare, corrispondente all'array ID token.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 oggetto JSON che include dettagli sui token coniati.
- Esempio di valore restituito:
{ "msg": "Successfully minted batch of tokens for User-Account-Id ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38 (Org-Id: AppBldFFFFMay22, User-Id: user2).", "details": [ { "msg": "Successfully minted 100 tokens of fractional tokenId: plot55 to Org-Id: AppBldFFFFMay22, User-Id: user2" }, { "msg": "Successfully minted 100 tokens of tokenId: loyalty to Token-Account-Id oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e" } ] }
-
name
- Nome metodo originale:
name
- Questo metodo GET restituisce il nome della classe di token. Chiunque può chiamare questo metodo.
- Query:
/name?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "tokenName": "artcollection" }
-
ownerOf
- Nome metodo originale:
ownerOf
- Questo metodo GET restituisce l'ID account dei proprietari 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 degli ID account dei proprietari.
- Esempio di valore restituito:
[ { "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "orgId": "Org1MSP", "userId": "admin" }, { "accountId": "oaccount~74108eca702bab6d8548e740254f2cc7955d886885251d52d065042172a59db0", "orgId": "Org1MSP", "userId": "user" } ]
-
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:
{ "msg": "Token ID : 'artCollection1' has been posted for selling in the marketplace" }
-
removeRole
- Nome metodo originale:
removeRole
- Questo metodo rimuove un ruolo da un utente specificato. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "role": "role value (for example minter / burner)", "tokenDetail": "{\"tokenName\":\"tokenName value\"}", "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 di posta elettronica dell'utente.role: string
: il nome del ruolo da rimuovere dall'utente specificato.tokenDetail: TokenDetail
: i dettagli che specificano il token. Per i token fungibili, utilizzare il seguente formato:
Per i token non fungibili, utilizzare il seguente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)" }
-
removeTokenAdmin
- Nome metodo originale:
removeTokenAdmin
- Questo metodo POST rimuove un utente come
Token Admin
del codice concatenato. Questo metodo può essere chiamato 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:
{ "msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)" }
-
safeBatchTransferFrom
- Nome metodo originale:
safeBatchTransferFrom
- Questo metodo POST trasferisce la proprietà dei token specificati dal chiamante a un altro account. Il chiamante di questo metodo deve essere il mittente dei token e deve essere proprietario dei token specificati. Per gli NFT frazionari, se un utente trasferisce tutte le sue azioni a un altro utente, perde la proprietà del token.
- Payload:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenIds": "[\"{{bc-token-id}}\"]", "quantity": "[quantity 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.tokenIds: string[]
: un array degli ID dei token da trasferire.quantity: number[]
: la lista delle quantità di token da trasferire, corrispondente all'array ID token.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
[ { "msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_minter)" }, { "msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: AppBldFFFFMay22, User-Id: example_minter)" }, { "msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_minter)" } ]
-
suspendAccount
- Nome metodo originale:
suspendAccount
- Questo metodo POST sospende un account token fungibile. Se un valore
accountStatus
non viene trovato nel libro contabile, viene restituito un errore. Questo metodo può essere chiamato 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 di posta elettronica dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "suspended" }
-
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 chiamato solo da un
Token Admin
del codice concatenato. - Query (token fungibili):
/totalNetSupply?tokenDetail={"tokenId":"{{bc-token-id}}"}
- Query (token non fungibili):
/totalNetSupply?tokenDetail={"tokenName":"tokenName value"}
- Parametri:
tokenDetail: TokenDetail
: i dettagli che specificano il token. Per i token fungibili, utilizzare il seguente formato:
Per i token non fungibili, utilizzare il seguente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
- Esempio di valore restituito:
{ "totalNetSupply": 105 }
-
totalSupply
- Nome metodo originale:
totalSupply
- Questo metodo GET restituisce il numero totale di token coniati. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato. - Query (token fungibili):
/totalSupply?tokenDetail={"tokenId":"{{bc-token-id}}"}
- Query (token non fungibili):
/totalSupply?tokenDetail={"tokenName":"tokenName value"}
- Parametri:
tokenDetail: TokenDetail
: i dettagli che specificano il token. Per i token fungibili, utilizzare il seguente formato:
Per i token non fungibili, utilizzare il seguente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
- Esempio di valore restituito:
{ "totalSupply": 110 }
-
updateArtCollectionToken
- Nome metodo originale:
updateArtCollectionToken
- Questo metodo POST aggiorna le proprietà del token. Solo il proprietario del token può chiamare questo metodo. Per gli NFT, i metadati del token e l'URI del token non possono essere aggiornati dopo la coniatura del token.
- Payload:
{ "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"status\":\"status value\", \"tokenMetadata\":{\"ISIN\":\"ISIN value\",\"Segment\":\"Segment value\",\"Issuer\":\"Issuer value\",\"FaceValue\":999,\"IssueSize\":999,\"CouponRate\":999,\"InterestPaymentType\":\"InterestPaymentType value\",\"InterestFrequency\":\"InterestFrequency value\",\"IssueDate\":\"2023-03-28T15:16:36+00:00\",\"MaturityDate\":\"2023-03-28T15:16:36+00:00\"},\"status\":\"status value\"}", "sameOrgEndorser": true }
- 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:
{ "tokenMetadata": { "ISIN": "ISIN value", "Segment": "Segment value", "Issuer": "Issuer value", "FaceValue": 999, "IssueSize": 999, "CouponRate": 999, "InterestPaymentType": "simple", "InterestFrequency": "monthly", "IssueDate": "2023-03-28T15:16:36.000Z", "MaturityDate": "2023-03-28T15:16:36.000Z" }, "assetType": "otoken", "events": false, "tokenId": "token2", "tokenName": "bond", "tokenDesc": "tokenDesc value", "tokenStandard": "erc1155+", "tokenType": "nonfungible", "tokenUnit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 0 }, "quantity": 10, "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43", "creationDate": "2024-12-03T12:07:24.000Z", "divisible": { "decimal": 0 }, "isBurned": false, "isLocked": false, "tokenUri": "tokenUri value", "status": "created" }
-
updateLoyaltyToken
- Nome metodo originale:
updateLoyaltyToken
- Questo metodo POST aggiorna le proprietà del token. Solo il proprietario del token può chiamare questo metodo. Per gli NFT, i metadati del token e l'URI del token non possono essere aggiornati dopo la coniatura del token.
- Payload:
{ "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"Token_Name\":\"Token_Name value\",\"Token_to_Currency_Ratio\":999}", "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:
{ "assetType": "otoken", "events": false, "tokenId": "token2", "tokenName": "loyalty", "tokenDesc": "tokenDesc value", "tokenStandard": "erc1155+", "tokenType": "fungible", "tokenUnit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 0 }, "quantity": 10, "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43", "creationDate": "2024-12-03T12:07:24.000Z", "divisible": { "decimal": 0 }, "isBurned": false, "isLocked": false, "tokenUri": "tokenUri value", "status": "created" }
-
URI
- Nome metodo originale:
URI
- Questo metodo GET restituisce l'URI di un token specificato. Solo l'autore del token può chiamare questo metodo.
- Query
/URI?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "tokenUri": "example.com" }