Skip to content

Latest commit

 

History

History
328 lines (173 loc) · 20 KB

README.md

File metadata and controls

328 lines (173 loc) · 20 KB

🌐 Inglês / Espanhol / Português Brasileiro 🌐

WTF Solidity

Eu recentemente comecei a reestudar Solidity para reforçar os detalhes e também escrever um "WTF Solidity Guia Básico" para iniciantes (programadores experientes podem procurar outros tutoriais), com atualizações semanais de 1-3 aulas.

O roteiro será definido com base no número de estrelas deste repositório:

  • 64 ⭐ Estabelecer comunidade: discord | grupo WeChat

  • 128 ⭐ Gravar vídeos de ensino

  • 256 ⭐ Produzir conteúdo avançado

  • 512 ⭐ Lançar site oficial: wtf.academy

  • 1024 ⭐ Emitir certificação de curso SBT: Centro de Aprendizagem

  • 2048 ⭐ Lançar NFT da comunidade

Introdução

Aula 1: Três Linhas de Código HelloWeb3: Código | Artigo

Aula 2: Tipos de Valor: Código | Artigo

Aula 3: Funções (external/internal/public/private, pure/view, payable): Código | Artigo

Aula 4: Saída de Funções (returns/return): Código | Artigo

Aula 5: Escopo de Variáveis e Armazenamento de Dados (storage/memory/calldata): Código | Artigo

Aula 6: Arrays e Estruturas (array e struct): Código | Artigo

Aula 7: Mapeamentos (mapping): Código | Artigo

Aula 8: Valores Iniciais de Variáveis: Código | Artigo

Aula 9: Constantes (constant/immutable): Código | Artigo

Aula 10: Controle de Fluxo e Ordenação por Inserção: Código | Artigo

Aula 11: Construtores (constructor) e Modificadores (modifier): Código | Artigo

Aula 12: Eventos (events): Código | Artigo

Aula 13: Herança: Código | Artigo

Aula 14: Contratos Abstratos (abstract) e Interfaces (interface): Código | Artigo

Aula 15: Exceções (errors): Código | Artigo

Avançado

Aula 16: Sobrecarga de Funções: Código | Artigo

Aula 17: Contratos de Biblioteca (library): Código | Artigo

Aula 18: Import: Código | Artigo

Aula 19: Recebendo ETH (fallback/receive): Código | Artigo

Aula 20: Enviando ETH (transfer/send/call): Código | Artigo

Aula 21: Chamando Outros Contratos: Código | Artigo

Aula 22: Call: Código | Artigo

Aula 23: Delegatecall: Código | Artigo

Aula 24: Criando Novos Contratos Dentro de Contratos: Código | Artigo

Aula 25: Create2: Código | Artigo

Aula 26: Deletando Contratos: Código | Artigo

Aula 27: Codificação e Decodificação ABI: Código | Artigo

Aula 28: Hash: Código | Artigo

Aula 29: Seletores de Função (selector): Código | Artigo

Aula 30: Try-Catch: Código | Artigo

Aplicações

Aula 31: ERC20: Código | Artigo

Aula 32: Torneira de Tokens: Código | Artigo

Aula 33: Airdrop: Código | Artigo

Aula 34: ERC721: Código | Artigo

Aula 35: Leilão Holandês: Código | Artigo

Aula 36: Árvore de Merkle: Código | Artigo

Aula 37: Assinaturas Digitais: Código | Artigo

Aula 38: Troca de NFTs: Código | Artigo

Aula 39: Números Aleatórios: Código | Artigo

Aula 40: ERC1155: Código | Artigo

Aula 41: WETH: Código | Artigo

Aula 42: Divisão de Pagamentos: Código | Artigo

Aula 43: Liberação Linear de Tokens: Código | Artigo

Aula 44: Bloqueio de Tokens: Código | Artigo

Aula 45: Bloqueio Temporal: Código | Artigo

Degen

Aula 46: Contratos Proxy: Código | Artigo

Aula 47: Contratos Atualizáveis: Código | Artigo

Aula 48: Proxy Transparente: Código | Artigo

Aula 49: Proxy Atualizável Universal UUPS: Código | Artigo

Aula 50: Carteira Multisig: Código | Artigo

Aula 51: ERC4626 Cofre Tokenizado: Código | Artigo

Aula 52: EIP712 Assinatura de Dados Tipados: Código | Artigo

Aula 53: ERC2612 ERC20Permit: Código | Artigo

Aula 54: Ponte Entre Cadeias: Código | Artigo

Aula 55: Chamadas Múltiplas: Código | Artigo

Aula 56: Exchange Descentralizada: Código | Artigo

Aula 57: Empréstimos Relâmpago: Código | Artigo

Segurança de Contratos

S01: Ataque de Reentrância: Código | Artigo

S02: Colisão de Seletores: Código | Artigo

S03: Centralização: Código | Artigo

S04: Exploração de Controle de Acesso: Código | Artigo

S05: Overflow de Inteiros: Código | Artigo

S06: Replay de Assinaturas: Código | Artigo

S07: Má Geração de Números Aleatórios: Código | Artigo

S08: Bypass de Verificação de Contrato: Código | Artigo

S09: Vulnerabilidade de Negação de Serviço (DoS): Código | Artigo

S10: Honeypot: Código | Artigo

S11: Front Running: Código | Artigo

S12: Phishing com tx.origin: Código | Artigo

S13: Chamadas de Baixo Nível Não Verificadas: Código | Artigo

S14: Manipulação do Tempo do Bloco: Código | Artigo

S15: Manipulação de Oráculos: Código | Artigo

S16: Ataque de Reentrância em NFTs: Código | Artigo

Códigos de Operação EVM

OP01: Hello Opcodes: Código | Artigo

OP02: Classificação dos Opcodes: Código | Artigo

OP03: Instruções de Pilha: Código | Artigo

OP04: Instruções Aritméticas: Código | Artigo

OP05: Instruções de Comparação: Código | Artigo

OP06: Instruções de Nível de Bit: Código | Artigo

OP07: Instruções de Memória: Código | Artigo

OP08: Instruções de Armazenamento: Código | Artigo

OP09: Instruções de Fluxo de Controle: Código | Artigo

OP10: Instruções de Informação de Bloco: Código | Artigo

OP11: Instruções de Pilha 2: Código | Artigo

OP12: Instrução SHA3: Código | Artigo

OP13: Instruções de Conta: Código | Artigo

OP14: Instruções de Transação: Código | Artigo

OP15: Instruções de Log: Código | Artigo

OP16: Instruções de Return: Código | Artigo

OP17: Instruções de Revert: Código | Artigo

OP18: Instruções de Call: Código | Artigo

OP19: Instruções de Delegatecall: Código | Artigo

OP20: Instruções de Staticcall: Código | Artigo

OP21: Instruções de Create: Código | Artigo

OP22: Instruções de Create2: Código | Artigo

OP23: Instruções de Selfdestruct: Código | Artigo

OP24: Instruções de Gas: Código | Artigo

OP25: Otimização do Contrato Proxy Mínimo EIP-7511: Código | Artigo

Regras Internas do Solidity

SI01: Layout de Armazenamento Básico: Código | Artigo

SI02: Layout de Armazenamento de Mapeamentos e Arrays Dinâmicos: Código | Artigo

SI03: Layout de Armazenamento de Arrays de Bytes e Strings: Código | Artigo

SI04: Layout de Memória: Código | Artigo

SI05: Fundamentos da Codificação ABI: Código | Artigo

SI06: Codificação ABI de Tipos Dinâmicos: Código | Artigo

SI07: Fórmula de Codificação ABI: Código | Artigo

SI08: Codificação ABI de calldata/returndata: Código | Artigo

SI09: Codificação ABI de Eventos: Código | Artigo

SI10: Codificação ABI de Erros: Código | Artigo

Tópicos

Ferramentas de Desenvolvimento

Aula 1: Remix, o IDE de Solidity Mais Fácil de Usar: Código | Artigo

Aula 2: Infura, a Ponte Entre o Off-chain e o On-chain: Artigo

Aula 3: Ganache, Configurando uma Rede de Teste Local: Artigo

Aula 4: Alchemy, Infraestrutura de API e Nó de Blockchain: Artigo

Aula 5: Dune, Visualizando Dados da Blockchain com Dune: Artigo

Aula 6: Hardhat, Ambiente de Desenvolvimento Ethereum: Artigo

Aula 7: Foundry, Kit de Ferramentas de Desenvolvimento Centrado em Solidity: Código | Artigo

Análise de Ameaças On-chain

Aula 1: Ferramentas: Artigo | Inglês

Aula 2: Aquecimento: Artigo | Inglês

Aula 3: Prova de Conceito de Vulnerabilidades - Parte 1: Artigo | Inglês

Aula 4: Prova de Conceito de Vulnerabilidades - Parte 2: Artigo | Inglês

Aula 5: Prova de Conceito de Vulnerabilidades - Parte 3: Artigo | Inglês

Aula 6: Análise de Rugpull: Artigo | Inglês

Aula 7: Análise do Evento da Ponte Nomad: Artigo | Inglês

NFT

Aula 1: Bibliotecas ERC721: Address, Strings, Context: Código | Artigo

Aula 2: Interfaces Relacionadas ao ERC721: Código | Artigo

Aula 3: Contrato Principal ERC721: Código | Artigo

Aula 4: Contrato Principal BAYC e Vulnerabilidade Grave: Código | Artigo

Aula 5: Loot: Código | Artigo

Traduções

Aula 1: 16 Sugestões de Segurança da Metamask para Programadores Solidity: Artigo

Aula 2: Mergulhando no EVM: Artigo

Contribuidores do WTF

Os contribuidores são a base da Academia WTF

Doações

Referências