Escrever contratos inteligentes - minhas notas e opiniões pessoais

Bem, camaradas, vou contar-vos como escrever realmente contratos inteligentes, sem embelezamentos e tolices que abundam na internet. Eu mesmo sofri muito com isso e estou pronto para partilhar a experiência.

Vou começar com o fato de que escrever contratos inteligentes não é tão difícil quanto parece, mas não é tão fácil quanto todos esses "gurus" prometem com seus cursos por muito dinheiro. É especialmente irritante quando os grandes intervenientes no mercado tentam monopolizar esta área do conhecimento.

A escolha da língua é o primeiro passo para o sucesso ou o fracasso

Para a escrita de contratos inteligentes, utiliza-se principalmente o Solidity — é como o padrão na indústria. Mas, para ser sincero, a linguagem em si é bastante crua e cheia de falhas. Trabalhei com ela durante alguns anos e constantemente me deparei com problemas sobre os quais ninguém avisa.

Existem alternativas — FunC para TON, por exemplo. Mas aqui há outro problema — a documentação é escassa e muitas vezes está em inglês com tradução ruim.

Configuração do espaço de trabalho

Esqueça instruções complicadas. Visual Studio Code + extensão Solidity + Remix IDE para testes rápidos é melhor para mim. Não há necessidade de reinventar a roda e instalar uma tonelada de programas, como aconselham os guias oficiais.

Escrever um contrato – armadilhas

Quando escreves um contrato, o mais importante é lembrar-te - qualquer erro que cometas pode ser usado para roubar dinheiro. Literalmente qualquer um! Eu próprio já caí nessas armadilhas, quando me esqueci de verificar o estouro numa função simples, e quase perdi uma grande quantia.

Aqui está o que eu vou lhe dizer — não confie nos exemplos da documentação. Eles frequentemente contêm código inseguro, que não deve ser colocado em produção de forma alguma. E os modelos corporativos são geralmente escritos por pessoas que às vezes nem entendem os princípios básicos do funcionamento da blockchain.

Testes — não economize nisso

Teste tudo cem vezes! Não confie em quem diz "o teste pode ser feito depois". No mundo cripto, isso é um caminho para perder tudo. Eu geralmente escrevo testes mesmo antes de escrever o próprio contrato, pensando em diferentes cenários de ataque.

Já vi projetos que perdem milhões só porque os desenvolvedores tinham preguiça de testar todos os casos de borda ou correram para lançar.

Implantação na rede

Ao implantar o contrato, não se esqueça de verificar a comissão. Às vezes, a rede está sobrecarregada e, em vez de uma quantidade normal, você pode dar uma fortuna para a implantação. Uma vez quase enviei uma transação com uma taxa maior do que o custo do projeto em si.

E não confie cegamente em nenhuma carteira popular – elas também estão erradas. É melhor usar ferramentas confiáveis como capacete ou trufa.

O que vem a seguir?

Mesmo após o deploy, é preciso monitorizar o contrato. Os hackers não dormem, e todos os dias encontram novas vulnerabilidades. Nesse sentido, o blockchain é implacável — uma vez que é feito um deploy com erro, já era, adeus.

E, na verdade, não pense que contratos inteligentes são a panaceia. A maioria dos projetos em blockchain são dinheiro jogado ao vento. Mas se você está fazendo algo que vale a pena — faça isso com qualidade.

Lembre-se: no blockchain não há reversões de transações e devolução de dinheiro! Aqui, você é totalmente responsável pelo seu código.

Boa sorte com os seus contratos! E sim - não ouçam todos esses "especialistas" com duas semanas de experiência. Aprendam com os erros dos outros, e não com os seus.

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)