# Criar uma dApp

Você pode criar seus próprios aplicativos descentralizados (dApps) para interagir com os smart contracts da Decentraland e expor suas funcionalidades de formas mais elaboradas e amigáveis.

## O que é uma dApp

Uma aplicação descentralizada, ou dApp, é aquela que roda em uma rede distribuída peer to peer em vez de em um servidor central.

No contexto de blockchain, uma dApp usa smart contracts e possivelmente uma rede P2P, em vez de um serviço de Web API. Uma dApp também pode expor um front end e armazenar informações do blockchain temporariamente em cache, mas sua saída é refletida, em última instância, on-chain.

Consulte [este site](https://blockchainhub.net/decentralized-applications-dapps/) para uma visão geral mais completa sobre dApps.

## Contratos inteligentes do Decentraland

A Decentraland escreveu e mantém vários smart contracts que interagem com os tokens LAND e MANA.

Os próprios tokens LAND e MANA são definidos pelos *LANDregistry* e *MANAtoken* contracts, respectivamente. A lista também inclui contratos mais específicos, como criar um estate a partir de vários parcels ou hipotecar parcels.

* [Contratos inteligentes do Decentraland](https://contracts.decentraland.org/addresses.json): Você pode encontrar uma lista completa de cada um dos nossos contracts e seus endereços.

Observe que cada contract tem uma versão de produção em *mainnet* e uma versão de teste em *sepolia* e que cada um tem um endereço diferente.

Você pode ler o código completo de cada contract, pois isso é informação pública na blockchain. Por exemplo, você pode encontrar o contract pelo nome em [Etherscan](https://etherscan.io/contractsVerified) para ler seu conteúdo.

## código boilerplate de dApp

* [Código boilerplate](https://github.com/decentraland/dapp-boilerplate): Este código boilerplate pode ser um ótimo ponto de partida para construir sua própria dApp.

## Bibliotecas auxiliares

Enquanto construíamos nossas próprias dApps internamente, reunimos algumas bibliotecas auxiliares que você também pode achar úteis.

* [Decentraland-eth](https://github.com/decentraland/decentraland-eth): Esta é uma biblioteca de baixo nível com funções utilitárias para trabalhar com o blockchain Ethereum.
* [Decentraland-dapps](https://github.com/decentraland/decentraland-dapps): Esta é uma biblioteca de nível mais alto com módulos comuns para dApps. Os módulos desta biblioteca são construídos usando `Decentraland-eth`.
* [Decentraland UI](https://ui.decentraland.org/): Esta biblioteca contém uma seleção de elementos de UI reutilizáveis que estão incluídos nos projetos da Decentraland.

## Exemplos de dApps

Abaixo estão links para o código completo de várias dApps que criamos em torno da Decentraland; elas podem ajudar você a construir a sua própria:

* [Gate](https://github.com/decentraland/gate): Esta dApp básica cria um NFT de convite que foi usado quando a Decentraland estava em uma fase de beta fechado. No início, os jogadores da whitelist que possuíam este NFT eram os únicos capazes de entrar no metaverso.
* [Marketplace](https://github.com/decentraland/marketplace): Esta é a aplicação completa que executa a Decentraland [Marketplace](https://market.decentraland.org/). Para rodar rapidamente, ela requer um banco de dados e um servidor backend conectados à rede Ethereum para criar índices com informações sobre LAND.

## framework de teste de dApp

Antes de lançar sua dApp em produção, recomendamos testá-la primeiro.

* [dAppeteer](https://github.com/decentraland/dappeteer): Montamos este framework para ajudar você a executar testes na sua dApp.

## Contratos inteligentes do Decentraland

No link a seguir, você pode encontrar uma lista de contratos inteligentes da Ethereum relevantes para o ecossistema do Decentraland. A lista inclui os contratos na mainnet, bem como em outras test networks Ethereum.

[contracts.decentraland.org](https://contracts.decentraland.org/links)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.decentraland.org/creator/content-creator-pt/scenes-sdk7/blockchain/create-a-dapp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
