Finalmente descobri como fazer com que os engenheiros iniciantes/intermediários da Solidity leiam grandes bases de código sem suar a camisa. A matemática é o maior bloqueador. Vou apenas dizer - se você não tem treinamento formal em STEM e trabalha como engenheiro de contrato inteligente, comprometa-se a @_MathAcademy_ por pelo menos 6 meses. Se você não puder pagar, pelo amor de Satoshi, por favor, pelo menos conclua um curso gratuito de álgebra online e peça a Grok que sirva como examinador para testar seus conhecimentos. O nível de conhecimento matemático que você possui limita o nível de complexidade com o qual você pode lidar. DeFi é finanças. Finanças é matemática. Se sua matemática é fraca, como você espera ser bom em DeFi? Se você não consegue raciocinar matematicamente, especialmente rapidamente, então algum conhecimento está trancado longe de você. Exemplo 1: ao lidar com "frações" no Solidity, muitos engenheiros se perdem porque não sabem como multiplicar duas frações e normalizar o denominador. Quando eles veem o código fazendo isso, eles não podem interpretá-lo. Exemplo 2: os desenvolvedores não podem calcular juros compostos e, portanto, não conhecem limites razoáveis para o tamanho de um número inteiro Exemplo 3: os desenvolvedores não sabem o que é um logaritmo, portanto, não podem prever rapidamente o tamanho de um inteiro necessário para armazenar um determinado valor. Então, os tamanhos dos uint na base de código parecem totalmente aleatórios. Exemplo 4: devido à álgebra limitada, alguns desenvolvedores não conseguem ver como a fórmula no whitepaper é realmente a mesma (ou tem uma pequena variação) com a do código. Eles acabam tentando fazer engenharia reversa do comportamento do zero e ficam totalmente perdidos. Exemplo 5: os desenvolvedores se perdem olhando para a matemática que foi reorganizada algebricamente para evitar um underflow temporário - ou não estão cientes de que é mesmo um conceito. Não compartilho recursos que não usei para influência. ...