WEB3DEV

Cover image for Acionando o ChatGPT: Seu guia Confiável para Entender os Contratos Inteligentes. Como fazer?
Fatima Lima
Fatima Lima

Posted on

Acionando o ChatGPT: Seu guia Confiável para Entender os Contratos Inteligentes. Como fazer?

Olá, futuro explorador de contratos inteligentes! Você deve ter curiosidade sobre essas coisas mágicas chamadas contratos inteligentes que alimentam as exchanges descentralizadas (DEX) e outras plataformas DeFi. É ótimo entender como elas funcionam antes de começar a usá-las ou investir nelas, mas isso pode parecer um pouco complicado, certo?

Não se preocupe! O ChatGPT está aqui para ajudá-lo a decifrar esses contratos inteligentes como um profissional, mesmo que você não seja um programador. Juntos, levantaremos o véu sobre essas misteriosas linhas de código e garantiremos que você saiba no que está se metendo.

E aqui está a melhor parte: não há necessidade de se sentir sobrecarregado! A maioria dos contratos inteligentes usa bibliotecas e código pré-construído, o que significa que o código único e específico que você precisa entender geralmente é bem curto. Portanto, essa tarefa é totalmente gerenciável e, com o ChatGPT ao seu lado, você se tornará um mago dos contratos inteligentes em pouco tempo.

Portanto, aperte o cinto e vamos começar essa aventura!

Na verdade, se você não quiser aprender, mas apenas quiser a explicação de algum código de contrato inteligente agora, peça ao ChatGPT para fazer isso por você. Veja como fazer isso: https://medium.com/@maximvasilkov/summoning-chatgpt-your-trusty-guide-to-understanding-smart-contracts-how-to-1f91eed939e2

Localizando os pergaminhos encantados: Encontrando o Código Fonte de um Contrato Inteligente

Image description

Polygonscan.com - encontre o código-fonte aqui!

Antes de podermos liberar os poderes mágicos do ChatGPT para nos ajudar a entender um contrato inteligente, precisamos localizar o código-fonte - os pergaminhos encantados de nossa aventura. Felizmente, encontrar o código-fonte é fácil quando você sabe onde procurar.

Para o nosso exemplo, digamos que você queira explorar um contrato inteligente na rede Polygon. Aqui está o que você precisa fazer:

  1. Aventure-se no site do Polygonscan, o portal mágico da rede Polygon: https://polygonscan.com/
  2. Na barra de pesquisa na parte superior da página, cole o endereço do contrato inteligente sobre o qual você está curioso e clique no ícone da lupa ou pressione "Enter".
  3. Você será levado à página de visão geral do contrato inteligente, um tesouro de informações como seu saldo, transações e eventos.
  4. Para descobrir o código do contrato, clique na guia "Contract", localizada logo abaixo do endereço do contrato na página de visão geral.
  5. Se o contrato inteligente for Verified (o que significa que seus criadores forneceram o código-fonte), você encontrará o código Solidity na seção "Contract Source Code" (código-fonte do contrato), esperando que você desvende seus mistérios.

Agora você tem os pergaminhos encantados - o código-fonte - e está pronto para acionar o ChatGPT para ajudá-lo a decifrar a magia contida neles. Lembre-se sempre de checar se o contrato foi verificado, pois isso garante que o código que você vê é o mesmo código que alimenta o contrato inteligente na blockchain. Com o código-fonte em mãos e o ChatGPT ao seu lado, você está pronto para embarcar em uma inesquecível aventura de contrato inteligente!

A Arte da Sinergia da IA: Potencialize, não Substitua

Ao embarcar em sua jornada de exploração de contratos inteligentes com o ChatGPT, lembre-se de que as melhores aventuras acontecem quando você combina seus próprios pontos fortes únicos com os poderes de sua fiel companheira, a IA. O ChatGPT está aqui para aprimorar sua compreensão e ajudá-lo a entender os contratos inteligentes, mas não se destina a substituir sua própria curiosidade e pensamento crítico.

Embora o ChatGPT possa fornecer insights e explicações valiosas, é essencial abordar cada contrato inteligente com uma dose saudável de ceticismo e um olhar atento para possíveis armadilhas. Afinal, você é o herói desta história, e o ChatGPT é o seu guia mágico, aqui para ajudá-lo e capacitá-lo em sua busca para conquistar o mundo dos contratos inteligentes.

Para aproveitar ao máximo sua parceria com o ChatGPT, use-a para esclarecer e expandir sua compreensão sobre aspectos específicos dos contratos inteligentes. Sempre faça perguntas, aprofunde-se e não tenha medo de explorar diferentes ângulos. Ao combinar o conhecimento do ChatGPT com sua própria intuição e pesquisa, você poderá navegar no reino encantado dos contratos inteligentes como um aventureiro experiente.

Lembre-se de que a combinação perfeita de curiosidade humana e IA é o que torna essa jornada verdadeiramente mágica. Portanto, arme-se com a sabedoria do ChatGPT e suas próprias habilidades de pensamento crítico e, juntos, vocês serão imbatíveis em sua busca para entender e interagir com contratos inteligentes, como as plataformas DEX e DeFi.

Limites do ChatGPT: Limitações e recursos

Embora o ChatGPT seja uma ferramenta poderosa para entender e analisar contratos inteligentes, é essencial conhecer suas limitações e recursos. Como não programador, você pode enfrentar alguns desafios ao tentar obter o máximo do ChatGPT.

Em primeiro lugar, a IA depende muito da qualidade dos prompts que você fornece. A elaboração de prompts eficazes é fundamental para obter respostas úteis e precisas.

Segundo, O ChatGPT tem um limite de caracteres para input e output, portanto, talvez você não consiga enviar um contrato inteligente inteiro para análise de uma só vez. Em vez disso, talvez seja necessário quebrar o código em seções menores e mais gerenciáveis para revisão. No entanto, tome cuidado para não perder o contexto do código ao fazer isso.

O ChatGPT também pode ajudá-lo a identificar partes essenciais do contrato inteligente nas quais se concentrar, mas lembre-se de que ele não pode substituir seu julgamento. Sempre use a IA como uma ferramenta complementar para entender e verificar a funcionalidade do contrato.

Por fim, observe que os avanços da IA estão em andamento e que as versões mais recentes do ChatGPT podem oferecer recursos aprimorados. Por exemplo, o ChatGPT v4 pode (você o lê em tempo, quando já existem versões mais avançadas?) permitir trechos de código mais longos e fornecer interpretações mais precisas. Fique de olho nas atualizações e adapte sua abordagem de acordo com elas.

Exemplo do Mundo Real: Decodificação de um Contrato Inteligente com o ChatGPT

Para mostrar como o ChatGPT pode ajudar a entender um contrato inteligente real, vamos usar o contrato SMRT16 como exemplo. Vamos guiá-lo pelo processo de pedir ao ChatGPT que explique os principais componentes e a funcionalidade do contrato inteligente.

Para fins de contexto, as linhas de código fornecidas são 629-723, de um total de 828 linhas no contrato inteligente completo. Ele começa com a linha "contract SMRT16 is ERC20, SMRT16Factory, Ownable {" e termina quando ocorre o símbolo de fechamento "}".

A lógica por trás do fornecimento do contexto das linhas 629-723 das 828 linhas do contrato inteligente completo é fornecer a você um trecho de código focado, relevante e gerenciável para análise. Ao restringir o código a essa seção específica, você pode se concentrar nos elementos mais importantes do contrato inteligente SMRT16, sem se sobrecarregar com todas as 828 linhas.

Image description

Diz contrato SMRT16 - parece ser uma parte principal, vamos dividi-la e copiar a parte selecionada

Começando com a linha "contract SMRT16 is ERC20, SMRT16Factory, Ownable {" e terminando com o símbolo de fechamento "}" indica que essa seção do código define o contrato principal do SMRT16 e sua funcionalidade associada. Essa parte do código herda dos contratos ERC20, SMRT16Factory e Ownable, que fornecem recursos essenciais de token, métodos de fábrica e privilégios de proprietário.

Concentrar-se nessa seção parece ser uma boa ideia, pois ela contém as principais funções e a lógica relacionada às operações do token SMRT16, como cunhagem, compra de tokens, tratamento de indicações e distribuição de bônus. Ao examinar essa parte do código, você pode obter uma compreensão sólida do objetivo e da funcionalidade principais do contrato SMRT16, sem se distrair com funções auxiliares ou seções de código não relacionadas.

No entanto, é essencial reconhecer que o contexto fornecido pode não abranger todos os aspectos do contrato inteligente. Para obter um entendimento completo, pode ser necessário revisar outras partes do contrato ou consultar documentação ou recursos externos.

Enfim, você está pronto para começar? :)

Compreenda o Objetivo e os Principais Componentes do Contrato

Prompt: "Por favor, forneça uma visão geral da finalidade e dos principais componentes do contrato inteligente SMRT16. [+ o código aqui]"

Assim:

Image description

Esta é a parte do código que copiamos em uma imagem anterior

Você tem a mesma resposta que a seguinte?

O contrato inteligente SMRT16 é um contrato de token ERC20 que implementa um sistema de bônus de indicação. Os principais componentes do contrato são os seguintes:

  1. ERC20: O contrato inteligente SMRT16 é um contrato de token ERC20, o que significa que ele implementa as funções e os eventos padrão de um token ERC20, incluindo transferências de token, aprovações e gerenciamento de saldo.
  2. SMRT16Factory: O contrato inteligente SMRT16 faz parte de um contrato de fábrica que cria instâncias individuais de contratos pessoais SMRT16. Esses contratos pessoais são usados para evitar a necessidade de especificar um referenciador ao comprar tokens SMRT16.
  3. Ownable: O contrato inteligente SMRT16 herda o contrato Ownable, que é um contrato padrão que fornece a um endereço titular privilégios especiais, como a capacidade de cunhar novos tokens.
  4. _usd: Essa é uma variável de instância que contém o endereço do contrato de token reconhecido como o token "money", que é usado para comprar tokens SMRT16.
  5. _referrers: Esse é um mapeamento que armazena os referenciadores de cada comprador, em que o endereço do comprador é usado como chave e o endereço do referenciador é usado como valor. O referenciador é a pessoa que indicou o comprador para comprar tokens SMRT16 e é elegível para bônus de indicação.
  6. Purchased Event (Evento de compra): Este é um evento emitido quando uma compra de tokens SMRT16 é bem-sucedida, fornecendo informações sobre o endereço do comprador, a quantidade de tokens comprados e o endereço do referenciador.
  7. função currency(): Essa é uma função view (de visualização) pública que retorna o endereço do contrato de token atual reconhecido como o token "money" (dinheiro).
  8. função mint(): Essa é uma função pública que permite ao proprietário do contrato cunhar novos tokens SMRT16.
  9. função buyFor(): Esta é uma função pública que permite a um usuário comprar tokens SMRT16 em nome de outro usuário, especificando o endereço do comprador, a quantidade de tokens a serem comprados e o endereço do referenciador. A função também define o referenciador, paga os bônus de indicação, cria um contrato SMRT16 pessoal para o comprador e cunha os tokens comprados.
  10. função _setReferrer(): Esta é uma função interna que define o referenciador para um comprador. O referenciador deve ter um saldo de tokens SMRT16 diferente de zero.
  11. função _payBonuses(): Essa é uma função interna que calcula e paga bônus de indicação para os referenciadores do comprador. A função distribui os bônus com base em uma lógica predefinida, em que o primeiro referenciador recebe 50% do valor da compra, o segundo referenciador recebe 25%, o terceiro referenciador recebe 12,5% e o quarto referenciador recebe 6,125%. O valor restante é transferido para o proprietário do contrato.
  12. função referrerOf(): Esta é uma função view (de exibição) pública que retorna o referenciador de uma determinada conta. Se a conta não tiver um referenciador, o proprietário do contrato será retornado por padrão.
  13. função _min(): Esta é uma função utilitária interna que retorna o valor mínimo entre dois números uint256 fornecidos.

A partir desses primeiros resultados, você obtém a lista de funções.

Isso é muito importante. Agora você pode responder sobre cada uma delas.

Talvez não tenha ficado claro o suficiente, mas é só o começo!

Portanto, vamos continuar escrevendo mais prompts na mesma janela de bate-papo, sem precisar copiar longos trechos de código, apenas fazer perguntas.

Analisar o construtor e a criação de tokens:

Prompt: "Explique a função constructor no contrato inteligente SMRT16 e como ela cria o suprimento inicial de tokens."

Explore a função buyFor e o sistema de indicação:

Prompt: "Explique a função buyFor no contrato inteligente SMRT16 e como ela utiliza um sistema de indicação para distribuir bônus."

Entenda a função _payBonuses e a distribuição de bônus:

Prompt: "Explique como a função _payBonuses funciona no contrato inteligente SMRT16 e como ela distribui os bônus entre os diferentes níveis de indicação."

Examine o papel das funções relacionadas ao owner e ao ownership:

Prompt: “Explique as funções que foram projetadas especificamente para o owner (proprietário)."

Ao fazer essas perguntas ao ChatGPT, você receberá respostas abrangentes que o ajudarão a entender a funcionalidade e os principais componentes do contrato inteligente SMRT16.

Minhas respostas

Model GPT-3.5: https://telegra.ph/ChatGPT-35-Explains-SMRT16-04-12

Model GPT-4: https://telegra.ph/ChatGPT-4-Explains-SMRT16-04-12

Por favor, compare :)

Lembre-se de que as respostas do ChatGPT dependem da qualidade de seus prompts, portanto, certifique-se de fazer perguntas claras e concisas para obter informações precisas. Mas, com esse "exercício", você provavelmente já entendeu como ele funciona.

Concluindo, o ChatGPT pode ser uma ferramenta inestimável para analisar e compreender contratos inteligentes, especialmente nas áreas em expansão das plataformas de exchanges descentralizadas (DEX) e finanças descentralizadas (DeFi). Os principais pontos para usar o ChatGPT de forma eficaz incluem:

  1. Faça perguntas precisas: Para obter informações precisas e relevantes, certifique-se de que suas perguntas sejam específicas, claras e focadas nos componentes ou na funcionalidade do contrato inteligente.
  2. Quebre os códigos complexos: O ChatGPT pode ajudá-lo a dissecar contratos inteligentes complexos, explicando funções individuais, variáveis e seus relacionamentos, facilitando a compreensão do objetivo geral do contrato.
  3. Entenda a herança do contrato: Use o ChatGPT para identificar e explicar a função dos contratos herdados, como o ERC20, que pode fornecer uma visão sobre os principais recursos e funcionalidades do contrato inteligente.
  4. Examine os aspectos de segurança: O ChatGPT pode ajudá-lo a identificar possíveis questões de segurança, vulnerabilidades ou práticas recomendadas em contratos inteligentes, proporcionando aplicativos descentralizados mais seguros e confiáveis.

Espero que este guia tenha sido útil para demonstrar como o ChatGPT pode ser um recurso essencial para entender e analisar contratos inteligentes.

Nos comentários, sinta-se à vontade para me pedir ajuda com engenharia rápida, pois isso pode aumentar muito a eficácia de suas interações com o ChatGPT!

Esse artigo foi escrito por Maxim Vasilkov e traduzido por Fátima Lima. O original pode ser lido aqui.

Oldest comments (0)