Composição de contrato inteligente
Última edição: @rafarocha(opens in a new tab), 4 de março de 2024
Uma breve introdução
Os contratos inteligentes são públicos na Ethereum e podem ser considerados como APIs abertas. Você não precisa escrever o seu próprio contrato inteligente para se tornar um desenvolvedor dapp, você só precisa saber como interagir com eles. Por exemplo, você pode usar os contratos inteligentes existentes do Uniswap(opens in a new tab), uma troca descentralizada, para lidar com toda a lógica de troca de token em seu aplicativo - você não precisa começar do zero. Confira alguns de seus contratos v2(opens in a new tab) e v3(opens in a new tab).
O que é composabilidade?
Composabilidade é combinar componentes distintos para criar novos sistemas ou saídas. No desenvolvimento de software, a composabilidade significa que os desenvolvedores podem reutilizar os componentes de software existentes para criar novos aplicativos. Uma boa maneira de entender a composabilidade é pensar em elementos componíveis como blocos de Lego. Cada Lego pode ser combinado com outro, permitindo que você construa estruturas complexas combinando diferentes Legos.
Na Ethereum, todo contrato inteligente é uma espécie de Lego – você pode usar contratos inteligentes de outros projetos como blocos de construção para seu projeto. Isso significa que você não precisa perder tempo reinventando a roda ou construindo do zero.
Como funciona a composabilidade?
Os contratos inteligentes Ethereum são como APIs públicas, para que qualquer pessoa possa interagir com o contrato ou integrá-los em dapps para funcionalidade adicional. A composição de contrato inteligente geralmente funciona com três princípios: modularidade, autonomia e descoberta:
1. Modularidade: Esta é a capacidade de componentes individuais para executar uma tarefa específica. Na Ethereum, cada contrato inteligente tem um caso de uso específico (como mostrado no exemplo Uniswap).
2. Autonomia: Componentes compostos devem ser capazes de operar independentemente. Cada contrato inteligente na Ethereum é autoexecutável e pode funcionar sem depender de outras partes do sistema.
3. Capacidade de descoberta: Desenvolvedores não podem chamar contratos externos ou integrar bibliotecas de software em aplicativos, se o primeiro não estiver disponível publicamente. Por concepção, os contratos inteligentes são de código aberto; qualquer um pode chamar um contrato inteligente ou copiar uma base de código.
Benefícios da composabilidade
Ciclo de desenvolvimento curto
A composabilidade reduz o trabalho que os desenvolvedores têm de fazer ao criar dapps. Como Naval Ravikant coloca:(opens in a new tab) "O código aberto significa que todo problema deve ser resolvido uma vez."
Se houver um contrato inteligente que resolva um problema, outros desenvolvedores podem reutilizá-lo, para que não precisem resolver o mesmo problema. Dessa forma, os desenvolvedores podem usar bibliotecas de software existentes e adicionar funcionalidades extras para criar novos dapps.
Maior inovação
A composabilidade incentiva a inovação e a experimentação porque os desenvolvedores são livres para reusar, modificar, duplicar ou integrar código-fonte aberto para criar os resultados desejados. Como resultado, as equipes de desenvolvimento gastam menos tempo em funcionalidades básicas e podem alocar mais tempo experimentando novos recursos.
Melhor experiência do usuário
A interoperabilidade entre os componentes do ecossistema Ethereum melhora a experiência do usuário. Os usuários podem acessar maiores funcionalidades quando os dapps integram contratos inteligentes externos do que em um ecossistema fragmentado onde os aplicativos não podem se comunicar.
Usaremos um exemplo de negociação de arbitragem para ilustrar os benefícios da interoperabilidade:
Se um token estiver sendo negociado mais alto na troca A
do que na troca B
, você pode aproveitar a diferença de preço para obter lucro. No entanto, você só pode fazer isso se tiver capital suficiente para financiar a transação (ou seja, comprar o token da troca B
e vendê-lo na troca A
).
Em um cenário em que você não tem fundos suficientes para cobrir a negociação, um empréstimo rápido pode ser o ideal. Os empréstimos relâmpagos são altamente técnicos, mas a ideia básica é que você pode emprestar ativos (sem garantias) e devolvê-los dentro de uma transação.
Voltando ao nosso exemplo inicial, um trader de arbitragem pode fazer um grande empréstimo relâmpago, comprar tokens da troca B
, vendê-los na troca A
, pagar o capital + juros, e manter o lucro, dentro da mesma transação. Essa lógica complexa requer a combinação de chamadas para vários contratos, o que não seria possível se os contratos inteligentes não tivessem interoperabilidade.
Exemplos de composabilidade na Ethereum
Trocas de tokens
Se você criar um dapp que exige que as transações sejam pagas em ETH, você pode permitir que os usuários paguem em outros tokens ERC-20 integrando a lógica de troca de token. O código converterá automaticamente o token do usuário em ETH antes que o contrato execute a função chamada.
Governança
Construir sistemas de governança sob medida para um DAO pode ser caro e demorado. Em vez disso, você pode usar um kit de ferramentas de governança de código aberto, como Aragon Client(opens in a new tab), para inicializar seu DAO e criar rapidamente um framework de governança.
Gerenciamento de identidade
Em vez de criar um sistema de autenticação personalizado ou depender de provedores centralizados, você pode integrar ferramentas de identidade descentralizada (DID) para gerenciar a autenticação de usuários. Um exemplo é o SpruceID(opens in a new tab), um kit de ferramentas de código aberto que oferece uma funcionalidade "Entrar com Ethereum" que permite aos usuários autenticar identidades com uma carteira Ethereum.
Tutoriais relacionados
- Comece seu desenvolvimento de front-end dapp com create-eth-app – Uma visão geral de como usar o create-eth-app para criar apps com contratos inteligentes populares prontos para uso.
Leitura adicional
Conhece algum recurso da comunidade que o ajudou? Edite essa página e adicione!