- Edición de activos digitales de Oracle Blockchain Platform
- Marcos de token genéricos
- Marco de token no fungible
- Paquete de API de envoltorio de marco de token no fungible
Paquete de API de envoltorio de marco de token no fungible
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.
El paquete API wrapper utiliza el servicio API Gateway y OCI Functions para desplegar rutas de API diseñadas específicamente para la aplicación de marketplace coleccionable. El paquete de API de envoltorio de marco de token no fungible se puede descargar desde la consola de Oracle Blockchain Platform e incluye los siguientes componentes.
NFTCollectiblesWithERC721WrapperAPI.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.NFTCollectiblesWithERC721_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 lo puede llamar un administrador. Para las cuentas creadas antes de la funcionalidad de estado de cuenta, debe llamar a este método para ver el estado de la cuenta como activo.
- 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:
- Una representación JSON del objeto de estado de cuenta para la cuenta de token especificada.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "active" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 194 } }
-
addTokenAdmin
- 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}}", "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.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg":"Successfully added Admin (orgId: Org1MSP, userId: User1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 190 } }
-
addRole
- Nombre del método original:
addRole
- Este método agrega el rol al usuario y al token especificados.
- Carga Útil:
{ "role": "role value (for example minter / burner)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
role: string
: nombre del rol que se va a agregar al usuario especificado.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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully added role 'minter' to Account Id: oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
addTokenSysRole
- Nombre del método original:
addTokenSysRole
- Este método agrega
Org Admins
al código de cadena de token. - Carga Útil:
{ "role": "role value (for example vault)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
role: string
: nombre del rol que se va a agregar al usuario especificado.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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "96a84dffcb9156f7271dfb414e8c43b540595044cf9145f5fd56e9873797fc4a", "payload": { "msg": "Successfully added Org Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 197 } }
-
balanceOf
- Nombre del método original:
balanceOf
- Este método GET devuelve el número total de NFT que contiene un usuario especificado. Este método solo lo puede llamar un
Token Admin
del código de cadenas o el propietario de la cuenta. - Consulta:
/balanceOf?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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalNfts": 0 }, "encode": "JSON" } }
-
buy
- Nombre del método original:
buy
- Este método POST compra un token que está a la venta.
- Carga Útil:
{ "fromOrgId": "from_org_id value", "fromUserId": "from_user_id value", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "nonfungibleTokenId": "nonfungible_token_id value", "amountPaid": 1, "endorsers": {{endorsers}} }
- 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.nonfungibleTokenId: string
: ID del token que se va a comprar.amountPaid: number
: precio del token.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Token ID: 'monalisa' has been successfully transferred to UserID :oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
createAccount
- Nombre del método original:
createAccount
- Este método crea una cuenta para un usuario y un token especificados. Se debe crear una cuenta para cualquier usuario que tenga tokens en cualquier momento. Las cuentas realizan un seguimiento del número de NFT que posee un usuario. Un ID de cuenta es un juego alfanumérico de caracteres, con el prefijo
oaccount~
y seguido de un hash SHA-256 del ID de proveedor de servicios de miembros (orgId
) del usuario en la organización de red actual, el nombre de usuario o el ID de correo electrónico (userId
) del propietario de la instancia o el usuario que está conectado a la instancia y la cadena constantenft
. Este método solo puede ser llamado porToken Admin
del código de cadenas. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenType": "nonfungible", "endorsers": {{endorsers}} }
- Parámetros:
orgId
: ID del proveedor de servicios de afiliación (MSP) del usuario para el que crear la cuenta. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).userId
: nombre de usuario o ID de correo electrónico del usuario. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).tokenType: TokenType
: tipo de token, que debe serfungible
.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType": "oaccount", "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "bapAccountVersion": 0, "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 0 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
createArtCollectionToken
- 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\",\"metadata\":{\"Painting_Name\":\"Painting_Name value\",\"Description\":\"Description value\",\"Painter_Name\":\"Painter_Name value\"},\"Price\":999,\"On_Sale_Flag\":true}", "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.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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "\"https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg\"", "price": 100, "on_sale_flag": false }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
deleteAccount
- 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.
- Devuelve:
- Si se realiza correctamente, una representación JSON del estado de la cuenta de token.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "deleted" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
getAccountByUser
- Nombre del método original:
getAccountByUser
- Este método devuelve los detalles de la 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:
/getAccountByUser?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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "status": "active", "accountId": "oaccount~cc301bee057f14236a97d434909ec1084970921b008f6baab09c2a0f5f419a9a", "userId": "idcqa", "orgId": "appdev", "tokenType": "nonfungible", "noOfNfts": 0 }, "encode": "JSON" } }
-
getAccountHistory
- Nombre del método original:
getAccountHistory
- Este método devuelve el historial de cuentas de un usuario especificado. Se trata de un método asíncrono. Este método solo lo puede llamar el
Token Admin
del código de cadenas o el propietario de la cuenta. - Consulta:
/getAccountHistory?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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": [ { "trxId": "6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timeStamp": 1649151044, "value": { "assetType": "oaccount", "bapAccountVersion" : 5, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } }, { "trxId": "a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3", "timeStamp": 1649151022, "value": { "assetType": "oaccount", "bapAccountVersion" : 4, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 2 } }, { "trxId": "ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timeStamp": 1649150910, "value": { "assetType": "oaccount", "bapAccountVersion" : 3, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } }, { "trxId": "cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timeStamp": 1649149545, "value": { "assetType": "oaccount", "bapAccountVersion" : 2, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 0 } }, { "trxId": "e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timeStamp": 1649147442, "value": { "assetType": "oaccount", "bapAccountVersion" : 1, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } }, { "trxId": "d2d1f9c898707ae831e9361bc25da6369eac37b10c87dc04d18d6f3808222f08", "timeStamp": 1649137534, "value": { "assetType": "oaccount", "bapAccountVersion" : 0, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 0 } } ], "encode": "JSON" } }
-
getAccountsByRole
- 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)
- Parámetros:
role: string
: nombre del rol que se va a buscar.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "accounts": [ "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d" ] }, "encode": "JSON" } }
-
getAccountsByTokenSysRole
- Nombre del método original:
getAccountsByTokenSysRole
- Este método devuelve una lista de todos los ID de cuenta para un rol
TokenSys
especificado. Este método solo puede ser llamado porToken Admin
del código de cadenas. - Consulta:
/getAccountsByTokenSysRole?role=role value (for example vault)
- Parámetros:
role: string
: nombre del rolTokenSys
que se va a buscar.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "accountIds": [ "oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba" ] }, "encode": "JSON" } }
-
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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" }, "encode": "JSON" } }
-
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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63", "timeStamp": "2022-12-02T10:39:14.000Z", "value": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "suspended" } }, { "trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183", "timeStamp": "2022-12-02T10:37:50.000Z", "value": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" } } ], "encode": "JSON" } }
-
getAccountTransactionHistory
- 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. /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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timestamp": "2022-04-05T09:30:44.000Z", "tokenId": "monalisa1", "noOfNfts": 1, "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "BURN" }, { "transactionId": "otransaction~a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3", "timestamp": "2022-04-05T09:30:22.000Z", "tokenId": "monalisa1", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" }, { "transactionId": "otransaction~ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timestamp": "2022-04-05T09:28:30.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "CREDIT" }, { "transactionId": "otransaction~cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timestamp": "2022-04-05T09:05:45.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "DEBIT" }, { "transactionId": "otransaction~e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timestamp": "2022-04-05T08:30:42.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" } ], "encode": "JSON" } }
-
getAccountTransactionHistoryWithFilters
- Nombre del método original:
getAccountTransactionHistoryWithFilters
- Este método GET devuelve el historial de transacciones de cuenta para un usuario especificado, filtrado por
PageSize
,Bookmark
,startTime
yendTime
. Se trata de un método asíncrono. Este método solo se puede llamar cuando está conectado a la red remota de Oracle Blockchain Platform. Este método solo lo puede llamar elToken Admin
del código de cadenas o el propietario de la cuenta. /getAccountTransactionHistoryWithFilters?orgId={{bc-org-id}}&userId={{bc-user-id}}&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}
- 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.filters: object
: objeto de la clase de filtro que contiene cuatro atributos:pageSize
,bookmark
,startTime
yendTime
.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timestamp": "2022-04-05T09:30:44.000Z", "tokenId": "monalisa1", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "BURN" }, { "transactionId": "otransaction~a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3", "timestamp": "2022-04-05T09:30:22.000Z", "tokenId": "monalisa1", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" }, { "transactionId": "otransaction~ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timestamp": "2022-04-05T09:28:30.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "CREDIT" }, { "transactionId": "otransaction~cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timestamp": "2022-04-05T09:05:45.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "DEBIT" }, { "transactionId": "otransaction~e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timestamp": "2022-04-05T08:30:42.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" } ], "encode": "JSON" } }
-
getAllAccounts
- 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "valueJson": { "assetType": "oaccount", "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } } ], "encode": "JSON" } }
-
getAllLockedNFTs
- Nombre del método original:
getAllLockedNFTs
- Este método GET devuelve una lista de todas las NFT bloqueadas. Este método solo lo puede llamar un
Token Admin
del código de cadenas o el gestor de almacén (el usuario con el rolTokenSys vault
). - Consulta:
/getAllLockedNFTs
- Parámetros:
- ninguno
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key":"token1", "valueJson":{ "assetType":"otoken", "tokenId":"token1", "tokenName":"artcollection", "symbol":"ART", "tokenStandard":"erc721+", "tokenType":"nonfungible", "tokenUnit":"whole", "behaviors":[ "indivisible", "singleton", "mintable", "transferable", "lockable", "burnable", "roles" ], "roles":{ "minter_role_name":"minter" }, "mintable":{ "max_mint_quantity":20000 }, "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "creationDate":"2023-10-20T10:26:29.000Z", "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "isBurned":false, "isLocked":true, "tokenUri":"token1.example.com", "price":120, "on_sale_flag":false } } ], "encode": "JSON" } }
-
getAllTokenAdmins
- Nombre del método original:
getAllTokenAdmins
- Este método 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "admins":[ { "orgId":"Org1MSP", "userId":"admin" } ] }, "encode": "JSON" } }
-
getAllTokens
- Nombre del método original:
getAllTokens
- Este método 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "monalisa", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:48.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } }, { "key": "monalisa1", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa1", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:59.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } } ], "encode": "JSON" } }
-
getAllTokensByUser
- 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "monalisa", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:48.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } }, { "key": "monalisa1", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa1", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:59.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } } ], "encode": "JSON" } }
-
getLockedNFTsByOrg
- Nombre del método original:
getLockedNFTsByOrg
- Este método devuelve una lista de todos los tokens no fungibles bloqueados para una organización especificada y, opcionalmente, un usuario especificado. Este método solo lo puede llamar un
Token Admin
del código de cadenas o el gestor de almacenes (el usuario con el rolTokenSys vault
). - Consulta:
/getLockedNFTsByOrg?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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key":"token1", "valueJson":{ "assetType":"otoken", "tokenId":"token1", "tokenName":"artcollection", "symbol":"ART", "tokenStandard":"erc721+", "tokenType":"nonfungible", "tokenUnit":"whole", "behaviors":[ "indivisible", "singleton", "mintable", "transferable", "lockable", "burnable", "roles" ], "roles":{ "minter_role_name":"minter" }, "mintable":{ "max_mint_quantity":20000 }, "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "creationDate":"2023-10-20T10:26:29.000Z", "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "isBurned":false, "isLocked":true, "tokenUri":"token1.examplecom", "price":120, "on_sale_flag":false } } ], "encode": "JSON" } }
-
getTokenById
- Nombre del método original:
getTokenById
- Este método 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. - Consulta:
/getTokenById?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token que se va a obtener.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "transferredDate": "2022-04-05T09:28:30.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true }, "encode": "JSON" } }
-
getTokenHistory
- Nombre del método original:
getTokenHistory
- Este método devuelve el historial de un ID de token especificado. Se trata de un método asíncrono. Este método solo se puede llamar cuando está conectado a la red remota de Oracle Blockchain Platform. Cualquiera puede llamar a este método.
/getTokenHistory?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "trxId": "ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timeStamp": 1649150910, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "transferredDate": "2022-04-05T09:28:30.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true } }, { "trxId": "cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timeStamp": 1649149545, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "transferredDate": "2022-04-05T09:05:45.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true } }, { "trxId": "702e61cc8d6d2982521023d0d5f3195900f35e146d6a90ef66daae551e6075d2", "timeStamp": 1649147729, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true } }, { "trxId": "e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timeStamp": 1649147442, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "\"https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg\"", "price": 100, "on_sale_flag": false } } ] "encode": "JSON" } }
-
getTransactionById
- Nombre del método original:
getTransactionById
- Este método devuelve el historial de transacciones para un ID de transacción especificado. Se trata de un método asíncrono. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "history": [ { "trxId": "6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timeStamp": 1649151044, "value": { "assetType": "otransaction", "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "tokenId": "monalisa1", "fromAccountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "toAccountId": "", "triggeredByAccountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "BURN", "timestamp": "2022-04-05T09:30:44.000Z", } } ] }, "encode": "JSON" } }
-
getUserByAccountId
- Nombre del método original:
getUserByAccountId
- Este método GET devuelve los detalles de usuario de una cuenta especificada.
- Consulta:
/getUserByAccountId?accountId=accountId value
- Parámetros:
accountId: string
: ID de la cuenta.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "userId": "admin", "orgId": "Org1MSP" }, "encode": "JSON" } }
-
getUsersByRole
- Nombre del método original:
getUsersByRole
- Este método devuelve una lista de todos los usuarios para un rol especificado.
/getUsersByRole?role=role value (for example minter / burner)
- Parámetros:
role: string
: nombre del rol que se va a buscar.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "users": [ { "userId": "admin", "orgId": "Org1MSP" } ] }, "encode": "JSON" } }
-
init
- Nombre del método original:
init
- Este método se llama 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-admin-user}}\"}]" }
- 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.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807", "payload": "", "encode": "UTF-8", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 263 } }
-
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)
- 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.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "result":"true" }, "encode": "JSON" } }
-
isInTokenSysRole
- Nombre del método original:
isInTokenSysRole
- Este método GET devuelve un valor booleano para indicar si un usuario tiene un rol
TokenSys
especificado. Este método solo puede ser llamado por unToken Admin
del código de cadenas o elAccount Owner
de la cuenta. - Consulta:
/isInTokenSysRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example vault)
- Parámetros:
role: string
: nombre del rolTokenSys
que se va a buscar.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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "result": true, "msg": "Account Id oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba (Org-Id: Org1MSP, User-Id: user1) has vault role" }, "encode": "JSON" } }
-
isNFTLocked
- Nombre del método original:
isNFTLocked
- Este método GET devuelve un valor booleano para indicar si un token especificado está bloqueado. Este método solo lo puede llamar un
Token Admin
del código de cadenas, el propietario del token o el gestor de almacenes (el usuario con el rolTokenSys vault
). - Consulta:
/isNFTLocked?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "isNFTLocked":true }, "encode": "JSON" } }
-
lockNFT
- Nombre del método original:
lockNFT
- Este método POST bloquea un token no fungible especificado. Para bloquear un token, debe haber un usuario con el rol
TokenSys vault
, que actúe como gestor de almacén. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "sameOrgEndorser": true }
- Parámetros:
tokenId: string
: ID del token que se va a bloquear.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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType":"otoken", "tokenId":"token1", "tokenName":"artcollection", "symbol":"ART", "tokenStandard":"erc721+", "tokenType":"nonfungible", "tokenUnit":"whole", "behaviors":[ "indivisible", "singleton", "mintable", "transferable", "lockable", "burnable", "roles" ], "roles":{ "minter_role_name":"minter" }, "mintable":{ "max_mint_quantity":20000 }, "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "creationDate":"2023-10-20T10:26:29.000Z", "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "isBurned":false, "isLocked":true, "tokenUri":"token1.example.com", "price":120, "on_sale_flag":false }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
name
- Nombre de 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
- Parámetros: Ninguno
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": {"tokenName": "artcollection"}, "encode": "JSON" } }
-
ownerOf
- Nombre del método original:
ownerOf
- Este método GET devuelve el ID de cuenta del propietario 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 del ID de cuenta del propietario.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "owner": "oaccount~d6d22c3167e3c6ab9ee5653e1a008c37c20cc47ebb0229ca0aedfafe64c675b8" }, "encode": "JSON" } }
-
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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Token ID: 'monalisa' has been posted for selling in the marketplace" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
removeRole
- 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:
{ "role": "role value (for example minter / burner)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
role: string
: nombre del rol que se va a eliminar del usuario especificado. Los comportamientosmintable
yburnable
corresponden a las propiedadesminter_role_name
yburner_role_name
del archivo de especificación.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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully removed role 'minter' from Account Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
removeTokenAdmin
- 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully removed Admin (orgId: Org1MSP, userId: User1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
removeTokenSysRole
- Nombre del método original:
removeTokenSysRole
- Este método elimina un rol
TokenSys
de un usuario y token especificados. Este método solo puede ser llamado porToken Admin
del código de cadenas. - Carga Útil:
{ "role": "role value (for example vault)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
role: string
: nombre del rolTokenSys
que se va a eliminar del usuario especificado.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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully removed role 'vault' from Account Id: oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba (Org-Id: Org1MSP, User-Id: user1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
safeTransferFrom
- Nombre del método original:
safeTransferFrom
- Es una función asíncrona. Este método POST transfiere la propiedad de la NFT especificada del emisor de llamada a otra cuenta. Este método incluye las siguientes validaciones:
- La ficha existe y no se quema.
- La cuenta de remitente y la cuenta de receptor existen y no son la misma cuenta.
- La cuenta del remitente es propietaria del token.
- El emisor de la función es el emisor.
- Carga Útil:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenId": "{{bc-token-id}}", "data": "data 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.tokenId: string
: ID del token que se va a transferir.data: string
: información adicional opcional que se almacena en el registro de transacción.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully transferred NFT token: 'monalisa' from Account-Id: oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin) to Account-Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
suspendAccount
- Nombre del método original:
suspendAccount
- Este método 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "suspended" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
symbol
- Nombre del método original:
symbol
- Este método devuelve el símbolo de la clase de token. Cualquiera puede llamar a este método.
- Consulta:
/symbol
- Parámetros:
- ninguno
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "symbol": "PNT" }, "encode": "JSON" } }
-
tokenURI
- Nombre del método original:
tokenURI
- Este método devuelve el URI de un token especificado. Cualquiera puede llamar a este método.
- Consulta:
/tokenURI?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "tokenURI": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\.ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg" }, "encode": "JSON" } }
-
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. /totalNetSupply
- Parámetros:
- ninguno
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalNetSupply": 1 }, "encode": "JSON" } }
-
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:
/totalSupply
- Parámetros:
- ninguno
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalSupply": 3 }, "encode": "JSON" } }
-
transferFrom
- Nombre del método original:
transferFrom
- Es una función asíncrona. Este método transfiere la propiedad de la NFT especificada de una cuenta de remitente a una cuenta de receptor. Es responsabilidad del emisor de la llamada pasar los parámetros correctos. Cualquier usuario puede llamar a este método, no solo el propietario del token. Este método incluye las siguientes validaciones:
- La ficha existe y no se quema.
- La cuenta de remitente y la cuenta de receptor existen y no son la misma cuenta.
- La cuenta del remitente es propietaria del token.
- Carga Útil:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenId": "{{bc-token-id}}", "endorsers": {{endorsers}} }
- Parámetros:
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.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.tokenId: string
: ID del token que se va a transferir.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully transferred NFT token: 'monalisa' from Account-Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1) to Account-Id: oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
transferTokenSysRole
- Nombre del método original:
transferTokenSysRole
- Este método transfiere un rol
TokenSys
de un usuario a otro usuario. - Carga Útil:
{ "role": "role value (for example vault)", "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "endorsers": {{endorsers}} }
- Parámetros:
role: string
: nombre del rolTokenSys
que se va a transferir.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.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.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully transfered role 'vault' from Account Id: ouaccount~f4e311528f03fffa7810753d643f66289ff6c9080fcf839902f28a1d3aff1789 (Org-Id: Org1MSP, User-Id: user1) to Account Id: ouaccount~ae5be2ae8f98d6d32f5d02b43877d987114e7937c7bacbc30390dcce09996a19 (Org-Id: Org1MSP, User-Id: user2)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
updateArtCollectionToken
- Nombre del método original:
updateArtCollectionToken
- Este método actualiza las propiedades del token. Después de crear un activo de token, solo el propietario del token puede actualizar las propiedades personalizadas del token. Si el usuario es propietario y creador de un token, también puede actualizar la propiedad
TokenDesc
. No se pueden actualizar los metadatos del token. Debe transferir todas las propiedades de token a este método, incluso si desea actualizar solo determinadas propiedades. - Carga Útil:
{ "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"Price\":999,\"On_Sale_Flag\":true}", "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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\.ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }