Paquete de API de envoltorio de marco de token combinado
Oracle Blockchain Platform Digital Assets Edition incluye un paquete de API de envoltorio que amplía la API de REST para admitir operaciones específicas de un mercado de NFT coleccionable.
NFTCollectiblesWithERC1155WrapperAPI.zip
, un archivo de almacenamiento que contiene el paquete de API de envoltorio, incluidos los scripts de Terraform necesarios para el despliegue. Puede desplegar este archivo en una pila de Resource Manager en Oracle Cloud Infrastructure (OCI) para crear los recursos de Oracle necesarios para las API de Wrapper.NFTCollectiblesWithERC1155_WrapperAPI.postman_collection.json
, una recopilación de Postman que permite probar las API de envoltorio desplegadas. La recopilación incluye solicitudes preconfiguradas con puntos finales y cargas útiles que corresponden a las API definidas en el paquete de API de envoltorio.
API de envoltorio
-
activateAccount
- Nombre del método original:
activateAccount
- Este método POST activa una cuenta de token. Este método solo puede ser llamado por un administrador o propietario de cuenta. Para las cuentas existentes en las que no se encuentra
accountStatus
en el libro mayor, el método devuelve un objetoaccountStatus
con el estado definido enactive
. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
tokenId: string
: ID del token.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Devuelve:
- Una representación JSON del objeto de estado de cuenta actualizado para la cuenta de token fungible.
- Ejemplo de valor devuelto:
{ "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" }
-
addTokenAdmin
- Nombre del método original:
addTokenAdmin
- Este método POST agrega un usuario como
Token Admin
del código de cadenas. Este método solo puede ser llamado porToken Admin
del código de cadenas. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Devuelve:
- Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se agregó como
Token Admin
del código de cadenas.
- Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se agregó como
- Ejemplo de valor devuelto:
{ "msg": "Successfully added Admin (OrgId: appDev, UserId: user1)" }
-
addRole
- Nombre del método original:
addRole
- Este método POST agrega el rol al usuario y al token especificados. Este método solo puede ser llamado por
Token Admin
del código de cadenas. Los tokens fungibles del parámetro tokenDetails necesitan el valortokenId
como entrada. Los tokens no fungibles requieren tokenName como entrada, para lograr que utilicemos el parámetro tokenDetail para especificar los detalles de los tokens fungibles y no fungibles de manera diferente. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "role": "role minter/burner" "tokenDetails": "{"tokenName": "token name value"}" "endorsers": {{endorsers}} }
- Parámetros:
tokenId: string
: ID del token.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.role: string
: nombre del rol que se va a agregar al usuario especificado.tokenDetails: TokenDetail
: detalles que especifican el token. Para tokens fungibles, utilice el siguiente formato:
Para tokens no fungibles, utilice el siguiente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de valor devuelto:
{ "msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: user2)" }
-
associateFungibleTokenToAccount
- Nombre del método original:
associateFungibleTokenToAccount
- Este método POST asocia la cuenta de token fungible de un usuario a un token especificado.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
tokenId: string
: ID del token.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de valor devuelto:
{ "assetType": "ouaccount", "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc", "userId": "user2", "orgId": "appdev", "totalAccounts": 1, "totalFtAccounts": 1, "associatedFtAccounts": [ { "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a", "tokenId": "tokenOne" } ], "associatedNftAccount": "" }
-
buyWithEthCoin
- Nombre del método original:
buyWithEthCoin
- Cualquier propietario de cuenta puede usar este método POST para comprar un NFT usando Ethereum y para transferir tokens de lealtad como puntos de recompensa.
- Carga Útil:
{ "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"}} }
- Parámetros:
fromOrgId: string
: ID del proveedor de servicios de membresía (MSP) del remitente (propietario) en la organización actual.fromUserId: string
: nombre de usuario o ID de correo electrónico del remitente (propietario).toOrgId: string
: ID del proveedor de servicios de membresía (MSP) del receptor en la organización actual.toUserId: string
: nombre de usuario o ID de correo electrónico del destinatario.nftId: string
: ID del token que se va a comprar.loyaltyId: string
: ID del token fungible que representa los puntos de fidelización.ethQty: number
– El precio del token en Ethereum.loyaltyRewardQuantity: string
: cantidad de puntos de fidelización para transferir.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de valor devuelto:
{ "msg": "Token ID : 'artcollection1' has been successfully transferred to UserID : 'user1'" }
-
balanceOfBatch
- Nombre del método original:
balanceOfBatch
- Este método GET completa una operación por lotes que obtiene los saldos de las cuentas de token. Este método solo lo puede llamar un
Token Admin
del código de cadenas o el propietario de la cuenta. - Consulta:
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
- Parámetros:
orgIds: string[]
: lista de los ID de proveedor de servicios de afiliación (MSP) de la organización actual.userIds: string[]
: lista del nombre de usuario o los ID de correo electrónico.tokenIds: string[]
: lista de los ID de token.
- Ejemplo de valor devuelto:
[ { "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
- Nombre del método original:
batchTransferFrom
- Este método POST completa una operación por lotes que transfiere tokens especificados en una lista de ID de token de un usuario a otro usuario. Este método puede ser llamado por cualquier usuario.
- Carga Útil:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenIds": "[\"{{bc-token-id}}\"]", "quantity": "[quantity value]", "endorsers": {{endorsers}} }
- Parámetros:
fromOrgId: string
: ID del proveedor de servicios de membresía (MSP) del remitente.fromUserId: string
: ID de usuario del remitente.toOrgId: string
: ID del proveedor de servicios de membresía (MSP) del receptor.toUserId: string
: ID de usuario del receptor.tokenIds: string[]
: lista de ID de token para los tokens que se van a transferir.quantity: number[]
: lista de cantidades de tokens que se transferirán, correspondiente a la matriz de ID de token.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Devuelve:
- Si se realiza correctamente, un mensaje con detalles para cada transferencia de token.
- Ejemplo de valor devuelto:
[ { "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
- Nombre del método original:
burnBatch
- Este método POST desactiva o quema los tokens fungibles y no fungibles especificados. Cualquier usuario con el rol de quemador puede llamar a este método.
- Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenIds": "[\"{{bc-token-id}}\"]", "quantity": "[quantity value]", "sameOrgEndorser": true }
- Parámetros:
orgId: string
: ID del proveedor de servicios de membresía (MSP) en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico.tokenIds: string[]
: lista de los ID de token que se van a grabarquantity: number[]
: lista de cantidades de tokens que se van a grabar, correspondiente a la matriz de ID de token.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- En caso de éxito, un mensaje con detalles sobre las operaciones de grabación.
- Ejemplo de valor devuelto:
[ { "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
- Nombre del método original:
burnNFT
- Este método POST desactiva o quema el token no fungible especificado y devuelve un objeto de token y un historial de tokens. Cualquier usuario con el rol de quemador puede llamar a este método.
- Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "sameOrgEndorser": true }
- Parámetros:
orgId: string
: ID del proveedor de servicios de membresía (MSP) en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico.tokenId: string
: ID del token no fungible que se va a grabarsameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- Si se realiza correctamente, una matriz de JSON que contiene un mensaje sobre la operación de grabación.
- Ejemplo de valor devuelto:
{ "msg": "Successfully burned NFT token: 'art' from Account-Id: oaccount~76cb672eeb1bd535899562a840d0c15a356db89e24bc8b43ac1dba845a4282c6 (Org-Id: appdev, User-Id: user2)" }
-
createAccount
- Nombre del método original:
createAccount
- Este método POST crea una cuenta para un usuario especificado y cuentas de token asociadas para tokens fungibles o no fungibles. Se debe crear una cuenta para cualquier usuario que tenga tokens en cualquier momento. La cuenta de usuario realiza un seguimiento de la cuenta NFT y las cuentas de token fungibles que tiene un usuario. Los usuarios deben tener cuentas en la red para completar las operaciones relacionadas con tokens. Este método solo puede ser llamado por
Token Admin
del código de cadenas.Una cuenta de usuario tiene un ID único, formado por un hash SHA-256 del parámetro
orgId
y el parámetrouserId
.Un usuario puede tener varias cuentas de token fungibles con ID de cuenta únicos. Los ID de cuenta de token fungible están formados por un hash SHA-256 del parámetro
orgId
, el parámetrouserId
, la cadena constanteft
separada por el símbolo tilde (~
) y un número de contador que significa el índice de la cuenta fungible que se está creando separado por el símbolo tilde (~
).Un usuario solo puede tener una cuenta de token no fungible. Los ID de cuenta de token no fungibles son únicos y están formados por un hash SHA-256 del parámetro
orgId
, el parámetrouserId
y la cadena constantenft
separados por el símbolo tilde (~
). Todos los tokens no fungibles que posee un usuario, ya sean completos o fraccionales, están vinculados a esta cuenta.Los ID de cuenta de usuario empiezan por
ouaccount~
. Los ID de cuenta de token comienzan conoaccount~
. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "ftAccount": true, "nftAccount": true, "endorsers": {{endorsers}} }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.ftAccount: boolean
: si es verdadero, se crea una cuenta de token fungible y se asocia a la cuenta de usuario.nftAccount: boolean
: si es true, se crea una cuenta de token no fungible y se asocia a la cuenta de usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de valor devuelto:
{ "assetType": "ouaccount", "accountId": "ouaccount~cf20877546f52687f387e7c91d88b9722c97e1a456cc0484f40c747f7804feae", "userId": "user1", "orgId": "appdev", "totalAccounts": 2, "totalFtAccounts": 1, "associatedFtAccounts": [ { "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b", "tokenId": "" } ], "associatedNftAccount": "oaccount~73c3e835dac6d0a56ca9d8def08269f83cefd59b9d297fe2cdc5a9083828fa58" }
-
createArtCollectionToken
- Nombre del método original:
createArtCollectionToken
- Este método POST crea (minta) un NFT. El activo y las propiedades asociadas se guardan en la base de datos de estado. El emisor de llamada de esta transacción debe tener una cuenta de token. El emisor de la llamada de esta transacción se convierte en el propietario de la NFT. Si el archivo de especificación de token incluye la sección
roles
parabehaviors
y la propiedadminter_role_name
pararoles
, el emisor de llamada de la transacción debe tener el rol mínimo. De lo contrario, cualquier emisor de llamada puede acuñar NFT. - Carga Útil:
{ "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 }
- Parámetros:
tokenAsset: <Token Class>
: activo de token que acuñar. Para obtener más información sobre las propiedades del activo de token, consulte el archivo de especificación de entrada.quantity: number
: número de tokens que acuñar. El único valor soportado para este parámetro es1
.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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
- Nombre del método original:
createLoyaltyToken
- Este método POST crea tokens. Cada token definido tiene su propio método de creación. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Carga Útil:
{ "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"Token_Name\":\"Token_Name value\",\"Token_to_Currency_Ratio\":999}", "sameOrgEndorser": true }
- Parámetros:
tokenAsset: <Token Class>
: activo de token. Las propiedades del activo se definen en el archivo de modelo.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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
- Nombre del método original:
createTokenAccount
- Este método POST crea una cuenta de token fungible o no fungible para asociarla a una cuenta de usuario.
Un usuario puede tener varias cuentas de token fungibles con ID de cuenta únicos. Los ID de cuenta de token fungible están formados por un hash SHA-256 del parámetro
orgId
, el parámetrouserId
, la cadena constanteft
separada por el símbolo tilde (~
) y un número de contador que significa el índice de la cuenta fungible que se está creando separado por el símbolo tilde (~
).Un usuario solo puede tener una cuenta de token no fungible. Los ID de cuenta de token no fungibles son únicos y están formados por un hash SHA-256 del parámetro
orgId
, el parámetrouserId
y la cadena constantenft
separados por el símbolo tilde (~
). Todos los tokens no fungibles que posee un usuario, ya sean completos o fraccionales, están vinculados a esta cuenta.Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenType": "nonfungible", "endorsers": {{endorsers}} }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.tokenType: TokenType
: tipo de cuenta de token que se va a crear. Los únicos tipos de token soportados sonnonfungible
yfungible
.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Devuelve:
- Si se realiza correctamente, se crea un objeto JSON de la cuenta de token.
- Ejemplo de valor devuelto:
{ "assetType": "ouaccount", "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc", "userId": "user2", "orgId": "appdev", "totalAccounts": 1, "totalFtAccounts": 1, "associatedFtAccounts": [ { "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a", "tokenId": "" } ], "associatedNftAccount": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a" }
-
createUserAccount
- Nombre del método original:
createUserAccount
- Este método POST crea una cuenta para un usuario especificado. Se debe crear una cuenta para cualquier usuario que tenga tokens en cualquier momento. La cuenta de usuario realiza un seguimiento de la cuenta NFT y las cuentas de token fungibles que tiene un usuario. Los usuarios deben tener cuentas en la red para completar las operaciones relacionadas con tokens.
Un ID de cuenta es un hash SHA-256 del parámetro
orgId
y del parámetrouserId
. Este método solo puede ser llamado porToken Admin
del código de cadenas. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Devuelve:
- Si se realiza correctamente, se crea un objeto JSON de la cuenta de usuario.
- Ejemplo de valor devuelto:
{ "assetType": "ouaccount", "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc", "userId": "user2", "orgId": "appdev", "totalAccounts": 0, "totalFtAccounts": 0, "associatedFtAccounts": [], "associatedNftAccount": "" }
-
deleteAccount
- Nombre del método original:
deleteAccount
- Este método POST suprime una cuenta de token. Después de suprimir una cuenta, la cuenta tiene el estado final y no se puede actualizar ni cambiar a ningún otro estado. Para suprimir una cuenta, el saldo de cuenta debe ser cero. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Devuelve:
- Si se realiza correctamente, una representación JSON del estado de la cuenta de token.
- Ejemplo de valor devuelto:
{ "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "deleted" }
-
exchangeToken
- Nombre del método original:
exchangeToken
- Este método intercambia tokens entre cuentas especificadas. Este método solo admite el intercambio entre un NFT y un token fungible o un token fungible y un NFT. El NFT puede ser entero o fraccional. Solo el propietario de la cuenta puede llamar a este método.
- Carga Útil:
{ "fromTokenId": "fromTokenId value", "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "fromTokenQuantity": 1, "toTokenId": "toTokenId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "toTokenQuantity": 1, "endorsers": {{endorsers}} }
- Parámetros:
fromTokenId: string
: ID del token que posee el remitente.fromOrgId: string
: ID del proveedor de servicios de membresía (MSP) del remitente en la organización actual.fromUserId: string
: nombre de usuario o ID de correo electrónico del remitente.fromTokenQuantity: number
: cantidad de tokens del remitente para intercambiar con el receptor.toTokenId: string
: ID del token que posee el receptor.toOrgId: string
: ID del proveedor de servicios de membresía (MSP) del receptor en la organización actual.toUserId: string
: nombre de usuario o ID de correo electrónico del destinatario.toTokenQuantity: number
: cantidad de tokens del receptor para intercambiar con el remitente.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Devuelve:
- Si se realiza correctamente, un mensaje con detalles de intercambio de token.
- Ejemplo de valor devuelto:
{ "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
- Nombre del método original:
getAccount
- Este método GET devuelve los detalles de la cuenta de token para un usuario especificado. Este método solo puede ser llamado por un
Token Admin
del código de cadenas o elAccount Owner
de la cuenta. - Consulta:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- Si se realiza correctamente, un objeto JSON que incluye detalles de cuenta de token.
- Ejemplo de valor devuelto
{ "assetType": "oaccount", "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371", "userId": "user2", "orgId": "AppBldFFFFMay22", "tokenType": "nonfungible", "noOfNfts": 3 }
-
getAccountDetailsByUser
- Nombre del método original:
getAccountDetailsByUser
- Este método GET devuelve los detalles de cuenta de un usuario especificado. Este método solo puede ser llamado por un
Token Admin
del código de cadenas o elAccount Owner
de la cuenta. - Consulta:
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "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
- Nombre del método original:
getAccountHistory
- Este método GET devuelve el historial de la cuenta para una cuenta de token especificada. Para las cuentas NFT, el parámetro
tokenId
debe estar vacío. Este método solo lo puede llamar elToken Admin
del código de cadenas o el propietario de la cuenta. - Consulta:
/getAccountHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}&tokenId={{bc-token-id}}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.tokenId: string
: ID del token fungible.
- Ejemplo de valor devuelto:
[ { "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
- Nombre del método original:
getAccountStatus
- Este método GET recupera el estado actual de la cuenta de token. Este método lo puede llamar el
Token Admin
del código de cadenas o el propietario de la cuenta de token. - Consulta:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- Si se realiza correctamente, una representación JSON del estado de la cuenta de token.
- Ejemplo de valor devuelto:
{ "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" }
-
getAccountStatusHistory
- Nombre del método original:
getAccountStatusHistory
- Este método GET recupera el historial del estado de la cuenta. Este método lo puede llamar el
Token Admin
del código de cadenas o el propietario de la cuenta de token. - Consulta:
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- Si se realiza correctamente, el historial de estado de la cuenta en formato JSON.
- Ejemplo de valor devuelto:
[ { "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
- Nombre del método original:
getAccountTransactionHistory
- Este método GET devuelve el historial de transacciones de la cuenta. Este método solo lo puede llamar un
Token Admin
del código de cadenas o el propietario de la cuenta. - Consulta:
/getAccountTransactionHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
[ { "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
- Nombre del método original:
getAccountsByRole
- Este método devuelve una lista de todos los ID de cuenta para un rol especificado. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Consulta:
/getAccountsByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
- Parámetros:
role: string
: nombre del rol que se va a buscar.tokenDetails: TokenDetail
: detalles que especifican el token. Para tokens fungibles, utilice el siguiente formato:
Para tokens no fungibles, utilice el siguiente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
- Ejemplo de valor devuelto:
{ "accounts": [ "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a", "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b" ] }
-
getAllAccounts
- Nombre del método original:
getAllAccounts
- Este método GET devuelve detalles de todas las cuentas de usuario. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Consulta:
/getAllAccounts
- Parámetros:
- ninguno
- Devuelve:
- En caso de éxito, una matriz JSON de todas las cuentas.
- Ejemplo de valor devuelto:
[ { "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
- Nombre del método original:
getAllTokenAdmins
- Este método GET devuelve una lista de todos los usuarios que son
Token Admin
del código de cadenas. Este método solo puede ser llamado porToken Admin
del código de cadenas. - Consulta:
/getAllTokenAdmins
- Parámetros:
- ninguno
- Devuelve:
- Cuando se realiza correctamente, una matriz
admins
en formato JSON que contiene objetosorgId
yuserId
.
- Cuando se realiza correctamente, una matriz
- Ejemplo de valor devuelto:
{ "admins": [ { "orgId": "appdev", "userId": "user2" }, { "orgId": "appdev", "userId": "user1" } ] }
-
getAllTokens
- Nombre del método original:
getAllTokens
- Este método GET devuelve todos los activos de token que se guardan en la base de datos de estado. Este método solo puede ser llamado por
Token Admin
del código de cadenas. Este método utiliza consultas enriquecidas SQL de Berkeley DB y solo se puede llamar cuando se conecta a la red remota de Oracle Blockchain Platform. - Consulta:
/getAllTokens
- Parámetros:
- ninguno
- Ejemplo de valor devuelto:
[{ "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
- Nombre del método original:
getAllTokensByUser
- Este método GET devuelve todos los activos de token que son propiedad de un usuario especificado. Este método utiliza consultas enriquecidas SQL de Berkeley DB y solo se puede llamar cuando se conecta a la red remota de Oracle Blockchain Platform. Este método solo lo puede llamar un
Token Admin
del código de cadenas o el propietario de la cuenta. - Consulta:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parámetros:
org_id: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.user_id: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
[{ "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
- Nombre del método original:
getTokenById
- Este método GET devuelve un objeto de token si el token está presente en la base de datos de estado. Este método solo lo puede llamar un
Token Admin
del código de cadenas o el propietario del token. Para NFT fraccionales, la respuesta incluye la lista de propietarios de tokens. - Consulta:
/getTokenById?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token que se va a obtener.
- Ejemplo de valor devuelto:
[{ "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
- Nombre del método original:
getTokenDecimal
- Este método devuelve el número de posiciones decimales para un token especificado. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Consulta:
/getTokenDecimal?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de valor devuelto:
{ "msg": "Token Id: tokenOne has 2 decimal places." }
-
getTokenHistory
- Nombre del método original:
getTokenHistory
- Este método GET devuelve el historial de un ID de token especificado. Cualquiera puede llamar a este método.
/getTokenHistory?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de valor devuelto:
[{ "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
- Nombre del método original:
getTokensByName
- Este método GET devuelve todos los activos de token para un nombre de token especificado. Este método utiliza consultas enriquecidas SQL de Berkeley DB y solo se puede llamar cuando se conecta a la red remota de Oracle Blockchain Platform. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Consulta:
/getTokensByName?tokenName=tokenName value
- Parámetros:
tokenName: string
: nombre del token.
- Ejemplo de valor devuelto:
[ { "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
- Nombre del método original:
getTransactionById
- Este método GET devuelve el historial de transacciones para un ID de transacción especificado. Se trata de un método asíncrono. Este método puede ser llamado por cualquier usuario.
- Consulta:
/getTransactionById?transactionId=transactionId value
- Parámetros:
transactionId: string
: ID de la transacción, que es el prefijootransaction~
seguido del hash de 64 bits en formato hexadecimal.
- Ejemplo de valor devuelto:
{ "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
- Nombre del método original:
getUserByAccountId
- Este método GET devuelve el ID de organización y el ID de usuario para un ID de cuenta especificado.
- Consulta:
/getUserByAccountId?accountId=accountId value
- Parámetros:
accountId: string
: ID de la cuenta.
- Ejemplo de valor devuelto:
{ "orgId": "AppBldFFFFMay22", "userId": "user2" }
-
getUsersByRole
- Nombre del método original:
getUsersByRole
- Este método GET devuelve una lista de todos los usuarios para un rol especificado.
- Consulta:
/getUsersByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
- Parámetros:
role: string
: nombre del rol que se va a buscar.tokenDetail: TokenDetail
: detalles que especifican el token. Para tokens fungibles, utilice el siguiente formato:
Para tokens no fungibles, utilice el siguiente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
- Ejemplo de valor devuelto:
{ "users": [ { "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a", "orgId": "appdev", "userId": "user2" }, { "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b", "orgId": "appdev", "userId": "user1" } ] }
-
init
- Nombre del método original:
init
- Se llama a este método POST cuando se despliega el código de cadenas. La información del usuario se guarda como
Token Admin
del código de cadenas. - Carga Útil:
{ "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-user-id}}\"}]" }
- Parámetros:
adminList array
: matriz de información{user_id, org_id}
que especifica la lista de administradores de token. La matrizadminList
es un parámetro obligatorio.
- Devuelve:
- Si se realiza correctamente, un mensaje sin carga útil.
- Ejemplo de valor devuelto:
{ }
-
isInRole
- Nombre del método original:
isInRole
- Este método GET devuelve un valor booleano para indicar si un usuario tiene un rol especificado. Este método solo puede ser llamado por un
Token Admin
del código de cadenas o elAccount Owner
de la cuenta. - Consulta:
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.role: string
: nombre del rol que se va a buscar.tokenDetail: TokenDetail
: detalles que especifican el token. Para tokens fungibles, utilice el siguiente formato:
Para tokens no fungibles, utilice el siguiente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
- Ejemplo de valor devuelto:
{ "result": true, "msg": "Account Id oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: user2) has minter role" }
-
isTokenAdmin
- Nombre del método original:
isTokenAdmin
- Este método GET devuelve el valor booleano
true
si el emisor de llamada de la función esToken Admin
; de lo contrario, devuelvefalse
. Este método solo puede ser llamado porToken Admin
del código de cadenas. - Consulta:
/isTokenAdmin?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- El método devuelve
true
si el emisor de llamada esToken Admin
; de lo contrario, devuelvefalse
.
- El método devuelve
- Ejemplo de valor devuelto:
{ "result": true }
-
mintBatch
- Nombre del método original:
mintBatch
- Este método POST crea (minta) varios tokens en una operación por lotes. Este método crea solo tokens fungibles o tokens fraccionales no fungibles.
En el caso de tokens fungibles, si el rol minter está definido en el archivo de especificación, cualquier usuario con el rol minter puede llamar a este método. Si no es así, cualquier usuario puede utilizar este método para acuñar tokens. No puede importar más que la propiedad
max_mint_quantity
del token si esa propiedad se especificó cuando se creó o actualizó el token.Para los tokens no fungibles, si el rol mínimo está definido en el archivo de especificación, cualquier usuario con el rol mínimo puede llamar a este método. Si no es así, cualquier usuario puede utilizar este método para acuñar tokens. Además, el emisor de llamada también debe ser el creador del token. No hay límite superior para la cantidad de tokens fraccionales no fungibles que se pueden acuñar.
No puede utilizar este método para acuñar un token no fungible completo.
- Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenIds": "[\"{{bc-token-id}}\"]", "quantity": "[quantity value]", "sameOrgEndorser": true }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.tokenIds: string[]
: lista de ID de token para los que acuñar tokens.quantity: number[]
: lista de cantidades de tokens para acuñar, correspondiente a la matriz de ID de token.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- En caso de éxito, un objeto JSON que incluye detalles sobre los tokens acuñados.
- Ejemplo de valor devuelto:
{ "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
- Nombre del método original:
name
- Este método GET devuelve el nombre de la clase de token. Cualquiera puede llamar a este método.
- Consulta:
/name?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de valor devuelto:
{ "tokenName": "artcollection" }
-
ownerOf
- Nombre del método original:
ownerOf
- Este método GET devuelve el ID de cuenta de los propietarios del ID de token especificado. Cualquiera puede llamar a este método.
- Consulta:
/ownerOf?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Devuelve:
- Objeto JSON de los ID de cuenta de los propietarios.
- Ejemplo de valor devuelto:
[ { "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "orgId": "Org1MSP", "userId": "admin" }, { "accountId": "oaccount~74108eca702bab6d8548e740254f2cc7955d886885251d52d065042172a59db0", "orgId": "Org1MSP", "userId": "user" } ]
-
post
- Nombre del método original:
post
- Este método POST publica un token a la venta por un precio especificado.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "sellingPrice": 1, "endorsers": {{endorsers}} }
- Parámetros:
tokenId: string
: ID del token.sellingPrice: number
: precio del token.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de valor devuelto:
{ "msg": "Token ID : 'artCollection1' has been posted for selling in the marketplace" }
-
removeRole
- Nombre del método original:
removeRole
- Este método elimina un rol de un usuario especificado. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "role": "role value (for example minter / burner)", "tokenDetail": "{\"tokenName\":\"tokenName value\"}", "endorsers": {{endorsers}} }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.role: string
: nombre del rol que se va a eliminar del usuario especificado.tokenDetail: TokenDetail
: detalles que especifican el token. Para tokens fungibles, utilice el siguiente formato:
Para tokens no fungibles, utilice el siguiente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de valor devuelto:
{ "msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)" }
-
removeTokenAdmin
- Nombre del método original:
removeTokenAdmin
- Este método POST elimina un usuario como
Token Admin
del código de cadenas. Este método solo puede ser llamado porToken Admin
del código de cadenas. Un administrador no puede eliminarse a sí mismo. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parámetros:
org_id: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.user_id: string
: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)" }
-
safeBatchTransferFrom
- Nombre del método original:
safeBatchTransferFrom
- Este método POST transfiere la propiedad de los tokens especificados del emisor de llamada a otra cuenta. El emisor de llamada de este método debe ser el remitente de los tokens y debe ser el propietario de los tokens especificados. Para las NFT fraccionadas, si un usuario transfiere todos sus recursos compartidos a otro usuario, pierde la propiedad del token.
- Carga Útil:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenIds": "[\"{{bc-token-id}}\"]", "quantity": "[quantity value]", "endorsers": {{endorsers}} }
- Parámetros:
fromOrgId: string
: ID del proveedor de servicios de membresía (MSP) del remitente y el propietario del token en la organización actual.fromUserId: string
: nombre de usuario o ID de correo electrónico del remitente y propietario del token.toOrgId: string
: ID del proveedor de servicios de membresía (MSP) del receptor en la organización actual.toUserId: string
: nombre de usuario o ID de correo electrónico del destinatario.tokenIds: string[]
: matriz de los ID de los tokens que se van a transferir.quantity: number[]
: lista de cantidades de tokens que se transferirán, correspondiente a la matriz de ID de token.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de valor devuelto:
[ { "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
- Nombre del método original:
suspendAccount
- Este método POST suspende una cuenta de token fungible. Devuelve un error si no se encuentra un valor
accountStatus
en el libro mayor. Este método solo puede ser llamado porToken Admin
del código de cadenas. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de valor devuelto:
{ "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "suspended" }
-
totalNetSupply
- Nombre del método original:
totalNetSupply
- Este método GET devuelve el número total de tokens acuñados menos el número de tokens quemados. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Consulta (tokens fungibles):
/totalNetSupply?tokenDetail={"tokenId":"{{bc-token-id}}"}
- Consulta (tokens no fungibles):
/totalNetSupply?tokenDetail={"tokenName":"tokenName value"}
- Parámetros:
tokenDetail: TokenDetail
: detalles que especifican el token. Para tokens fungibles, utilice el siguiente formato:
Para tokens no fungibles, utilice el siguiente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
- Ejemplo de valor devuelto:
{ "totalNetSupply": 105 }
-
totalSupply
- Nombre del método original:
totalSupply
- Este método GET devuelve el número total de tokens acuñados. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Consulta (tokens fungibles):
/totalSupply?tokenDetail={"tokenId":"{{bc-token-id}}"}
- Consulta (tokens no fungibles):
/totalSupply?tokenDetail={"tokenName":"tokenName value"}
- Parámetros:
tokenDetail: TokenDetail
: detalles que especifican el token. Para tokens fungibles, utilice el siguiente formato:
Para tokens no fungibles, utilice el siguiente formato:{"tokenId":"token1"}
{"tokenName":"artCollection"}
- Ejemplo de valor devuelto:
{ "totalSupply": 110 }
-
updateArtCollectionToken
- Nombre del método original:
updateArtCollectionToken
- Este método POST actualiza las propiedades del token. Solo el propietario del token puede llamar a este método. Para los NFT, los URI de token y metadatos de token no se pueden actualizar después de acuñar el token.
- Carga Útil:
{ "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 }
- Parámetros:
tokenAsset: <Token Class>
: activo de token que se va a actualizar. Para obtener más información sobre las propiedades del activo de token, consulte el archivo de especificación de entrada.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de valor devuelto:
{ "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
- Nombre del método original:
updateLoyaltyToken
- Este método POST actualiza las propiedades del token. Solo el propietario del token puede llamar a este método. Para los NFT, los URI de token y metadatos de token no se pueden actualizar después de acuñar el token.
- Carga Útil:
{ "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"Token_Name\":\"Token_Name value\",\"Token_to_Currency_Ratio\":999}", "sameOrgEndorser": true }
- Parámetros:
tokenAsset: <Token Class>
: activo de token que se va a actualizar. Para obtener más información sobre las propiedades del activo de token, consulte el archivo de especificación de entrada.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de valor devuelto:
{ "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
- Nombre del método original:
URI
- Este método GET devuelve el URI de un token especificado. Solo el creador del token puede llamar a este método.
- Consulta
/URI?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de valor devuelto:
{ "tokenUri": "example.com" }