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.

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.
  • 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 oggetto accountStatus con stato impostato su active.
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 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, un messaggio che include i dettagli dell'utente aggiunto come Token Admin del codice concatenato.
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 valore tokenId 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:
    {"tokenId":"token1"}
    Per i token non fungibili, utilizzare il seguente formato:
    {"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 masterizzare
  • quantity: 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 masterizzare
  • 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 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 parametro userId.

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 parametro userId, dalla stringa costante ft 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 parametro userId e della stringa costante nft 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 con oaccount~.

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 per behaviors e la proprietà minter_role_name per roles, 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 parametro userId, dalla stringa costante ft 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 parametro userId e della stringa costante nft 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 sono nonfungible e fungible.
  • 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 parametro userId. 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, 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 dal Token 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:
    {"tokenId":"token1"}
    Per i token non fungibili, utilizzare il seguente formato:
    {"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 dal Token Admin del codice concatenato.
Query:
/getAllTokenAdmins
Parametri:
  • nessuno
Restituisce:
  • In caso di operazione riuscita, un array admins in formato JSON contenente gli oggetti orgId e userId.
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 prefisso otransaction~ 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:
    {"tokenId":"token1"}
    Per i token non fungibili, utilizzare il seguente formato:
    {"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'array adminList è 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:
    {"tokenId":"token1"}
    Per i token non fungibili, utilizzare il seguente formato:
    {"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 è un Token Admin, altrimenti restituisce false. Questo metodo può essere chiamato solo da un Token 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 è un Token Admin, altrimenti restituisce false.
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:
    {"tokenId":"token1"}
    Per i token non fungibili, utilizzare il seguente formato:
    {"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 un Token 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 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.
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:
    {"tokenId":"token1"}
    Per i token non fungibili, utilizzare il seguente formato:
    {"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:
    {"tokenId":"token1"}
    Per i token non fungibili, utilizzare il seguente formato:
    {"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"
}