WEB3DEV

Cover image for Plugins de contrato inteligente Ethereum
Bernardo Perelló
Bernardo Perelló

Posted on

Plugins de contrato inteligente Ethereum

Este artigo é uma tradução de Bernardo Perelló. O original em inglês de Jean Passot pode ser lido aqui

Uma nova fronteira para a segurança das interações humanas com contratos inteligentes

Contratos Inteligentes?

Ao contrário do Bitcoin, onde a maioria das transações são simples transferências de valor de um endereço para outro, as transações Ethereum geralmente contêm interações com 'Smart Contracts', que são programas executados em sua blockchain. Toda vez que alguém empresta moedas no 'Compound', troca alguns tokens no 'Paraswap' ou seus animais de estimação no 'Cryptokitties', transações de contrato inteligente estão envolvidas. Apoiar esses casos de uso em carteiras de hardware é essencial para sustentar o crescimento do ecossistema Ethereum sem comprometer sua segurança.

Estado anterior do suporte a contratos inteligentes

Até agora, o dispositivo não podia fornecer aos usuários uma exibição segura ao interagir com contratos inteligentes. A One podia interagir com qualquer contrato inteligente, mas o dispositivo apenas avisaria o usuário que “alguns dados estavam presentes”, e o usuário teria que aceitar cegamente a assinatura dos dados, sem poder verificar novamente a validade desses dados.

Ledger Nano S

Interface de Usuário Ethereum atual ao assinar uma transação que interage com um contrato inteligente sem suporte

O suporte a todos os contratos inteligentes costumava ser difícil

Adicionar suporte completo para qualquer contrato inteligente disponível costumava ser uma tarefa difícil por vários motivos:

  • Exigiu muito conhecimento da base de código do aplicativo Ethereum para que desenvolvedores de terceiros se interessassem.
  • Mesmo que o fizessem, adicionar suporte total para muitos contratos inteligentes não seria dimensionado, tanto em termos de espaço flash usado quanto em dívida técnica adicionada à lógica de análise do aplicativo.

Apresentando os plugins Ethereum:

Com o lançamento do aplicativo Ethereum v1.8.5, estamos lançando as bases para tornar a adição de suporte para um contrato inteligente completo em produtos Ledger muito mais fácil e escalável. Para fazer isso, o analisador de transações Ethereum agora pode ser conectado a um novo tipo de aplicativo: plugins. Plugins são pequenos aplicativos dedicados a analisar campos de transação personalizados e construir uma exibição personalizada para ser mostrada na tela ao usuário.São aplicativos leves que podem ser instalados no dispositivo, assim como qualquer outro aplicativo. Os usuários só precisam instalar os plugins para os contratos inteligentes com os quais planejam interagir. Isso torna o suporte a contratos inteligentes muito mais escalável: onde anteriormente o aplicativo ethereum teria sido inchado com todos os tipos de suporte a contratos inteligentes diferentes, agora a lógica de código para cada contrato inteligente é armazenada em plugins diferentes e os usuários simplesmente instalam o que precisam!

Painel Memória Nano S

A memória é um recurso escasso, especialmente na Nano S, onde apenas alguns aplicativos podem ser instalados antes de atingir seu limite.

Existem apenas alguns plugins disponíveis no momento da redação deste artigo ('Paraswap'), mas esperamos ter plugins disponíveis para todos os principais contratos inteligentes da Ethereum em um futuro próximo: isso depende da Ledger, e também da comunidade da Ledger. Ao reduzir a barreira de entrada para adicionar suporte a contratos inteligentes, esperamos obter envolvimento dos programadores de contratos inteligentes para que eles também adotem a segurança das carteiras de hardware.

Visão geral do caso: o plugin Compound

Compound é um conjunto bem conhecido de contratos inteligentes DeFi que permitem que as pessoas emprestem e tomem emprestado criptomoedas de maneira confiável na blockchain Ethereum. Recentemente, adicionamos suporte para operação de empréstimo no Compond e apresentaremos uma visão geral esquematizada do fluxo de um processo de transação de empréstimo assistido por um plugin.

Esquema Fluxo Transação Empréstimo Plugin

Esse esquema pode parecer um pouco complexo à primeira vista, mas na verdade há apenas muito pouco código escrito para implementá-lo. Cada interação entre o aplicativo Ethereum e o plugin Compound são ganchos pré-definidos que um programador só precisa preencher com sua lógica de processamento personalizada. Essa lógica de processamento geralmente é muito simples:

  • Copiando alguns valores para formatá-los posteriormente
  • Fazendo verificações básicas de segurança
  • Preparando alguns buffers para exibir uma IU de aprovação para o usuário
  • etc.

Portanto, um plugin geralmente é muito fácil de escrever!

🦄 Construa seu próprio plugin Ethereum

Para implementar um plugin para seu contrato inteligente, você pode começar fazendo o fork do plugin-boilerplate. Uma documentação de todos os ganchos e suas funções está disponível lá, e você também pode se inspirar no plugin ParaSwap.
A iteração rápida do código pode ser feita através do nosso emulador de dispositivo, speculos! Se você é novo na comunidade de desenvolvimento da Ledger, também pode encontrar o básico da plataforma BOLOS em readthedocs. Você também pode entrar em contato conosco em nosso desenvolvedor Slack solicitando acesso a ele aqui.

Conclusão

Os plugins Ethereum são uma maneira nova e poderosa, mas simples, de melhorar a segurança e a usabilidade de contratos inteligentes usando carteiras de hardware Ledger, e esperamos que você goste deles e, eventualmente, alguns de vocês tentem construir seus próprios. Estamos comprometidos em melhorar e manter um terreno fértil para plugins, para que os DApps Ethereum possam continuar a crescer e prosperar com segurança.

Top comments (0)