Começar a programar no Solidity para criar smart contracts em Ethereum pode parecer um desafio difícil. No entanto, neste artigo, queremos mostrar como é fácil começar a desenvolver contratos inteligentes, oferecendo recursos e uma breve entrada no mundo da programação dessa poderosa linguagem.
Como já mencionamos, Solidity é o nome de uma linguagem de programação de alto nível, muito semelhante ao conhecido JavaScript, usado para programação web. Esta linguagem é usada para programar smart contracts ou contratos inteligentes para a blockchain de Ethereum, que será executado pelo EVM.
Mais especificamente, Solidity é uma linguagem de alto nível que nos permite programar facilmente para EVM e que pode então ser compilado em bytecode para finalmente rodar na Máquina Virtual Ethereum. Por ser uma linguagem de alto nível, significa que os desenvolvedores têm uma ferramenta simples para programar. Evitando assim a dificuldade de programação usando OP_CODES ou códigos de operação , ou bytecode diretamente, algo que ocorre em Bitcoin.
Como resultado, a criação de aplicativos descentralizados (DApps) É uma tarefa muito mais simples de realizar, revisar e testar, estando à disposição de qualquer pessoa com conhecimentos básicos de programação.
Comece no Bit2Me e entre no mundo das criptomoedas com vantagem. Cadastre-se facilmente e ganhe 5€ GRÁTIS na sua primeira compra com este link. Não espere mais para se juntar à revolução criptográfica! Cadastre-se
Ferramentas para começar a programar em Solidity
Documentação e livros sobre Solidity
Se você tem experiência em programação, certamente sabe da importância de ter uma boa documentação oficial sobre as possibilidades da linguagem de programação que está utilizando. Bem, essa premissa é cumprida plenamente com Solidity. Em primeiro lugar, a documentação oficial do Solidity é excelente. Na sua site oficial Você pode encontrar todas as informações técnicas de que precisa sobre as potencialidades e melhorias que esta linguagem apresenta a cada nova versão. Além disso, o desenvolvimento e aprimoramento da linguagem são constantes, mostrando que a comunidade busca aprimorar e implementar novas funções para tornar a programação de DApps mais fácil e segura.
Se o que você quer é programar em Solidity e já tem conhecimento prévio de programação e desenvolvimento em outras linguagens, este é o primeiro lugar que você deve ir. Se, por outro lado, você não tem conhecimento de programação e desenvolvimento, deve primeiro conhecer as formas e operações básicas das linguagens de programação para então iniciar seu processo de aprendizagem sobre Solidity.
Por outro lado, dois dos livros mais importantes dedicados ao desenvolvimento em Solidity são Solidity Programming Essentials por Ritesh Modi e Ethereum Smart Contract Development por Mayukh Mukhopadhyay. Ambos os livros foram publicados pela Packt e pretendem transformar os interessados no mundo da programação Solidity de iniciantes a programadores avançados nesta linguagem. Se você quiser saber ainda mais sobre Ethereum, então você pode complementar sua leitura com Mastering Ethereum escrito por Andreas Antonopoulos e Gavin Wood.
Se você colocar todos esses elementos de leitura juntos, você começará a entender muito bem o que é Ethereum e como você pode usar efetivamente o Solidity para programar seu primeiro DApp e talvez, com sorte, mudar o mundo para melhor.
Ferramentas para programação e depuração
Agora, conhecer a parte teórica é apenas um primeiro passo para iniciar sua forma de programar no Solidity. Mas é um passo inútil se você não é capaz de trazer esse conhecimento teórico para a praticidade.
Para tornar isso possível, você deve ter ferramentas para programar e depurar o que você escreve nesta linguagem. Nesse caso, IDEs ou Ambiente de Desenvolvimento Integrado (Integrated Development Environment, em Inglês) serão a sua ferramenta para o conseguir.
Um IDE é um programa que possui uma série integrada de ferramentas que facilitarão seu trabalho de programação em uma determinada linguagem. Esses IDEs geralmente contêm verificadores de sintaxe, integração de biblioteca, localizadores de erros e modos que permitem testar seu aplicativo antes de implementá-lo publicamente.
No caso do Ethereum, existem dois grandes IDEs oficialmente apoiados pela comunidade. O primeiro é Remix. Remix é um IDE web que podemos usar a partir de nosso navegador e com o qual podemos programar e testar nossos aplicativos escritos em Solidity sem ter que instalar nada.
Outra ferramenta amplamente utilizada no mundo do desenvolvimento no Ethereum e Solidity é Truffle. Na verdade, o Truffle é de longe a ferramenta mais bem integrada no mundo Ethereum para a programação de Solidity. Mas por outro lado, a quantidade de opções de Truffle torna-o uma ferramenta complexa de usar, especialmente se você está apenas começando a aprender, por isso só é recomendado para pessoas com conhecimentos mais avançados.
Do outro lado está ETHFiddle, um site simples que permite executar códigos escritos em Solidity e aprender a programar da forma menos complexa possível. No entanto, se o que você deseja é criar seu próprio ambiente de programação usando alguma outra ferramenta, você também pode fazê-lo.
Existem outros IDEs e plug-ins que permitem que você faça isso. Por exemplo, IntelliJ IDEA é um IDE para múltiplas linguagens de programação, especialmente projetado para programação em Java, mas que também pode ser usado para programar usando Solidity. Outras ferramentas de desenvolvimento como Atom o Visual Studio Code também permitem que você instale plug-ins que permitem a programação usando o Solidity. Em qualquer um desses casos, você terá tudo o que precisa para poder construir seu código Solidity.
Ferramentas de simulação
Outra ferramenta vital para programação é ter acesso à testnet de Ethereum. Isso é necessário porque você deve ser capaz de testar seu aplicativo em um ambiente muito semelhante ao real, mas onde nenhuma tentativa ou erro custa dinheiro.
Para fazer isso, você pode instalar um nó Ethereum e seguir as etapas de configuração para trabalhar em qualquer uma das redes de teste Ethereum ou acessar as redes testnet usando um deployer (implantador) com essa capacidade para o IDE que você está usando. O uso de uma rede testnet permitirá que você coloque seu DApp em um ambiente muito semelhante ao que você encontraria na rede Ethereum principal, e assim verificar se ele funciona corretamente em todos os momentos.
No entanto, uma maneira mais fácil de conseguir isso é Ganache. Ganache é uma ferramenta que permite simular um nó Ethereum completo sem os custos associados de ter um nó que mantém um blockchain inteiro em seu computador. Graças a isso, o Ganache é uma ferramenta muito mais simples, mais rápida de usar e que obtém os mesmos resultados. Além disso, possui ampla integração com o Truffle e é facilmente integrável a outros IDEs.
Ferramentas de monitoramento e análise de segurança
Embora a tecnologia blockchain seja muito segura, a segurança é algo que requer proatividade em todos os momentos. Por esse motivo, a comunidade por trás de Ethereum e Solidity criou uma série de ferramentas de análise que ajudam a melhorar muito a segurança do código escrito para nossos contratos inteligentes, evitando que bugs escapem de nós e acabem causando prejuízos aos nossos usuários.
Ferramentas como MythX, Mithril o Alethio são algumas das opções mais poderosas neste sentido, permitindo análises de segurança poderosas (para os casos de MythX e Mythril) e para o monitoramento de seus contratos inteligentes (no caso de Alethio).
Outros recursos de aprendizagem
Claro, esta é apenas uma pequena parte do universo de opções que existe na comunidade Ethereum. Nesse caso, uma das compilações mais completas de ferramentas e recursos de aprendizagem para Ethereum e Solidity pode ser encontrada neste repositório de ConsenSys. Aqui você pode acessar diversos recursos de grande relevância na comunidade para aprender ao máximo como programar em Solidity e tirar o máximo proveito do seu conhecimento neste idioma.
Mas e se, em vez de apenas nomear ferramentas, mostrarmos a você o potencial do Solidity em um exemplo simples? Bem, se você gosta da ideia, basta continuar lendo.
Nossa primeira experiência com Solidity
Para nossa primeira programação Solidity, usaremos Remix.
A nossa escolha desta ferramenta responde ao fato de que nos permite testar o código que escrevemos de uma forma muito simples, além de nos fornecer saídas de depuração simples e a facilidade de usar diferentes versões do Solidity. Nesse caso, a primeira coisa que você deve fazer é ir a este site e selecionar o plugin Solidez para ter todas as opções de programação e depuração para esta linguagem.
Depois de ativar o plug-in Solidity, você poderá ver a próxima seção de informações e podemos prosseguir para criar nosso primeiro programa no Solidity. Para isso você deve ir para "Explorador de arquivos" e adicionar um novo arquivo que chamaremos "HelloWorld.sun".
Ok, agora que nosso código foi escrito em Remix, continuamos a compilá-lo e executá-lo. Podemos fazer isso preenchendo a seção Compilador Solidity. Nesta seção só teremos que estar atentos à versão do Solidity que usaremos para compilar e que deve estar entre os parâmetros do pragma do smart contract. Ou seja, devemos selecionar qualquer versão do Solidity entre 0.5.0 e 0.7.0. Feito isso, tudo que você precisa fazer é pressionar o botão "Compile HelloWorld.sun."
O próximo passo será realizar a implantação do contrato inteligente, o que podemos fazer indo para a seção "Implantar e Executar", no qual devemos clicar em "Implantar". A implantação de um contrato tem um custo no Ethereum, uma vez que uma transação real é emitida com a informação. No entanto, estando em uma rede de teste, esses éteres não terão nenhum custo real.
Em resposta, obteremos a seguinte resposta:
Podemos finalmente ver que nossa função get() está disponível para interagir com ela. Se clicarmos nele, interagiremos e obteremos o resultado esperado (nossa mensagem).
Para ver a mensagem completa, podemos clicar no botão depurar e assim podemos ver toda a saída. Nesta saída, podemos ver a mensagem que colocamos no contrato.
Evite programar por programar
É verdade que a melhor maneira de aprender algo é fazendo. E é importante que você programe, mas tente entender o que você faz. Portanto, tente fazer isso com uma ideia de projeto em mente, com isso você se verá diante de situações reais para resolver.
Para encontrar boas ideias, é importante absorver a cultura que envolve toda a tecnologia de blockchain. Uma tecnologia que foi criada para descentralizar tudo o que pode ser descentralizado. Com certeza, assim que você pensar, encontrará situações em que poucos monopolizam o poder, tomam decisões unilateralmente e tudo isso sem transparência.
Lembre-se que a tecnologia blockchain foi criada para tornar um planeta mais justo, democrático e transparente. Tudo isso independentemente de quem caia: governos, religiões, corporações, ... Não tenha medo de enfrentar o que você considera injusto.
Clique aqui para abrir sua conta de usuário em espanhol GRATUITAMENTE e com segurança e receber um presente de 5€.