Contratos Inteligentes¶
A solidez compila até exatamente o bytecode examinado diretamente em O EVM. Esta seção cobre a linguagem da outra direção, indo característica por característica de um contrato de trabalho "olá mundo" através de herança, atualização, testes e implantação. Cada exemplo de código não trivial nesta seção foi compilado com um compilador de Solidity real (solc 0.8.26) e confirmado para construir de forma limpa, não apenas escrito para parecer plausível.
O que você precisa saber primeiro¶
O EVM. Esta seção explica que a Solidity constrói em grande medida em termos de que mecanismo EVM-nível eles compilam (a view função STATICCALL garantia, DELEGATECALL proxies subjacentes, slots de armazenamento variáveis de estado subjacentes e mapeamentos), assim, entender a máquina em baixo torna as regras específicas da linguagem muito menos arbitrárias.
Capítulos¶
- Solidity: um contrato mínimo, compilado, e por que a linguagem parece a maneira como faz
- Contrato ABI: selectores de funções calculados e cruzados com um valor real conhecido
- Funções: visibilidade, view/pure, e a pagar, verificado contra saída ABI compilado
- Variáveis de Estado: declaração, embalagem de armazenamento, constantes e imutáveis
- Mapeamentos: por que cada chave já tem um valor, e o que isso significa para enumeração
- Eventos e Registrose porque são muito mais baratos do que o armazenamento
- Modificadores: o
_;placeholder, e o que ele realmente controla - Erros e Reversões: exigir, erros personalizados e afirmar comparados diretamente
- Funções Payable: receber/fallback roteamento, e as três maneiras de enviar éter
- Herança: virtual/override, e regra de linearização C3 da Solidity
- Bibliotecas: código apátrida, reutilizável e
using forsintaxe - Contratos de proxy: um proxy mínimo de trabalho, e o risco de colisão de armazenamento simplifica
- Contratos Actualizáveis: Transparente, UUPS, e Diamond padrões, e quem controla o risco
- Teste: Códigos de fraude da fundição e testes de fuzz, contra um EVM incorporado real
- Implantação: CREATE vs. CREATE2 endereçamento, e que verificação de contrato realmente prova
Próxima¶
Continuar a Tokens, onde os mapeamentos, eventos e padrões de erros desta seção se combinam com os padrões ERC-20, ERC-721 e ERC-1155.