Pular para o conteúdo principal
Change page

Introdução técnica aos dapps

Um aplicativo descentralizado (dapp) é um aplicativo construído em uma rede descentralizada que combina um contrato inteligente e uma interface de usuário de frontend. No Ethereum, os contratos inteligentes são acessíveis e transparentes – como APIs abertas – para que seu dapp possa até incluir um contrato inteligente que outra pessoa tenha escrito.

Pré-requisitos

Antes de aprender sobre dapps, você deve cobrir o básico sobre blockchain e ler sobre a rede Ethereum e como ela é descentralizada.

Definição de um dapp

Um dapp tem seu código de backend rodando em uma rede ponto a ponto descentralizada. Contraste isso com um aplicativo onde o código de backend roda em servidores centralizados.

Um dapp pode ter código de frontend e interfaces de usuário escritos em qualquer linguagem (assim como um aplicativo) para fazer chamadas ao seu backend. Além disso, seu frontend pode ser hospedado em armazenamento descentralizado, como o IPFS (opens in a new tab).

  • Descentralizado - os dapps operam no Ethereum, uma plataforma descentralizada pública e aberta onde nenhuma pessoa ou grupo tem controle
  • Determinístico - os dapps executam a mesma função independentemente do ambiente em que são executados
  • Turing completo - os dapps podem executar qualquer ação, dados os recursos necessários
  • Isolado - os dapps são executados em um ambiente virtual conhecido como Ethereum Virtual Machine (EVM), de modo que, se o contrato inteligente tiver um bug, ele não prejudicará o funcionamento normal da rede blockchain

Sobre contratos inteligentes

Para introduzir os dapps, precisamos introduzir os contratos inteligentes – o backend de um dapp, na falta de um termo melhor. Para uma visão geral detalhada, acesse nossa seção sobre contratos inteligentes.

Um contrato inteligente é um código que vive na blockchain do Ethereum e é executado exatamente como programado. Uma vez que os contratos inteligentes são implantados na rede, você não pode alterá-los. Os dapps podem ser descentralizados porque são controlados pela lógica escrita no contrato, não por um indivíduo ou empresa. Isso também significa que você precisa projetar seus contratos com muito cuidado e testá-los exaustivamente.

Benefícios do desenvolvimento de dapps

  • Tempo de inatividade zero – Uma vez que o contrato inteligente é implantado na blockchain, a rede como um todo sempre será capaz de atender aos clientes que desejam interagir com o contrato. Atores mal-intencionados, portanto, não podem lançar ataques de negação de serviço direcionados a dapps individuais.
  • Privacidade – Você não precisa fornecer uma identidade do mundo real para implantar ou interagir com um dapp.
  • Resistência à censura – Nenhuma entidade única na rede pode impedir os usuários de enviar transações, implantar dapps ou ler dados da blockchain.
  • Integridade completa dos dados – Os dados armazenados na blockchain são imutáveis e indiscutíveis, graças às primitivas criptográficas. Atores mal-intencionados não podem forjar transações ou outros dados que já foram tornados públicos.
  • Computação sem necessidade de confiança/comportamento verificável – Os contratos inteligentes podem ser analisados e têm a garantia de serem executados de maneira previsível, sem a necessidade de confiar em uma autoridade central. Isso não é verdade nos modelos tradicionais; por exemplo, quando usamos sistemas bancários online, devemos confiar que as instituições financeiras não farão uso indevido de nossos dados financeiros, não adulterarão registros ou não serão hackeadas.

Desvantagens do desenvolvimento de dapps

  • Manutenção – Os dapps podem ser mais difíceis de manter porque o código e os dados publicados na blockchain são mais difíceis de modificar. É difícil para os desenvolvedores fazerem atualizações em seus dapps (ou nos dados subjacentes armazenados por um dapp) depois de implantados, mesmo que bugs ou riscos de segurança sejam identificados em uma versão antiga.
  • Sobrecarga de desempenho – Há uma enorme sobrecarga de desempenho e o dimensionamento é muito difícil. Para atingir o nível de segurança, integridade, transparência e confiabilidade que o Ethereum almeja, cada nó executa e armazena cada transação. Além disso, o consenso de Prova de Participação (PoS) também leva tempo.
  • Congestionamento da rede – Quando um dapp usa muitos recursos computacionais, toda a rede fica congestionada. Atualmente, a rede só pode processar cerca de 10 a 15 transações por segundo; se as transações estiverem sendo enviadas mais rápido do que isso, o pool de transações não confirmadas pode aumentar rapidamente.
  • Experiência do usuário – Pode ser mais difícil projetar experiências amigáveis porque o usuário final médio pode achar muito difícil configurar uma pilha de ferramentas necessária para interagir com a blockchain de maneira verdadeiramente segura.
  • Centralização – Soluções amigáveis para usuários e desenvolvedores construídas sobre a camada base do Ethereum podem acabar parecendo serviços centralizados de qualquer maneira. Por exemplo, tais serviços podem armazenar chaves ou outras informações confidenciais no lado do servidor, servir um frontend usando um servidor centralizado ou executar lógicas de negócios importantes em um servidor centralizado antes de gravar na blockchain. A centralização elimina muitas (se não todas) as vantagens da blockchain sobre o modelo tradicional.

Prefere aprender visualmente?

What is a dapp? Decentralized application on the blockchain

An introduction to decentralized applications (dapps) and how they differ from traditional apps.

Assistir com transcrição 

Ferramentas para criar dapps

Scaffold-ETH - Experimente rapidamente com Solidity usando um frontend que se adapta ao seu contrato inteligente.

Create Eth App - Crie aplicativos baseados em Ethereum com um comando.

One Click Dapp - Ferramenta FOSS para gerar frontends de dapp a partir de uma .

Etherflow - Ferramenta FOSS para desenvolvedores Ethereum testarem seu nó e comporem e depurarem chamadas RPC a partir do navegador.

thirdweb - SDKs em todas as linguagens, contratos inteligentes, ferramentas e infraestrutura para desenvolvimento Web3.

Crossmint - Plataforma de desenvolvimento Web3 de nível empresarial para implantar contratos inteligentes, habilitar pagamentos com cartão de crédito e entre cadeias, e usar APIs para criar, distribuir, vender, armazenar e editar NFTs.

Leitura adicional

Conhece um recurso da comunidade que o ajudou? Edite esta página e adicione-o!

Tutoriais: Crie aplicativos e frontends no Ethereum

Última atualização da página: 13 de abril de 2026