# AirdropERC721

O [Contrato AirdropERC721](https://dexappbuilder.dexkit.com/forms/deploy/thirdweb/AirdropERC721) pela ThirdWeb facilita a distribuição eficiente de NFTs ERC721 para uma lista predefinida de destinatários. Este contrato é particularmente útil quando os destinatários não precisam reivindicar individualmente seu airdrop; em vez disso, eles o recebem de forma transparente através de um mecanismo de transferência.

## **Principais Recursos**

1. **Airdrop de NFTs:** Permite a transferência em massa de NFTs ERC721 para múltiplos endereços de destinatários.
2. **Experiência Simplificada para o Destinatário:** Os destinatários não precisam reivindicar individualmente o airdrop; eles recebem automaticamente os NFTs por meio de um processo de transferência.
3. **Parâmetros de Airdrop Personalizáveis:** Especifique o endereço da coleção NFT, o endereço do proprietário e um array de endereços de destinatários com os IDs de token associados para uma experiência de airdrop perfeita.

## **Processo de Airdrop**

1. Especifique o endereço da coleção NFT da qual os NFTs serão transferidos.
2. Forneça o endereço do proprietário dos NFTs para o processo de transferência.
3. Crie um array de objetos de destinatários com endereços dos destinatários e IDs de token correspondentes.
4. Garanta que os proprietários dos tokens aprovem o contrato de airdrop chamando a função relacionada à aprovação no contrato ERC721.

## Casos de Uso

1. **Construção de Comunidade:**
   * **Caso de Uso:** Um projeto quer incentivar o engajamento da comunidade recompensando membros ativos com NFTs ERC721 exclusivos. O contrato AirdropERC721 possibilita a distribuição desses NFTs aos membros da comunidade de forma transparente.
2. **Tokenização de Eventos:**
   * **Caso de Uso:** Um organizador deseja tokenizar lembranças do evento como NFTs ERC721 e distribuí-las aos participantes. O contrato AirdropERC721 simplifica o processo, permitindo uma distribuição eficiente e automática dos tokens.
3. **Programas de Recompensa:**
   * **Caso de Uso:** Empresas ou plataformas que executam programas de recompensa podem utilizar o contrato AirdropERC721 para distribuir NFTs exclusivos aos participantes, aprimorando a estrutura de incentivos e promovendo a fidelidade dos usuários.
4. **Lançamentos de Arte Digital:**
   * **Caso de Uso:** Artistas que desejam distribuir peças de arte digital em edição limitada podem usar o contrato AirdropERC721 para enviar esses NFTs diretamente às carteiras dos colecionadores, criando uma experiência contínua e personalizada.
5. **Ativos de Jogos Tokenizados:**
   * **Caso de Uso:** Desenvolvedores de jogos podem fazer airdrop de tokens ERC721 que representam ativos ou personagens do jogo para os jogadores, melhorando a experiência de jogo e fornecendo itens digitais únicos à comunidade.
6. **Certificados Educacionais:**
   * **Caso de Uso:** Instituições educacionais podem usar o contrato AirdropERC721 para distribuir certificados digitais ou insígnias como NFTs para estudantes, oferecendo uma forma segura e verificável de demonstrar conquistas.
7. **Projetos Colaborativos:**
   * **Caso de Uso:** Projetos colaborativos envolvendo múltiplos criadores ou contribuintes podem distribuir NFTs conjuntos aos participantes usando o contrato AirdropERC721, garantindo uma distribuição justa e automatizada.
8. **Programas de Fidelidade de Marca:**
   * **Caso de Uso:** Marcas podem empregar NFTs como recompensas de fidelidade, distribuindo-os para clientes que atingem certos marcos ou fazem compras significativas, criando um programa de fidelidade inovador e colecionável.
9. **Campanhas de Caridade:**
   * **Caso de Uso:** Organizações de caridade podem distribuir NFTs aos doadores como um sinal de agradecimento, usando o contrato AirdropERC721 para automatizar o processo e reconhecer contribuintes com ativos digitais únicos.
10. **Propriedade Imobiliária Tokenizada:**
    * **Caso de Uso:** Plataformas imobiliárias podem distribuir tokens ERC721 que representam propriedade fracionada em imóveis como airdrops para investidores, simplificando a distribuição de ativos imobiliários digitais.

## **Implantando este contrato**

{% embed url="<https://dexappbuilder.dexkit.com/forms/deploy/thirdweb/AirdropERC721>" %}
Link direto
{% endembed %}

<figure><img src="https://1903426557-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWrjgYUyO4ch1fBehrMEq%2Fuploads%2FqylEVRuQKHiWopj07y4C%2Fimage.png?alt=media&#x26;token=13895ed6-746d-476e-a568-f8ffc17bd563" alt=""><figcaption></figcaption></figure>

Durante a implantação, o contrato AirdropERC721 requer os seguintes parâmetros:

1. **Metadados do Contrato:**
   * **Nome:** \[Insira o Nome do Contrato]
   * **Símbolo:** \[Insira o Símbolo do Contrato]
   * **Descrição:** \[Insira a Descrição do Contrato]
   * **Imagem:** \[Carregar Arquivo de Imagem]

## Usando o Contrato AirdropERC721

<figure><img src="https://1903426557-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWrjgYUyO4ch1fBehrMEq%2Fuploads%2FEiIx8zJfGRKwzq18iYdZ%2Fimage.png?alt=media&#x26;token=ed8c3354-8f35-4499-ac76-8de55eba993c" alt=""><figcaption></figcaption></figure>

Uma vez que seu **AirdropERC721** contrato esteja implantado, sua interface se torna acessível através do botão “Manage Contract”. Ao contrário de outros contratos, este é totalmente operado a partir da interface de administrador — não há uma UI incorporável para sites externos.

## Visão Geral das Abas

Após clicar em **Manage Contract**, será apresentada a interface padrão composta por três abas: **Airdrop**, **Metadados**, e **Administrador**.

<figure><img src="https://1903426557-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWrjgYUyO4ch1fBehrMEq%2Fuploads%2FvSF9J5PLZhwaRGNHQcAB%2Fimage.png?alt=media&#x26;token=518d5a63-583e-46ca-83eb-cfc0fd33fda6" alt=""><figcaption></figcaption></figure>

### Aba Airdrop (Distribuição de NFT)

Esta aba permite distribuir NFTs ERC721 de uma coleção existente para múltiplos destinatários.

### **Passo a passo:**

<figure><img src="https://1903426557-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWrjgYUyO4ch1fBehrMEq%2Fuploads%2FgNhBoihBs2CglUDKmssO%2Fimage.png?alt=media&#x26;token=13963fdc-35f4-446d-9e47-2a9cd8a15f12" alt=""><figcaption></figcaption></figure>

1. **Selecionar Coleção**\
   Clique **SELECIONAR COLEÇÃO** para escolher a coleção ERC721 da qual você deseja airdropar NFTs. Uma lista de coleções disponíveis é exibida com suas tags de rede.

<figure><img src="https://1903426557-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWrjgYUyO4ch1fBehrMEq%2Fuploads%2FEtkhariIJrnX6Sbo91p9%2Fimage.png?alt=media&#x26;token=c6ec89e7-d8c0-48ff-9b7a-d5708658eb71" alt=""><figcaption></figcaption></figure>

2. **Lista de Destinatários**\
   Clique **SELECIONAR** no painel "Total recipients" para abrir o gerenciador de destinatários.

<figure><img src="https://1903426557-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWrjgYUyO4ch1fBehrMEq%2Fuploads%2FMfKc1V5pH6W0HGCXUqk8%2Fimage.png?alt=media&#x26;token=a565d2a4-5761-49fc-8f98-51c7cbba0a90" alt=""><figcaption></figcaption></figure>

3. **Baixar Modelo CSV (Opcional)**\
   Você pode clicar **EXPORTAR** para baixar um modelo CSV com os cabeçalhos apropriados:

```
CopyEditrecipient,tokenId
```

<figure><img src="https://1903426557-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWrjgYUyO4ch1fBehrMEq%2Fuploads%2FverGtNmDOFt04DG7wX1X%2Fimage.png?alt=media&#x26;token=adf6576c-9f72-4e18-bb48-a1e179e036c7" alt=""><figcaption></figcaption></figure>

4. **Importar Arquivo CSV**\
   Clique **IMPORTAR** para enviar seu arquivo CSV. Ele deve incluir endereços dos destinatários e os IDs de token correspondentes.

Exemplo:

```
CopyEdit0x1234...abcd, 7  
0xabcd...5678, 15  
```

5. **Confirmar Airdrop**\
   Uma vez que a lista esteja preenchida e válida, clique **CONFIRMAR**. Uma transação será solicitada para executar a transferência em massa dos NFTs.

{% hint style="warning" %}
**Observação:** O contrato deve ter aprovação para transferir os NFTs. Certifique-se de que o proprietário dos NFTs tenha concedido aprovação ao contrato AirdropERC721 através da `setApprovalForAll` função na coleção de NFTs.
{% endhint %}

### Aba de Metadados

<figure><img src="https://1903426557-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWrjgYUyO4ch1fBehrMEq%2Fuploads%2FpUId5Ss45U8hVeOZFjoM%2Fimage.png?alt=media&#x26;token=65e9d79e-a788-427e-b979-95575c6ae487" alt=""><figcaption></figcaption></figure>

* **Nome / Descrição / Imagem**\
  Permite definir os metadados do contrato para exibição pública. Uma vez atualizados, esses dados serão armazenados e refletidos on-chain (pode exigir uma transação para atualizar).

### Aba Admin (Funções)

<figure><img src="https://1903426557-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWrjgYUyO4ch1fBehrMEq%2Fuploads%2FnpvQ1Q0n65ra6A4CKSRU%2Fimage.png?alt=media&#x26;token=8782cf1f-2115-47e1-b98e-d96c515971d9" alt=""><figcaption></figcaption></figure>

A aba Admin permite gerenciar quem pode executar ações administrativas. As funções incluem:

* **Administrador** – Acesso total para gerenciar funções e configurações.
* **Transferir** – Permissão para executar transferências de tokens.
* **Minter / Criador** – Para cunhar NFTs (se a cunhagem estiver habilitada).
* Funções adicionais: Pauser, Lister, Asset, Unwrap, Factory, Signer, Metadata, Revoke, Migration.

Para atribuir funções:

* Cole um endereço.
* Clique **ADICIONAR** ao lado da função desejada.
* Clique **ATUALIZAR** para confirmar as alterações on-chain.

## Notas sobre Implantação em Testnet

Este contrato foi exibido em **Testnet da BNB Smart Chain**, mas pode ser implantado em qualquer cadeia EVM suportada. Certifique-se:

* Você está conectado à rede pretendida.
* A coleção de NFTs selecionada existe nessa mesma rede.
* Sua carteira possui tokens de teste suficientes para as taxas de gas.
