> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Cómo obtener NFT de Solana: activos, colecciones y pruebas

> Recupera y consulta NFT de Solana, NFT comprimidos, ediciones y pruebas mediante la API DAS de Helius. Guía completa con ejemplos de código y prácticas recomendadas.

## Descripción general

Esta guía explica cómo leer NFT y coleccionables digitales con la API Digital Asset Standard (DAS) de Helius: obtener un activo individual, enumerar los NFT de una billetera, consultar por colección o creador, trabajar con NFT comprimidos y pruebas de Merkle, enumerar ediciones y leer el historial de transacciones.

Para tokens fungibles —saldos, suministro, titulares y precios—, consulta la [guía para obtener tokens SPL](/docs/es/das/get-tokens). Los mismos métodos `getAsset` e `getAssetsByOwner` funcionan tanto para NFT como para tokens; esta página se centra en los flujos de trabajo de NFT y coleccionables.

## Cuándo usar estos métodos

Usa los métodos de esta página cuando quieras:

* Mostrar los metadatos, la imagen y los atributos de un NFT individual
* Enumerar todos los NFT que posee una billetera para un portafolio o una galería
* Implementar un mercado o explorador con consultas por colección y creador
* Verificar o transferir NFT comprimidos (que requieren pruebas de Merkle)
* Mostrar el historial de transacciones en cadena de un NFT
* Enumerar las ediciones impresas a partir de un NFT maestro

## Métodos para NFT

Comienza con `getAsset` para un NFT individual o con `getAssetsByOwner` para la colección de una billetera. Cada tarjeta enlaza a su referencia completa de la API.

<CardGroup cols={2}>
  <Card title="getAsset" icon="image" href="/docs/es/api-reference/das/getasset">
    Datos completos de un NFT según su ID.
  </Card>

  <Card title="getAssetsByOwner" icon="wallet" href="/docs/es/api-reference/das/getassetsbyowner">
    Todos los NFT que contiene una billetera.
  </Card>

  <Card title="searchAssets" icon="magnifying-glass" href="/docs/es/das/search">
    Filtra por colección, creador, atributos y más; consulta la guía para buscar activos.
  </Card>

  <Card title="getAssetsByCreator" icon="user" href="/docs/es/api-reference/das/getassetsbycreator">
    Todos los activos acuñados por un creador.
  </Card>

  <Card title="getAssetsByGroup" icon="layer-group" href="/docs/es/api-reference/das/getassetsbygroup">
    Todos los activos de una colección.
  </Card>

  <Card title="getSignaturesForAsset" icon="clock-rotate-left" href="/docs/es/api-reference/das/getsignaturesforasset">
    Historial de transacciones de un activo.
  </Card>

  <Card title="getNftEditions" icon="copy" href="/docs/es/api-reference/das/getnfteditions">
    Ediciones impresas a partir de un NFT maestro.
  </Card>

  <Card title="getAssetProof" icon="shield-check" href="/docs/es/api-reference/das/getassetproof">
    Prueba de Merkle de un NFT comprimido.
  </Card>
</CardGroup>

### Obtener un NFT individual

Recupera todos los metadatos y los datos de propiedad y colección de un NFT mediante su ID:

```typescript theme={"system"}
const response = await fetch('https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: '1',
    method: 'getAsset',
    params: { id: 'F9Lw3ki3hJ7PF9HQXsBzoY8GyE6sPoEZZdXJBsTTD2rk' },
  }),
});

const { result } = await response.json();
console.log(result.content.metadata.name, result.ownership.owner);
```

### Más consultas de NFT

<AccordionGroup>
  <Accordion title="List a wallet's NFTs — getAssetsByOwner">
    ```typescript theme={"system"}
    const getNFTsByOwner = async (ownerAddress) => {
      const response = await fetch('https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
          jsonrpc: '2.0',
          id: '1',
          method: 'getAssetsByOwner',
          params: { ownerAddress, page: 1, limit: 10 },
        }),
      });

      const { result } = await response.json();
      return result;
    };

    getNFTsByOwner('86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY');
    ```
  </Accordion>

  <Accordion title="By creator — getAssetsByCreator">
    ```typescript theme={"system"}
    const getAssetsByCreator = async (creatorAddress) => {
      const response = await fetch('https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
          jsonrpc: '2.0',
          id: '1',
          method: 'getAssetsByCreator',
          params: { creatorAddress, page: 1, limit: 100 },
        }),
      });

      const { result } = await response.json();
      return result;
    };

    getAssetsByCreator('9uBX3ASjxWvNBAD1xjbVaKA74mWGZys3RGSF7DdeDD3F');
    ```
  </Accordion>

  <Accordion title="By collection — getAssetsByGroup">
    ```typescript theme={"system"}
    const getAssetsByCollection = async (collectionAddress) => {
      const response = await fetch('https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
          jsonrpc: '2.0',
          id: '1',
          method: 'getAssetsByGroup',
          params: { groupKey: 'collection', groupValue: collectionAddress, page: 1, limit: 100 },
        }),
      });

      const { result } = await response.json();
      return result;
    };

    getAssetsByCollection('J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w');
    ```
  </Accordion>

  <Accordion title="Transaction history — getSignaturesForAsset">
    ```typescript theme={"system"}
    const getNFTTransactionHistory = async (mintAddress) => {
      const response = await fetch('https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
          jsonrpc: '2.0',
          id: '1',
          method: 'getSignaturesForAsset',
          params: { id: mintAddress, page: 1, limit: 100 },
        }),
      });

      const { result } = await response.json();
      return result;
    };

    getNFTTransactionHistory('FNt6A9Mfnqbwc1tY7uwAguKQ1JcpBrxmhczDgbdJy5AC');
    ```
  </Accordion>
</AccordionGroup>

## NFT comprimidos

Los NFT con compresión de estado (cNFT) se **leen** con los mismos métodos que los NFT normales: `getAsset`, `getAssetsByOwner` e `searchAssets` los devuelven. Hay dos aspectos específicos de la compresión:

* **Pruebas de Merkle**: las operaciones en cadena, como las transferencias y quemas, requieren una prueba de `getAssetProof`.
* **Historial**: usa `getSignaturesForAsset` (mostrado arriba) para consultar el historial de transacciones de un cNFT.

<Accordion title="Get a Merkle proof — getAssetProof">
  ```typescript theme={"system"}
  const getProof = async (id) => {
    const response = await fetch('https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        jsonrpc: '2.0',
        id: '1',
        method: 'getAssetProof',
        params: { id },
      }),
    });

    const { result } = await response.json();
    return result; // { root, proof, node_index, leaf, tree_id }
  };

  getProof('Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss');
  ```
</Accordion>

## Prácticas recomendadas

* Usa la [paginación](/docs/es/das/pagination) para los métodos que devuelven conjuntos de resultados grandes.
* Controla los errores con try/catch y vuelve a intentar los fallos transitorios con espera exponencial.
* Almacena las respuestas en caché cuando corresponda para reducir las llamadas a la API.
* Usa `getAssetBatch` en lugar de realizar muchas llamadas individuales a `getAsset` cuando tengas varios ID.

## Próximos pasos

<CardGroup cols={3}>
  <Card title="Get SPL Tokens" icon="coins" href="/docs/es/das/get-tokens">
    Saldos, suministro, titulares y precios de tokens fungibles.
  </Card>

  <Card title="Search Assets" icon="magnifying-glass" href="/docs/es/das/search">
    Filtra NFT por colección, creador y atributos.
  </Card>

  <Card title="DAS API FAQ" icon="book" href="/docs/es/faqs/das-api">
    Preguntas frecuentes sobre activos, datos de precios y uso.
  </Card>
</CardGroup>
