Saltar al contenido
0%

¿Qué es la OpenSea API?

Alchemy Team headshot

Escrito por Alchemy Team

Publicado el 2 de febrero de 202310 min de lectura

Introducción a los NFTs

Los NFTs, o tokens no fungibles, son elementos digitales en la blockchain que son verificablemente únicos. Desde su concepción, esta clase de activos ha crecido para incluir coleccionables en formato de imagen, video y audio, elementos de videojuegos, arte digital, boletos para eventos, nombres de dominio e incluso registros de propiedad de activos físicos. Y los casos de uso siguen creciendo.

Generalmente vinculados a la blockchain de Ethereum, los NFTs se basan en los estándares de token ERC-721 y ERC-1155, y si se construye sobre este último, permiten la semifungibilidad: la capacidad de crear tokens que son intercambiables/fungibles al acuñarse, pero que se vuelven no intercambiables/no fungibles al canjearse. Algunos ejemplos de tokens semifungibles incluyen boletos de conciertos, vales de regalo y cupones. Recientemente, también se ha hablado de NFTs "soulbound" que serían intransferibles una vez adquiridos, lo que permitiría a las personas verificar su identidad, confirmar la asistencia a eventos y ostentar derechos de gobernanza distribuidos y basados en participación en organizaciones descentralizadas (DAOs). Los NFTs soulbound servirían para expandir el espacio de los NFTs más allá de la señalización social y los incentivos financieros que actualmente predominan como resultado de la posibilidad de intercambiar estos activos en mercados secundarios.

Mientras tanto, a medida que el mercado de compraventa de NFTs continúa creciendo hasta convertirse en una parte desproporcionadamente grande del espacio Web3, con más de 41 mil millones de dólares en volumen de operaciones a fines de 2021, los desarrolladores acuden en masa a este espacio para construir sobre esta clase de activos única.

Los NFTs ofrecen una oportunidad única tanto para desarrolladores de aplicaciones como para desarrolladores de smart contracts. Independientemente de si los proyectos que estás construyendo requieren interactuar directamente con la blockchain, un requisito importante es poder acceder a un índice del ecosistema de NFTs, con información detallada sobre propiedad, colecciones y eventos. Para los desarrolladores de smart contracts, es igualmente valioso poder construir marketplaces nativos de NFTs mediante funcionalidad que permita la compraventa de NFTs.

OpenSea, el marketplace peer-to-peer líder para NFTs y otros activos digitales, cumple con estos requisitos clave para desarrolladores a través de su API y SDK, un conjunto de herramientas sencillo de integrar y usar que ya sirve de base para la mayoría de las apps convencionales que trabajan con NFTs hoy en día. Pero que una porción tan grande del mercado dependa de un sistema tan centralizado no está exento de problemas, especialmente porque la plataforma de OpenSea ha enfrentado recientemente problemas de fiabilidad, y existen varias alternativas viables a la API de OpenSea.

¿Qué es OpenSea?

OpenSea funciona como un marketplace horizontal peer-to-peer para bienes digitales, que permite a los usuarios comprar, vender y subastar NFTs, objetos digitales raros y coleccionables cripto. Para los desarrolladores, OpenSea ofrece integraciones y herramientas extensas para apps en el espacio de los NFTs. Indexan y proveen el conjunto de datos de NFTs más grande (habiendo existido desde que se listaron los primeros proyectos), y actúan como mercado secundario para colecciones y proyectos populares. ‍ OpenSea es compatible con varios tokens y chains ampliamente usados, y están expandiendo activamente esa lista. Son compatibles tanto con no fungibles ERC-721 como con semifungibles ERC-1155, y son una plataforma multi-chain, que ofrece herramientas para Polygon y Klaytn además de Ethereum. ‍ Junto con su marketplace, la plataforma de API de OpenSea impulsa herramientas de terceros, con su API REST sirviendo de base para varios proyectos grandes de la comunidad Web3, como MetaMask, Coinbase Wallet y Rainbow, entre otros.

La plataforma de desarrollo de OpenSea

Las herramientas para desarrolladores de OpenSea consisten en una API REST que permite a los desarrolladores acceder y mostrar metadatos sobre NFTs, y un Software Development Kit (SDK) que se construye sobre la API para habilitar el desarrollo que interactúa directamente con la blockchain, como la creación de marketplaces de NFTs mediante la compraventa de activos digitales. La plataforma de desarrollo de OpenSea ofrece varios valores agregados clave.

Para el desarrollo de aplicaciones mediante la API:

  1. Proceso sencillo para mostrar NFTs y colecciones en el frontend.
  2. Acceso a metadatos sobre transacciones, propiedad y otros detalles de cada activo y colección en la base de datos de OpenSea.
  3. La capacidad de monitorear la wallet de cualquier usuario en busca de transacciones de NFTs, y obtener información sobre los activos de cualquier usuario.
  4. Herramientas robustas de gestión de datos, incluyendo filtrado y estadísticas por categoría.
  5. OpenSea provee documentación completa que facilita comenzar a usar su API.

Y para la interacción con smart contracts mediante el SDK:

  1. Acceso a la comunidad más grande del espacio para coleccionistas y vendedores a través del contrato de intercambio de OpenSea.
  2. La capacidad de construir funcionalidad de comercio electrónico que lee y escribe en la blockchain sin desplegar tus propios contratos.
  3. Construir marketplaces nativos para la compraventa de NFTs con una amplia gama de funciones y estructuras de pago.
  4. OpenSea provee soporte incorporado para regalías a través de Royalty Registry, estandarizado entre plataformas.
  5. La documentación del SDK de OpenSea se actualiza regularmente para cumplir con los estándares más recientes de Solidity.

1. Herramientas de la API

La API de OpenSea provee endpoints para los siguientes modelos indexados en la plataforma de OpenSea: activos (tokens individuales ERC-721/ERC-1155), colecciones de NFTs, eventos, órdenes, cuentas y contratos de activos. Como parte de la funcionalidad del SDK, la API de órdenes permite la obtención (GET) y el envío (POST) de órdenes de NFTs. OpenSea provee acceso tanto a APIs de Mainnet como de Testnet (a través de la red Ethereum Rinkeby) para que los desarrolladores puedan construir y probar sin gastar dinero real.

Algunos endpoints de la API (orders y events) están restringidos por OpenSea para prevenir el mal uso. Para trabajar con estos endpoints, puedes solicitar una API key en el portal de desarrolladores de OpenSea.

Ahora exploraremos con más detalle los modelos de la API de OpenSea, y discutiremos el alcance y función de cada uno. También se incluyen a continuación los endpoints y llamadas a la API más populares.

1. Contracts

Un contract es un smart contract desplegado en la red Ethereum. Está asociado a una única cuenta propietaria. Los contracts se ejecutan automáticamente cuando se cumplen términos y condiciones predeterminados; en el caso de OpenSea, existen entre los compradores y el vendedor de una colección de NFTs, y se usan para ejecutar operaciones.

2. Assets

Los assets representan tokens individuales que provienen de un contract. Pueden pertenecer a una o más cuentas, y contienen metadatos sobre cada activo. Estos datos incluyen información sobre el ID del asset, su propietario, nombre, y el contract en el que está contenido, así como el media (la URL de la imagen que representa el asset) y los rasgos definidos por el creador. Los assets son la forma en que OpenSea se refiere a los NFTs.

3. Orders

Una order es una intención enviada por una cuenta de comprar/vender un asset. Existe fuera de la cadena (off-chain), y tiene un tipo: bid o ask. También contiene los metadatos necesarios para hacer match con NFTs on-chain. Hay dos participantes en una order: un maker, que aporta liquidez y actúa como el primero en moverse en una venta al declarar la intención de vender o comprar/ofertar por un item, y un taker, que toma liquidez y actúa como el segundo en moverse en una venta al comprar o aceptar una oferta sobre el item. Las orders pueden agruparse dentro de una colección específica.

4. Events

Un event representa un cambio de estado en un asset. Existen events on-chain, como transferencias, ventas y acuñaciones (mints), así como events off-chain, como ofertas y listados. Los events pueden ser privados.

5. Accounts

Las accounts representan a los usuarios en el marketplace de OpenSea a través de sus direcciones de wallet y nombres de usuario asociados. Pueden ser propietarias de uno o más assets, y actuar como makers o takers en una order.

6. Collections

Una collection es una agrupación de los assets de uno o más contracts. Contienen metadatos como información de regalías y enlaces sociales, y tienen uno o más editores autorizados. Las collections existen completamente off-chain. Están asociadas a metadatos como las regalías del creador y descripciones. Algunas collections de NFTs populares incluyen Bored Ape Yacht Club, CryptoPunks y Crypto Coven.

Algunos endpoints y llamadas a la API populares incluyen:

  • Get/ Assets Obtiene una lista de tokens según criterios de filtrado (como asset_contract_address o collection_slug)

  • GET /asset/:contract_address/:token_id

    • Obtiene información detallada sobre un token específico, incluyendo una lista de propietarios para tokens ERC-1155 y todas las órdenes abiertas sobre un token.
  • GET /collections

    • Obtiene una lista de collections. También admite opciones de filtrado, como asset_owner.
  • GET /collections/:slug/stats

    • Obtiene información estadística sobre una collection específica, incluyendo un floor price actualizado.
  • GET /events

    • Obtiene una lista de events según filtros.
    • Requiere un encabezado de API key (X-API-KEY: {KEY}).
  • GET /orders

    • Obtiene una lista de orders. Puede modificarse con opciones de filtrado como el tipo de order o con un maker o taker específico.

Puedes encontrar una lista completa de las llamadas y endpoints de la API de OpenSea aquí.

2. Herramientas del SDK

Las herramientas del SDK de OpenSea son un paquete de npm disponible para desarrolladores web que buscan integrar funcionalidad de comercio electrónico en sus aplicaciones. A través de la librería de JavaScript del SDK, puedes construir marketplaces nativos para la compraventa de NFTs sin necesidad de desplegar smart contracts ni order books de backend.

El SDK de OpenSea está respaldado por la API REST que exploramos anteriormente, y emplea Web3.js (un paquete popular para interacciones EVM) para impulsar las interacciones con la blockchain en la creación y ejecución de órdenes de NFTs.

El SDK admite funcionalidad como la obtención de assets, la creación de ofertas, la creación de listados y venta de items, la ejecución de crowdsales, la obtención de orders, la compra de items, la aceptación de ofertas y la transferencia de items o monedas (regalos).

También ofrece un conjunto avanzado de funciones que incluye la capacidad de programar listados futuros, comprar items para otros usuarios, hacer transferencias masivas de NFTs, crear paquetes (bundles) de NFTs, usar tokens ERC-20 como forma de pago en lugar de Ether, crear subastas privadas, compartir comisiones de venta con OpenSea, y escuchar events.

Es fácil de configurar (mediante npm install) y está integrado de forma nativa con el exchange de OpenSea para crear y ejecutar directamente órdenes de compra/venta.

Puedes instalar y explorar la funcionalidad de la librería de JavaScript del SDK de OpenSea aquí.

Adopción y perspectivas de la comunidad

La plataforma de desarrollo de OpenSea ha tenido una adopción generalizada en toda la comunidad Web3. Está integrada en productos como Coinbase Wallet, MetaMask, Rainbow, 3Box, Opera Wallet, Trust Wallet, Editorial, Balance, CryptoGoods y, más recientemente, Twitter, cuando agregó soporte para fotos de perfil con NFTs.

Esta dependencia casi generalizada en todo el mercado del índice API centralizado de OpenSea ha resultado ser problemática. En las últimas semanas, OpenSea ha atravesado una serie de "caídas de base de datos", y como resultado, varios servicios que dependen de las APIs de OpenSea no han podido mostrar NFTs. Aunque esto no afecta a los tokens subyacentes ni a la blockchain, resulta en tiempo de inactividad sostenido para todos los servicios de cara al usuario que dependen de los datos de NFTs mientras dura la caída de OpenSea.

Estas caídas han dado lugar a más conversaciones sobre la falta de descentralización en los servicios del espacio de los NFTs, y en el ecosistema Web3 en general. En este sentido, hay algunos proyectos en desarrollo que buscan distintos niveles de descentralización del índice de NFTs, pero todavía no hay actores completamente descentralizados en el mercado.

De todos modos, los eventos recientes indican que los desarrolladores deberían considerar a todos los principales proveedores de API de NFTs antes de decidir si usar OpenSea.

Alternativas a OpenSea

Además de OpenSea, a continuación se detallan algunas de las APIs de NFTs más usadas y con más funcionalidades. Es importante notar que actualmente no existe ningún servicio que ofrezca un equivalente al SDK de OpenSea para la creación de marketplaces de NFTs y funciones asociadas.

1. Alchemy NFT API

Alchemy, una plataforma de infraestructura de desarrollo Web3, anunció recientemente el lanzamiento de su NFT API, que permite acceder a metadatos de NFTs tanto en ERC-721 como en ERC-1155, de manera muy similar a como lo hace OpenSea. Actualmente admite el acceso a metadatos de NFTs en múltiples blockchains, la búsqueda del propietario de un NFT, y actualizaciones de información en tiempo real, entre otras funciones. La API de Alchemy está disponible en Mainnets de Ethereum, Polygon y Flow, con soporte planeado para otras, comenzando por Solana y Avalanche, y en Testnets de Ethereum y Polygon. Actualmente impulsa plataformas de NFTs como Adobe Behance, Shopify, Dapper Labs y SuperRare, entre otras.

Puedes leer más sobre el NFT API de Alchemy aquí y encontrar la documentación aquí.

2. NFT port

Otro proveedor de API de NFTs es NFTPort, una plataforma de infraestructura de NFTs, que admite funciones como:

  • Acuñar (mint) NFTs en la chain de Polygon.
  • Desplegar contracts compatibles con OpenSea, con soporte para NFTs dinámicos, así como soporte planeado para la gestión programática de regalías.
  • Indexación en vivo y caché de datos de NFTs, con datos de transacciones/órdenes on-chain.
  • APIs más avanzadas que incluyen búsqueda de NFTs multi-chain, recomendaciones de NFTs y detección de NFTs falsificados.

Puedes leer más sobre NFTPort aquí y encontrar la documentación aquí.

3. Listas de tokens de Uniswap

Para los desarrolladores a quienes les atrae la idea de un índice totalmente descentralizado para los datos de NFTs, las Token Lists de Uniswap actúan como un punto intermedio entre un nivel de centralización similar al de OpenSea y colecciones de NFTs curadas de forma personal e ingresadas por usuarios individuales de la red en sus wallets. Con la solución de Uniswap, la comunidad puede reunirse para listar collections de NFTs, generando descentralización y agregando confianza al proceso de indexación.

Puedes leer más sobre el intento de Uniswap de descentralizar aún más las interfaces de NFTs aquí y crear tu propia lista de tokens aquí.

4. Indexación completamente descentralizada... ¿algún día pronto?

En respuesta a las recientes caídas de OpenSea, Dan Finlay, uno de los fundadores de MetaMask, describió algunas alternativas a la dependencia centralizada de OpenSea aquí.

En su publicación, argumenta que: "una mejor solución es hacer que la detección de assets sea un acto de consentimiento centrado en el cliente."

A través de EIP-747, MetaMask ya permite que un sitio sugiera un asset personalizado a la wallet del usuario, con la wallet convirtiéndose en el índice de assets, sin necesitar un servidor central. MetaMask, según parece, tiene la intención de expandir esta funcionalidad para incluir NFTs, creando un sistema completamente descentralizado que además mejora el rendimiento.

A medida que llegan al mercado más y más APIs de NFTs de este tipo, los desarrolladores cuentan con cada vez más opciones, no solo en cuanto al nivel de descentralización que mejor se adapta a ellos y a sus proyectos, sino también en cuanto a la elección del proveedor de estos servicios, lo que resulta en menos caídas a nivel de todo el mercado.

Reflexiones finales

La plataforma de desarrollo de OpenSea para NFTs es robusta, cuenta con muchas funciones, y es fácil de desplegar y usar. Ofrece funciones extensas de lectura y escritura de datos para los desarrolladores que buscan entrar al espacio de los NFTs, ya sea que busquen interactuar directamente con smart contracts o no. Es el proveedor líder del mercado del servicio de API de NFTs, y con razón.

Si bien la API de OpenSea en sí es relativamente confiable, la dependencia generalizada de las herramientas de la compañía significa que, si falla, como ha ocurrido en las últimas semanas, arrastrará consigo a gran parte del mercado de NFTs. Para reducir suficientemente el riesgo en este espacio, los desarrolladores deberían seguir explorando una variedad de opciones descentralizadas y centralizadas sobre las cuales construir sus proyectos, y los proveedores de infraestructura deberían trabajar para igualar y competir con el potente conjunto de funciones de OpenSea.

Sin importar qué API elijan los desarrolladores, el espacio de los NFTs avanza rápidamente hacia una adopción generalizada e innovación sostenida, a medida que el ecosistema y las herramientas en torno a esta clase de activos siguen creciendo. Nunca ha habido un mejor momento para empezar como desarrollador Web3.

Background gradient

Construye magia blockchain

Alchemy combina los productos y herramientas de desarrollo Web3 más potentes con recursos, comunidad y un soporte legendario.