paint-brush
Usando o interpretador de código para revisar projetos NFT 🦾por@bankless
296 leituras

Usando o interpretador de código para revisar projetos NFT 🦾

por Bankless - Metaversal5m2023/08/16
Read on Terminal Reader

Muito longo; Para ler

O ChatGPT é um chatbot de IA desenvolvido pela OpenAI que pode gerar respostas semelhantes às humanas com base em entradas de texto. O Code Interpreter é um plugin interno desenvolvido pela equipe OpenAI. Ele é capaz de usar a linguagem de programação Python para executar todos os tipos de tarefas diferentes, desde puxar a paleta de cores de uma imagem carregada até analisar trechos de código fornecidos.
featured image - Usando o interpretador de código para revisar projetos NFT 🦾
Bankless - Metaversal HackerNoon profile picture
0-item


Prezada Nação HackerNoon,


No mês passado, escrevi sobre plug-ins ChatGPT com tema criptográfico.


Desde então, os criadores da IA lançaram outro recurso poderoso, o Code Interpreter, que é realmente impressionante.


Na verdade, ele pode fazer muito mais do que apenas analisar o código.


No entanto, como criativo em criptografia, sempre quis ter uma compreensão mais profunda dos contratos inteligentes, então como seria uma revisão básica de código de um projeto NFT com um interpretador de código?


Compartilharei uma abordagem geral do processo abaixo e veremos como será!


-WMP

Revendo o código NFT com o Code Interpreter

O que é ChatGPT e o que é interpretador de código?

ChatGPT é um chatbot de IA desenvolvido pela OpenAI que pode gerar respostas semelhantes às humanas com base em entradas de texto. Pode ser aprimorado com plug-ins , que são recursos de terceiros que permitem que a IA interaja com outros softwares e serviços.


O próprio Code Interpreter é um plug-in interno desenvolvido pela equipe OpenAI. Ele é capaz de usar a linguagem de programação Python para executar todos os tipos de tarefas diferentes, desde puxar a paleta de cores de uma imagem carregada até analisar trechos de código fornecidos.


Aqui, observe que o Code Interpreter está atualmente disponível apenas para usuários do ChatGPT Plus, uma assinatura mensal que custa aproximadamente $ 20 atualmente, e deve ser ativada na seção “Recursos beta” do menu “Configurações” do ChatGPT.

Exemplo: Explorando os fundamentos da base de código DAO de substantivos com o Code Interpreter

O plug-in Code Interpreter, que ainda está em estado experimental, permanece em um “ambiente de execução em área restrita” e, portanto, não possui recursos de navegação na Internet por enquanto.


Dito isso, se você quiser que o Code Interpreter examine o código, você terá que copiar e colar trechos no ChatGPT conforme necessário no momento. Neste caso, tenho oSubstantivos DAO repositório GitHub pronto para ir, então podemos começar assim...

1. Semeie o bate-papo com contexto


Substantivos DAO, como mostra seu repo, é composto por uma variedade de contratos inteligentes interligados. Para tornar essas informações digeríveis para o Code Interpreter, copiei o código desses contratos inteligentes individuais, um por um: Inflator.sol , SubstantivosArt.sol , SubstantivosAuctionHouse.sol , SubstantivosDescriptor.sol ,

SubstantivosSeeder.sol , SubstantivosToken.sol , e SVGRenderer.sol .


O contrato inteligente “Art” sozinho tinha 450 linhas de código, por isso é interessante ver o plug-in lidar com grandes blocos de informações em um momento como esse. Depois que o Code Interpreter tiver todos os detalhes relevantes do contrato inteligente à sua disposição, você poderá começar a orientá-lo para se aprofundar mais.

2. Faça suas perguntas de pesquisa

Com o Code Interpreter controlando a base de código de um projeto, você pode usar o plug-in como algo semelhante a um assistente de pesquisa para entender o código.


Por exemplo, pedi ao Code Interpreter para fornecer uma análise de alto nível do design técnico do Nouns DAO depois de fornecer os sete contratos inteligentes mencionados acima. Para isso, o plugin trouxe vários pontos positivos como:


  • O projeto modular : “ O projeto é estruturado de forma modular, sendo que cada contrato é responsável por uma parte específica do sistema. Isso ajuda na manutenção do código e permite flexibilidade na atualização de partes do sistema de forma independente .”


  • Geração de arte onchain : “Ao contrário de muitos projetos NFT que armazenam metadados e arte off-chain (geralmente em IPFS ou similar), o Nouns DAO parece ter a capacidade de gerar arte on-chain usando NounsArt.sol, NounsDescriptor.sol e SVGRenderer .sol contratos. Essa abordagem é menos comum e fornece um mecanismo exclusivo para criar ativos digitais distintos e verificáveis inteiramente dentro da blockchain Ethereum .”


  • Uso do OpenZeppelin : “ O projeto faz uso das bibliotecas OpenZeppelin, que são implementações padrão da indústria, bem testadas e seguras de interfaces e utilitários de contrato comuns. Isso demonstra um foco em segurança e confiabilidade .”


Se eu estivesse indo de 0 a 100 na pesquisa de um projeto NFT com o qual não estava familiarizado, acharia esse tipo de informação útil como ponto de partida no lado técnico das coisas? Absolutamente! Você também é limitado apenas pela sua imaginação aqui. Perguntei ao Code Interpreter como seria a aparência de uma versão simplificada da arquitetura Nouns, e assim por diante. Se você puder pensar nisso, o plug-in pode tentar respondê-la.


No entanto, você também deve ter muito cuidado, porque nem todas as respostas que você recebe do Code Interpreter estarão corretas…

3. Cuidado com as alucinações

Um exemplo de uma alucinação de análise ChatGPT


Na verdade, o contrato inteligente Inflator.sol usado pelo Nouns DAO destina-se a “descompactar dados compactados usando o algoritmo Deflate”. O código diz isso em inglês simples!


No entanto, em uma passagem, quando pedi ao Code Interpreter para analisar essa parte da estrutura técnica dos substantivos, o plug-in indicou incorretamente que esse elemento era interessante como um “mecanismo de taxa de inflação centrado em finanças que pode ser visto em alguns protocolos DeFi, mas não é comumente visto em projetos NFT.”


O ponto aqui, então, é que o Code Interpreter ainda é experimental e está longe de ser infalível. Não trate suas respostas como totalmente corretas porque muitas vezes, em vários lugares, elas não estarão. Às vezes, reformular seu prompt de certas maneiras pode corrigir esses soluços, mas se você usar o Code Interpreter em um futuro próximo, certifique-se de praticar a verificação dupla de suas saídas, como fiz com a análise do contrato Inflator.sol!

Diminuindo o zoom

Em suma, o Code Interpreter é uma nova ferramenta realmente atraente que tanto pessoas não técnicas quanto técnicas podem usar para, entre outras coisas, analisar NFTs mais profundamente. A análise de código costumava ser o terreno apenas de especialistas, mas este plug-in é um grande passo para torná-lo mais acessível e compreensível para qualquer pessoa.


Também é muito cedo neste campo, então suspeito que o desempenho do Code Interpreter e plugins como ele só irão melhorar com o tempo. No entanto, se você não codificar como eu, é especialmente importante lembrar de usar essa ferramenta apenas como outro elemento de sua pesquisa e como uma fonte que precisa ser verificada como qualquer outra coisa, e não como uma espécie de de máquina de análise perfeita, o que não é!


biografia do autor

William M. Peaster é o criador de Metaversal — um boletim informativo do Bankless focado no surgimento de NFTs na criptoeconomia. Ele também é redator sênior do boletim informativo principal do Bankless.


Publicado também aqui .