Pular para o conteúdo principal

Ajude a atualizar esta página

🌏

Há uma nova versão desta página mas, no momento, ela está apenas em inglês. Ajude-nos a traduzir a última versão.

Traduzir página
Visualizar em inglês

Não há bugs aqui!🐛

Esta página não está sendo traduzida. Ela foi intencionalmente deixada em inglês, por enquanto.

Introdução à pilha de Ethereum

Última edição: , Invalid DateTime
Editar Página

Como qualquer pilha de software, a "pilha de Ethereum" completa varia de projeto a projeto dependendo do seu objetivo de negócios.

Entretanto, existem tecnologias centrais da Ethereum que ajudam a fornecer um modelo mental sobre como aplicativos de software interagem com a cadeia de blocos Ethereum. Compreender as camadas da pilha ajudará você a entender as diferentes maneiras como o Ethereum pode ser integrado nos projetos de software.

Nível 1: Máquina Virtual Ethereum

A Máquina Virtual Ethereum (EVM) é o ambiente de execução para contratos inteligentes na Ethereum. Todos os contratos inteligentes e alterações de estado na cadeia de blocos Ethereum são executados por transações. O EVM controla todo o processamento de transações na rede Ethereum.

Como em qualquer máquina virtual, o EVM cria um nível de abstração entre o código de execução e a máquina de execução (um nó Ethereum). Atualmente, o EVM está rodando em milhares de nós distribuídos pelo mundo.

Por trás das cortinas, o EVM utiliza um conjunto de instruções opcode para executar tarefas específicas. Estes (140 individuais) códigos de operação permitem que o EVM esteja Turing-completo, o que significa que o EVM é capaz de calcular praticamente qualquer coisa, dado recursos suficientes.

Como um desenvolvedor dapp, você não precisa saber muito sobre o EVM que não existe e isso alimenta de forma confiável todos os aplicativos na Ethereum sem interrupções.

Nível 2: Contratos Inteligentes

Contratos inteligentes são os programas executáveis que funcionam na cadeia de blocos Ethereum.

Os contratos inteligentes são escritos usando linguagens de programação que compilam para bytecode EVM (instruções de máquina de baixo nível chamadas códigos de operação).

Não só os contratos inteligentes servem como bibliotecas de código aberto, eles são essencialmente serviços de API abertos que rodam 24/7 e não podem ser derrubados. Os contratos inteligentes fornecem funções públicas com as quais os aplicativos (dapps) podem interagir sem precisar de permissão. Qualquer aplicativo pode se integrar com contratos inteligentes implantados para compor funcionalidade, como adicionar feeds de dados ou suportar trocas de token. Qualquer um pode implantar novos contratos inteligentes para a Ethereum, a fim de adicionar funcionalidade personalizada para atender às necessidades do aplicativo.

Como um desenvolvedor dapp, você só precisará escrever contratos inteligentes se quiser adicionar funcionalidade personalizada na cadeia de blocos Ethereum. Você pode encontrar que pode alcançar a maior parte ou todas as necessidades do seu projeto simplesmente integrando com contratos inteligentes existentes, por exemplo, se você deseja apoiar pagamentos em stablecoins ou habilitar o câmbio descentralizado de tokens.

Nível 3: Nós Ethereum

Para que um aplicativo interaja com a cadeia de blocos Ethereum, ele deve se conectar a um nó Ethereum. Conectar-se a um nó permite que você leia dados da cadeia de blocos e/ou envie transações para a rede.

Os nós Ethereum são computadores executando um software - um cliente Ethereum. Um cliente é uma implementação da Ethereum que verifica todas as transações em cada bloco, mantendo a rede segura e os dados precisos. Os nós Ethereum são a cadeia de blocos Ethereum. Eles armazenam coletivamente o estado da cadeia de blocos Ethereum e alcançam consenso sobre transações para alterar o estado da cadeia de blocos.

Conectando seu aplicativo a um nó Ethereum (via JSON-RPC API), sua aplicação é capaz de ler dados da cadeia de blocos (como os saldos das contas de usuários) bem como transmitir novas transações para a rede (como a transferência do ETH entre as contas de usuários ou a execução de funções de contratos inteligentes).

Nível 4: API de Cliente Ethereum

Muitas bibliotecas de conveniência (construídas e mantidas pela comunidade de código aberto da Ethereum) permitem que seus aplicativos de usuário finais se conectem e se comuniquem com a cadeia de blocos Ethereum.

Se seu aplicativo voltado para o usuário for um aplicativo web, você pode optar por instalar o npm uma API JavaScript diretamente no seu frontend. Ou talvez você escolha implementar esta funcionalidade do lado do servidor usando uma API Python ou Java.

Embora essas APIs não sejam uma parte necessária da pilha, elas abstraem muito da complexidade de interagir diretamente com um nó Ethereum. Eles também fornecem funções de utilidade (por exemplo, Convertendo ETH para Gwei) para que como desenvolvedor você possa passar menos tempo lidando com as complexidades de clientes da Ethereum e mais tempo focado na funcionalidade única do seu aplicativo.

Nível 5: Aplicativos para o usuário final

No nível superior da pilha estão as aplicações voltadas para o usuário. Esses são os aplicativos padrão que você regularmente usa e constrói hoje: principalmente web e mobile apps.

A forma como você desenvolve essas interfaces de usuário permanece essencialmente inalterada. Frequentemente, os usuários não precisam saber que o aplicativo que estão usando é construído usando uma cadeia de blocos.

Pronto para escolher sua pilha?

Confira o nosso guia para configurar um ambiente de desenvolvimento local para o seu aplicativo Ethereum.

Leitura adicional

  • A Arquitetura de uma aplicação Web 3.0 - Preethi Kasireddy

Conhece um recurso da comunidade que ajudou você? Edite essa página e adicione!

Este artigo foi útil?

👈

Anterior

Keys

Próximo

Smart Contracts
👉