A melhor forma de aprender Solidity de graça (2025)
Escrito por Frederik B
Solidity é uma linguagem de alto nível, orientada a objetos, para programar smart contracts. Aprender Solidity permite criar smart contracts e aplicações descentralizadas.
Este artigo cobre os métodos mais comuns para aprender Solidity e apresenta conceitos importantes de Solidity que os estudantes precisam aprender para se tornar um desenvolvedor Ethereum.
Por que aprender Solidity é importante?
Solidity, a linguagem de programação para escrever smart contracts na Ethereum e em blockchains compatíveis com a EVM, é uma das habilidades mais importantes para desenvolvedores blockchain. À medida que o ecossistema em torno da Ethereum e de outras plataformas de smart contracts cresce, também cresce a demanda por desenvolvedores Solidity.
O salário médio anual de um desenvolvedor Solidity sênior é de $120.000 a $225.000 por ano, antes de somar equity baseada em tokens ou stock options. Segundo a cryptocurrencyjobs.co, o salário-base médio para desenvolvedores Solidity nos EUA é de $127.500, com um salário-base mínimo de $80.000 e máximo de $180.000. Em contraste, desenvolvedores remotos ganham entre $111 mil e $200 mil por ano. Comparado ao salário médio de um desenvolvedor baseado nos EUA, de $103.000, fica claro que a especialização em blockchain está em alta demanda.
A seguir, uma lista de estruturas salariais de desenvolvedores Solidity por localização, por ano (em dólares americanos):
- América do Norte - $125K-$200K
- Europa - $80K-$135K
- Ásia - $46K-$116K
- Oceania - $85K-$120K
- América do Sul - $49K-$150K
- África - $49K-$75K
- Remoto - $111K-$200K
Aprender Solidity não só pode oferecer oportunidades financeiras tremendas, como também permite construir aplicações incríveis que podem ter um impacto enorme no mundo. De fato, só a Ethereum tem quase 3.000 aplicações servindo a uma variedade de objetivos, da inclusão financeira à energia sustentável.
Formas de aprender Solidity
Há muitas formas de aprender Solidity, incluindo cursos online, bootcamps, tutoriais e leitura de documentação de ferramentas populares de desenvolvimento Solidity como o Hardhat.
Aprenda Solidity com cursos online
Cursos online são uma ótima forma de aprender Solidity se você quer mais estrutura e orientação do que os tutoriais oferecem. Existem muitos cursos de alta qualidade disponíveis, incluindo o curso gratuito de desenvolvimento Solidity da Alchemy University.
Enquanto os tutoriais são no seu próprio ritmo, os cursos online geralmente têm aulas e prazos definidos, o que oferece uma motivação com prazo determinado para os alunos se manterem no caminho. Além disso, cursos de Solidity costumam incluir quizzes e outras atividades para testar seu conhecimento à medida que você progride.
Aprenda Solidity com um bootcamp Ethereum
Se você quer aprender Solidity e outras habilidades de desenvolvimento blockchain em um ambiente estruturado e imersivo, um bootcamp de Solidity pode ser a opção certa para você. Bootcamps de blockchain oferecem treinamento intensivo e prático para ajudá-lo a se tornar um desenvolvedor blockchain pronto para o mercado de trabalho.
Depois que a Alchemy adquiriu a ChainShot, a Alchemy redesenhou o bootcamp de desenvolvedor Ethereum de 7 semanas e $3.000 da ChainShot, e está oferecendo-o ao público GRATUITAMENTE sob a Alchemy University. Para aprender Solidity com professores especialistas e ao lado de colegas motivados, garanta seu lugar na fila para o bootcamp Ethereum da Alchemy University.
Se os desenvolvedores forem novos em desenvolvimento em geral, o curso intensivo de JavaScript de 3 semanas da Alchemy University é um ótimo pré-requisito antes de começar um bootcamp Ethereum.
Aprenda Solidity com tutoriais
Se você é autodidata e quer aprender no seu próprio ritmo, tutoriais são uma ótima forma de aprender Solidity. Existem muitos tutoriais de Solidity de alta qualidade disponíveis online, variando de nível iniciante a avançado.
Os recursos oficiais para desenvolvedores Ethereum incluem 53 tutoriais marcados com "Solidity", cobrindo desde o básico de smart contracts até tópicos mais avançados como otimização de gas e assinatura segura.
Conceitos importantes de Solidity para aprender
Depois de escolher seu método de aprendizado, é hora de começar a aprender a programar em Solidity. Uma série de conceitos centrais de Solidity é importante entender para escrever código eficiente.
Solidity ABI
A Application Binary Interface (ABI) é um conjunto de regras que permite que dois softwares diferentes interajam entre si. No contexto de Solidity, a ABI permite que smart contracts interajam entre si, bem como com softwares externos como wallets.
A ABI permite escrever código que pode interagir com qualquer contrato, independentemente de você ter ou não o código-fonte. Isso é possível porque a ABI inclui todas as informações necessárias para codificar e decodificar dados passados entre contratos.
Smart contracts
Um smart contract é um trecho de código que roda na blockchain Ethereum e executa determinadas ações quando um conjunto de condições é atendido. Smart contracts podem ser usados para criar tokens digitais, aplicações descentralizadas, entre outros.
Um caso de uso comum de smart contract é criar um token ERC20, o que pode ser feito em apenas algumas linhas de código. Smart contracts mais complexos incluem trocas de tokens, yield farming e ativos sintéticos. Esses contratos são compilados usando um compilador Solidity, que gera o bytecode usado para implantar o contrato.
Tokens ERC20
Tokens ERC20 são um tipo de ativo digital que roda na blockchain Ethereum. Eles são frequentemente usados para representar ativos do mundo real, como commodities ou moedas fiduciárias.
Tokens ERC20 são o tipo mais comum de ativo digital na Ethereum. Como tokens ERC20 também são um dos tipos de contrato mais fáceis de escrever, aprender a criá-los é uma habilidade importante a dominar.
Interface de contrato
Uma interface é uma forma de especificar quais funções um contrato deve ter. Interfaces permitem criar contratos que podem ser facilmente reutilizados e estendidos. Por exemplo, você poderia criar uma interface para um contrato de token, e então qualquer contrato que implemente essa interface pode ser usado como um token.
Herança
Herança é uma forma de reutilizar código em Solidity. A herança permite criar contratos "filhos" que herdam todo o código de um contrato "pai". Isso permite que os desenvolvedores evitem duplicar código e torna a manutenção de smart contracts muito mais fácil.
Herança é um conceito importante em programação orientada a objetos, e é uma das coisas que torna Solidity tão poderosa. Aprender a criar contratos padronizados que podem ser facilmente estendidos e modificados é uma lição importante de Solidity a dominar.
Funções
Como em qualquer linguagem de programação, funções são uma parte essencial de Solidity. Funções em Solidity são trechos de código que recebem entradas, realizam alguma ação e retornam uma saída.
Funções podem ser escritas em smart contracts Solidity para realizar todo tipo de ação, desde enviar tokens até armazenar dados. Uma coleção de funções destinadas à reutilização é chamada de biblioteca.
Um princípio básico em programação é chamado de "princípio D.R.Y.", que significa "Don't Repeat Yourself" (não se repita). Esse princípio estabelece que os desenvolvedores nunca devem escrever o mesmo trecho de código duas vezes. Em vez disso, os desenvolvedores devem escrever uma função uma vez e depois chamá-la sempre que precisarem realizar aquela ação.
Visibilidade de funções
Uma coisa importante a notar sobre funções em Solidity é que elas têm configurações de visibilidade. A visibilidade determina quem pode ver e executar a função. Existem quatro níveis de visibilidade em Solidity: public, external, internal e private.
- Funções public podem ser vistas e executadas por qualquer pessoa.
- Funções external podem ser vistas por qualquer pessoa, mas só podem ser executadas por outros contratos.
- Funções internal só podem ser vistas e executadas por outras funções dentro do mesmo contrato.
- Funções private só podem ser vistas e executadas pelo próprio contrato.
Função call
A função call permite executar código em outro contrato. É assim que os contratos interagem entre si na Ethereum.
A função call permite escrever código que pode interagir com qualquer contrato, independentemente de você ter ou não o código-fonte. Isso é possível porque a ABI inclui todas as informações necessárias para codificar e decodificar dados que são passados entre contratos.
Função delegatecall
A função delegatecall é semelhante ao método call, mas com uma diferença importante: ela executa o código no contexto de quem chamou. Isso significa que quaisquer alterações de armazenamento feitas pelo contrato chamado serão feitas no armazenamento de quem chamou.
A função delegatecall permite escrever contratos que podem ser reutilizados por outros contratos. Por exemplo, você poderia escrever um contrato que implementa uma interface, e então outros contratos podem usar delegatecall nesse contrato para usar a interface.
Modifiers
Modifiers são como funções, mas com algumas diferenças importantes. Primeiro, modifiers só podem ser usados em funções. Segundo, modifiers são chamados antes da função ser executada. Um exemplo de modifier é payable, que permite que uma função receba Ether no contrato.
Modifiers permitem alterar o comportamento de uma função sem tocar no código em si. Por exemplo, um modifier poderia verificar se um usuário tem saldo suficiente antes de executar uma função, ou adicionar um evento que é disparado quando a função é chamada.
Arrays
Arrays são estruturas de dados lineares que armazenam uma quantidade fixa de elementos do mesmo tipo de dado, armazenados em locais de memória contíguos e adjacentes. Um array pode ter tamanho fixo ou dinâmico. O tamanho dos arrays dinâmicos não é predefinido quando são declarados, ao contrário dos arrays fixos, que têm um tamanho predefinido.
Se os desenvolvedores precisam iterar sobre um grupo de dados (por exemplo, usando um loop), então devem usar um array. Se não há necessidade de iterar sobre um conjunto de dados, e em vez disso o desenvolvedor pode recuperar valores com base em uma chave conhecida, então considere usar mappings.
Structs
Um struct é uma forma de armazenar dados em um contrato Solidity. Structs são úteis para criar tipos de dados mais complexos que têm múltiplas propriedades.
Mappings
Um mapping é uma forma de armazenar dados em um contrato Solidity. Mappings são semelhantes a arrays, mas as chaves podem ser de qualquer tipo, não apenas inteiros. Esse recurso torna os mappings versáteis e poderosos. Mappings permitem armazenar dados em um contrato de forma flexível e fácil de usar.
Events
Events são uma forma de disparar a execução de código quando certas condições são atendidas. Por exemplo, os desenvolvedores podem escrever um event que é disparado quando um usuário compra um token, ou quando uma transação é confirmada na blockchain.
Events em Solidity permitem que os desenvolvedores escrevam código que é executado em resposta a eventos do mundo real. É assim que muitas aplicações conseguem interagir com o mundo real, por exemplo, enviando um e-mail ou SMS quando uma condição é atendida.
Require (tratamento de erros)
A palavra-chave "require" é uma de três funções especiais: require, assert e revert. Require verifica se uma condição é verdadeira e, se não for, reverte a transação e retorna uma mensagem de erro.
Usar require permite evitar que erros aconteçam no seu contrato. Por exemplo, você poderia usar require para verificar se um usuário tem saldo suficiente para fazer uma compra, ou se um endereço é válido antes de enviar uma transação.
Smart contracts upgradeable
Smart contracts upgradeable são um tipo de contrato que pode ser atualizado sem a necessidade de reimplantar o contrato. Smart contracts upgradeable permitem fazer alterações em um contrato depois que ele foi implantado, sem afetar nenhum dos dados ou código que já estão na blockchain.
Proxy contracts
Um proxy contract é um contrato de roteamento atualizável, projetado para direcionar chamadas de função para a implementação mais atualizada.
Dessa forma, protocolos podem atualizar suas implementações sem exigir que todos os usuários atualizem seu código para o novo endereço. Ao usar um proxy, os builders podem ter um endereço estático para que suas funções sejam encontradas.
Proxy contracts têm uma função de atualização que pode ser chamada pela equipe para atualizar o caminho de roteamento das funções para os endereços dos novos contratos de implementação.
Multisig contracts
Um multisig contract é um tipo de contrato que exige mais de uma assinatura para executar seu código. Multisig contracts em Solidity são úteis quando os desenvolvedores querem exigir que várias pessoas aprovem uma transação antes de ela ser executada.
Multisig contracts também são úteis em casos em que os desenvolvedores querem limitar a quantia de dinheiro que pode ser gasta em um determinado período de tempo. Por exemplo, você poderia usar um multisig contract para exigir duas assinaturas para qualquer transação acima de $1.000.
Ataques de reentrância
Ataques de reentrância são um tipo de ataque que pode ocorrer em contratos Solidity quando um contrato chama outro contrato, e então o segundo contrato chama de volta o primeiro contrato ou outro contrato não confiável, tipicamente antes de o primeiro contrato terminar de executar.
Ataques de reentrância podem ser usados para explorar vulnerabilidades em contratos. Por exemplo, um atacante poderia usar um ataque de reentrância para drenar todo o Ether de um contrato.
A melhor forma de aprender Solidity
Não importa quais sejam seus objetivos, há uma forma de aprender Solidity que se encaixa nas suas necessidades. Se você está procurando uma forma rápida e fácil de começar, tutoriais são uma ótima opção. Você também pode conferir nossa introdução ao Solidity. Se você quer mais estrutura e orientação, cursos online podem ser mais adequados. E se você está procurando uma experiência imersiva e prática, um bootcamp pode ser a escolha certa.
Depois de escolher seu método de aprendizado, há uma série de conceitos importantes que você precisa dominar, incluindo smart contracts, funções, events, entre outros. Ao entender esses conceitos, você estará no caminho certo para se tornar um desenvolvedor Solidity proficiente.
Visões gerais relacionadas
Solidity3 de dezembro de 2025
As 6 melhores IDEs de Solidity para desenvolvedores (2026)
Conheça as melhores IDEs para desenvolvimento em Solidity.
Solidity19 de novembro de 2025
Otimização de gas em Solidity: 12 técnicas para deixar seus smart contracts mais baratos e eficientes
Quer escrever código melhor e reduzir suas taxas de gas?
Solidity13 de novembro de 2025
12 boas práticas de segurança para smart contracts em Solidity
Proteja seus smart contracts com essas dicas e ferramentas de segurança de especialistas.

Construa magia blockchain
A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.