Uma das tecnologias mais importantes quando se fala em blockchain é a solidity, uma linguagem de programação indispensável neste segmento. Ela foi criada em 2014 e é considerada um item importante na lista de skills de um desenvolvedor que deseja seguir carreira nesta área tão promissora.
Por isso, o que é solidity está no Dicionário Tech da Coodesh. Você pode conferir a documentação e as características desta linguagem neste post. Acompanhe este artigo até o final.
Definição
Solidity é uma linguagem de programação de alto nível criada para codificar smart contracts na Ethereum.
Para entender melhor essa definição, é importante saber previamente o que são alguns conceitos. Por isso, confira o resumo a seguir:
- Linguagem de programação de alto nível: é uma linguagem cuja sintaxe é voltada para o entendimento humano e não simplesmente da máquina;
- Smart contracts: acordos com execução automatizada por meio de um código de computador responsável por traduzir um discurso legal em um programa pronto para ser executado;
- Ethereum: assim como o Bitcoin, é uma blockchain responsável pelo surgimento de criptomoedas, NFTs e até mesmo a web 3.0.
Sendo assim, com essa breve explicação, já deu para entender melhor o contexto do que é solidity, não é mesmo?
Criação
Você já entendeu o que é solidity, mas você sabia que essa linguagem foi desenvolvida em 2014 por iniciativa de Gavin Wood, um dos fundadores da Ethereum? Ele deu a missão a uma equipe liderada por Christian Reitwiessner no intuito de melhorar a estrutura em torno dessa blockchain.
Com ela foi possível codificar os smart contracts tanto na rede Ethereum quanto nas demais redes compatíveis, como a BNB Smart Chain. Aliás, os smart contracts são desenvolvidos em solidity e rodam em um interpretador chamado EVM ou Ethereum Virtual Machine.
Características
Solidity segue os mesmos preceitos de uma linguagem orientada a objetos. Uma curiosidade é que ela tem influência de linguagens já consagradas entre os desenvolvedores, como JavaScript, C++ e Python. Veja mais algumas características:
- Tipagem estática;
- Suporta herança;
- Tem bibliotecas;
- Possui tipos complexos definidos pelo usuário.
Além disso, possui uma IDE específica, que é o Remix. Com ele não é preciso configurar quase nada diretamente na máquina, sendo que o deploy e a compilação se tornam abstraídos.
Veja mais sobre as características e a documentação aqui.
Portanto, trata-se de uma tecnologia importante para estudar. Porém, há quem prefira outras soluções, visto que solidity já tenha sido criticada por sua questão de segurança.
Existe uma desconfiança de que o ataque à The DAO, uma organização autônoma descentralizada, em 2016, após um usuário ter acumulado muitos tokens, ocorreu devido a falhas nos smart contracts escritos com solidity.
Conclusão
Agora que você viu em mais detalhes o que é solidity leia também o conteúdo sobre a carreira de desenvolvedor blockchain.
E se você já é desenvolvedor, aproveite para conhecer a Coodesh e fazer parte do banco de talentos para empresas parceiras e ainda avaliar seu potencial através dos nossos challenges gratuitos.