El servicio Sequence Metadata API ofrece una API simple y rápida para consultar metadatos de tokens y NFTs en cadenas compatibles con Ethereum.

En pocas palabras, la Metadata API permite consultar los metadatos de cualquier contrato ERC20, ERC721 o ERC1155 en varias cadenas de Ethereum compatibles.

Además, el servicio Sequence Metadata está integrado automáticamente en el Sequence Indexer. Pero, como mostramos a continuación, también es útil poder consultar directamente los metadatos de tokens/contratos :)

[CONSEJO PRO: Diferencia entre endpoints RPC y REST]

El servicio Sequence Metadata está disponible tanto con endpoints RPC como REST. Recomendamos los endpoints RPC para aplicaciones, pero los endpoints REST también están disponibles por conveniencia.

Para el endpoint RPC consulte Token metadata RPC y Contract metadata RPC.

Ejemplo

Supongamos que desea consultar los metadatos de una carta 1155 de Skyweaver en la red Polygon. Por supuesto, el siguiente ejemplo funcionará para cualquier combinación de red, contrato o token.

Primero, el contrato de activos Skyweaver 1155 se encuentra en la dirección 0x631998e91476DA5B870D741192fc5Cbc55F5a52E en la red Polygon. Segundo, vamos a construir el endpoint de consulta de metadatos para consultar los metadatos del contrato de Skyweaver para el token ID 20:

Solicitud

Respuesta:

[

  {

    "tokenId": "20",

    "contractAddress": "0x631998e91476da5b870d741192fc5cbc55f5a52e",

    "name": "Unstoppable Chop",

    "description": "Attach Silence to target unit. Do 4 damage to it.",

    "image": "https://assets.skyweaver.net/TNqWLuJZ/webapp/cards/full-cards/6x/20-silver.png",

    "decimals": 2,

    "properties": {

      "baseCardId": 20,

      "goldCardId": 131092,

      "grade": "oldSilver",

      "id": 20,

      "silverCardId": 65556

    },

    "attributes": null

  }

]

Si desea consultar varios tokens al mismo tiempo, puede incluir más IDs de token separados por comas https://metadata.sequence.app/tokens/polygon/0x…/20,21,22 — haga clic para ver la respuesta JSON al consultar los token IDs 20, 21 y 22 en una sola solicitud agrupada.

Puede probar modificando la URL de metadata.sequence.app anterior para su propio contrato, o para otro proyecto popular, y ver las respuestas que se obtienen. Puede cambiar la red a una de nuestras redes compatibles y especificar cualquier contrato y/o ID de token.

Además de consultar fácilmente la metadata a nivel de token como en el ejemplo anterior, también puede consultar metadata a nivel de contrato. La metadata a nivel de contrato le brinda más información sobre una dirección de contrato, como el nombre, tipo de contrato, logo y descripción. Simplemente cambie la URL de metadata anterior para consultar solo la dirección del contrato

y vea el resultado:

{

  "chainId": 137,

  "address": "0x631998e91476da5b870d741192fc5cbc55f5a52e",

  "name": "Skyweaver",

  "type": "ERC1155",

  "symbol": "SKYWVR",

  "logoURI": "https://assets.skyweaver.net/_tX5dRVi/webapp/icons/skyweaver-token.png",

  "extensions": {

    "link": "https://www.skyweaver.net/",

    "description": "Skyweaver is a Free-to-Play, trading card game powered by Polygon and Ethereum.",

    "ogImage": "https://skyweaver.net/images/skyweavercover.jpg",

    "originAddress": "0x631998e91476da5b870d741192fc5cbc55f5a52e"

  }

}

Uso

El servicio Metadata API es accesible ya sea mediante una interfaz REST simple o un cliente RPC. Para el cliente RPC, ofrecemos clientes para navegador web, node y Go. Recomendamos el cliente RPC para la mayoría de las integraciones, pero también dejamos disponible la interfaz REST por conveniencia.

Endpoints REST

Como se mencionó en el ejemplo anterior. El formato general del endpoint REST es:

GET https://metadata.sequence.app/tokens/<network>/<contractAddress>[/<tokenID>]

Donde <network> debe ser uno de los Chain ID o Chain Handle de las redes compatibles.

Obtener metadata a nivel de contrato:

GET https://metadata.sequence.app/tokens/<network>/<contractAddress>

Ejemplo

Obtener metadata a nivel de token:

GET https://metadata.sequence.app/tokens/<network>/<contractAddress>/<tokenID>[,<tokenID>,...]

Ejemplos:

Cliente RPC

La interfaz Metadata RPC ofrece todas las capacidades del servicio Metadata.

Proveemos SDKs para Web / node.js y Go. O si desea integrar el servicio Metadata con otro lenguaje, simplemente siga la referencia de la API a continuación para implementar las solicitudes HTTP. Además, puede leer el código fuente del cliente Typescript como implementación de referencia del cliente Metadata RPC.

Métodos RPC de Metadata

Endpoint de Metadata API: https://metadata.sequence.app

Métodos RPC de Metadata:

  • GetTokenMetadata - obtener metadata de tokens ERC721 o ERC1155 de un solo contrato
  • GetTokenMetadataBatch - obtener metadata de tokens ERC721 o ERC1155 de un lote de contratos
  • GetContractInfo - obtener metadata de contrato de una dirección de contrato ERC20, ERC721 o ERC1155
  • GetContractInfoBatch - obtener metadata de contrato de un lote de direcciones de contrato ERC20, ERC721 o ERC1155
  • SearchContracts - obtener información de metadata de contratos basada en criterios de búsqueda para tokens ERC20, ERC721 y ERC1155