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 que incluye los scripts de Terraform necesarios para el despliegue. Este archivo se despliega en una pila de Resource Manager en Oracle Cloud Infrastructure (OCI) para crear los recursos de Oracle necesarios para las API de envoltorio.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
-
registerOrg - Nombre del método original:
registerOrg - Este método POST registra una organización en el sistema. Este método solo puede ser llamado por un administrador de token.
- Carga Útil:
{ "orgId": "{{bc-org-id}}", "orgName": "org_name value", "endorsers": {{endorsers}} } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.orgName: string: (opcional) nombre de la organización.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "assetType": "oorgregistry", "org_registry_id": "orgregistry", "registered_orgs": [ { "org_id": "Org1MSP", "org_name": "Organization name" } ] } -
getAllRegisteredOrgs - Nombre del método original:
getAllRegisteredOrgs - Este método GET recupera los detalles de todas las organizaciones registradas. Este método solo puede ser llamado por un administrador de token.
- Consulta:
/getAllRegisteredOrgs - Parámetros:
- ninguno
- Ejemplo de valor devuelto:
[ { "org_id": "Org1MSP", "org_name": "Organization name" } ] -
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 la cuenta. Para las cuentas existentes en las que no se encuentra un
accountStatusen el libro mayor, el método devuelve un objetoaccountStatuscon 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 de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Devuelve:
- En caso de éxito, 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 Admindel código de cadena. Este método solo puede ser llamado por unToken Admindel código de cadena. - 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 de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Devuelve:
- Si se ha realizado correctamente, un mensaje que incluye detalles del usuario que se ha agregado como
Token Admindel código de cadena.
- Si se ha realizado correctamente, un mensaje que incluye detalles del usuario que se ha agregado 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 un
Token Admindel código de cadena. Los tokens fungibles del parámetro tokenDetails necesitan el valortokenIdcomo entrada. Los tokens no fungibles requieren tokenName como entrada, para lograr que se utilice el parámetro tokenDetail para especificar los detalles de los tokens fungibles y no fungibles de forma 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 de 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 los tokens fungibles, utilice el siguiente formato:
Para los tokens no fungibles, utilice el siguiente formato:{"tokenId":"token1"}{"tokenName":"artCollection"}endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar 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 de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar 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 la cuenta puede usar este método POST para comprar una NFT usando Ethereum y 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) de 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 receptor.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 que se deben transferir.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar 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 Admindel código de cadena 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 deben transferir, correspondiente a la matriz de ID de token.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Devuelve:
- Si se realiza correctamente, se muestra 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, que corresponde 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 e 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:
- Una vez realizada 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 de 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 los tokens. Este método solo puede ser llamado por un
Token Admindel código de cadena.Una cuenta de usuario tiene un ID único, formado por un hash SHA-256 del parámetro
orgIdy el parámetrouserId.Un usuario puede tener varias cuentas de token fungibles con ID de cuenta únicos. Los identificadores de cuentas de token fungibles están formados por un hash SHA-256 del parámetro
orgId, el parámetrouserId, la cadena constanteftseparada 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ámetrouserIdy la cadena constantenftseparados por el símbolo tilde (~). Todos los tokens no fungibles que posee un usuario, ya sean completos o fraccionarios, están vinculados a esta cuenta.Los ID de cuenta de usuario comienzan con
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 de 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 con la cuenta de usuario.nftAccount: boolean: si se define en true, se crea una cuenta de token no fungible y se asocia a la cuenta de usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar 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 (minuta) una 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 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
rolesparabehaviorsy la propiedadminter_role_namepararoles, el emisor de llamada de la transacción debe tener el rol minter. 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>: el activo de token que se debe 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 se deben 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 un
Token Admindel código de cadena. - 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>: el 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 con una cuenta de usuario.
Un usuario puede tener varias cuentas de token fungibles con ID de cuenta únicos. Los identificadores de cuentas de token fungibles están formados por un hash SHA-256 del parámetro
orgId, el parámetrouserId, la cadena constanteftseparada 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ámetrouserIdy la cadena constantenftseparados por el símbolo tilde (~). Todos los tokens no fungibles que posee un usuario, ya sean completos o fraccionarios, están vinculados a esta cuenta.Este método solo puede ser llamado por un
Token Admindel código de cadena. - 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 de 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 sonnonfungibleyfungible.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Devuelve:
- Si se ha realizado correctamente, se ha creado 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 de 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 los tokens.
Un ID de cuenta es un hash SHA-256 del parámetro
orgIdy el parámetrouserId. Este método solo puede ser llamado por unToken Admindel código de cadena. - 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 de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Devuelve:
- Si se ha realizado correctamente, se ha creado 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 eliminar una cuenta, esta se encuentra en estado final y no se puede actualizar ni cambiar a ningún otro estado. Para eliminar una cuenta, el saldo de la cuenta debe ser cero. Este método solo puede ser llamado por un
Token Admindel código de cadena. - 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 de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Devuelve:
- En caso de éxito, 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. La NFT puede ser total o fraccional. Este método solo puede ser llamado por el propietario de la cuenta.
- 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 receptor.toTokenQuantity: number: cantidad de tokens del receptor para intercambiar con el remitente.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Devuelve:
- En caso de éxito, 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 Admindel código de cadena o elAccount Ownerde 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 de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- En caso de éxito, un objeto JSON que incluya 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 la cuenta de un usuario especificado. Este método solo puede ser llamado por un
Token Admindel código de cadena o elAccount Ownerde 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 de 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 cuentas para una cuenta de token especificada. Para las cuentas de NFT, el parámetro
tokenIddebe estar vacío. Este método solo lo puede llamar elToken Admindel código de cadena 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 de 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 puede ser llamado por el
Token Admindel código de cadena o por 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 de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- En caso de éxito, 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 puede ser llamado por el
Token Admindel código de cadena o por 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 de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- En caso de éxito, 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 Admindel código de cadena 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 de 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 un
Token Admindel código de cadena. - 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 los tokens fungibles, utilice el siguiente formato:
Para los 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 un
Token Admindel código de cadena. - 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 un
Token Admindel código de cadenas. Este método solo puede ser llamado por elToken Admindel código de cadena. - Consulta:
/getAllTokenAdmins - Parámetros:
- ninguno
- Devuelve:
- Una vez realizada correctamente, una matriz
adminsen formato JSON que contiene objetosorgIdyuserId.
- Una vez realizada 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 un
Token Admindel código de cadena. Este método utiliza consultas enriquecidas de Berkeley DB SQL 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 de Berkeley DB SQL 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 Admindel código de cadena 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 de 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 puede ser llamado por un
Token Admindel código de cadena o el propietario del token. En el caso de las NFT fraccionadas, 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 decimales para un token especificado. Este método solo puede ser llamado por un
Token Admindel código de cadena. - 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 identificador 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 de SQL de base de datos de Berkeley y solo se puede llamar cuando se conecta a la red remota de Oracle Blockchain Platform. Este método solo puede ser llamado por un
Token Admindel código de cadena. - 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. Es 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 los tokens fungibles, utilice el siguiente formato:
Para los 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 - Este método POST se llama cuando se despliega el código de cadena. La información de usuario se guarda como el
Token Admindel código de cadena. - 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 tokens. La matrizadminListes un parámetro obligatorio.
- Devuelve:
- Una vez realizado 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 Admindel código de cadena o elAccount Ownerde 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 de 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 los tokens fungibles, utilice el siguiente formato:
Para los 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
truesi el emisor de llamada de la función esToken Admin; de lo contrario, devuelvefalse. Este método solo puede ser llamado por unToken Admindel código de cadena. - 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 de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- El método devuelve
truesi 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 (minuta) varios tokens en una operación por lotes. Este método crea solo tokens fungibles o tokens fraccionarios no fungibles.
Para los 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. De lo contrario, cualquier usuario puede utilizar este método para acuñar tokens. No puede acuñar más que la propiedad
max_mint_quantitydel token, si esa propiedad se especificó cuando se creó o actualizó el token.Para los tokens no 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. De lo contrario, 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 fraccionarios 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 de 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 se deben acuñar tokens.quantity: number[]: lista de cantidades de tokens que se deben acuñar, que corresponde 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 incluya detalles sobre los tokens extraídos.
- 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" } ] } -
post - Nombre del método original:
post - Este método POST publica un token para la venta a 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 pares (por ejemplo,peer1,peer2) que deben respaldar 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 un
Token Admindel código de cadena. - 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 de 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 los tokens fungibles, utilice el siguiente formato:
Para los tokens no fungibles, utilice el siguiente formato:{"tokenId":"token1"}{"tokenName":"artCollection"}endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar 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 Admindel código de cadena. Este método solo puede ser llamado por unToken Admindel código de cadena. 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 de 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. En el caso de los NFT fraccionarios, si un usuario transfiere todas sus acciones 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 afiliación (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 el 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 receptor.tokenIds: string[]: matriz de los ID de los tokens que se van a transferir.quantity: number[]: lista de cantidades de tokens que se deben transferir, correspondiente a la matriz de ID de token.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar 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
accountStatusen la contabilidad. Este método solo puede ser llamado por unToken Admindel código de cadena. - 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 de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar 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 un
Token Admindel código de cadena. - 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 los tokens fungibles, utilice el siguiente formato:
Para los 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 un
Token Admindel código de cadena. - 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 los tokens fungibles, utilice el siguiente formato:
Para los 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 NFT, los metadatos de token y el URI de token no se pueden actualizar después de extraer 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 pares (por ejemplo,peer1,peer2) que deben respaldar 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 NFT, los metadatos de token y el URI de token no se pueden actualizar después de extraer 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 pares (por ejemplo,peer1,peer2) que deben respaldar 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" }