Desenvolvedor Blockchain

Como se Tornar um Desenvolvedor Blockchain

Como se Tornar um Desenvolvedor Blockchain

Olá! Neste artigo vamos te explicar um pouco sobre desenvolvimento na rede Ethereum, o que seria smart contracts, qual a importância e porque você deveria aprender a entender sobre a rede blockchain.

Vale lembrar que também te daremos boas dicas e um passo a passo de como começar a desenvolver um smart contract na rede Ethereum, e para finalizar te daremos dicas de estudos para seguir estudando mais sobre esta nova tecnologia.

Por que aprender Blockchain?

Se você está aqui é porque muito provavelmente você já ouviu falar sobre este termo “blockchain” rodando pela internet. Blockchain não é apenas um termo que ficou viral, mas sim uma tecnologia emergente que promete mudar a interação do mundo da internet e o mundo real.

Este artigo tem a intenção de ajudar você que quer ajudar na construção dessa mudança digital se tornando um desenvolvedor na blockchain. Falaremos sobre o melhor caminho para você começar como um desenvolvedor, ou seja, usando seus conhecimentos de programação.

Você também pode começar sem algum conhecimento de programação também. Caso em algum momento deste artigo você não entenda algum termo utilizado, fique à vontade para consultar o termo no glossário e também deixaremos uma lista com links no final do blog sobre termos relacionados ao blockchain .

Os salários para os desenvolvedores e engenheiros que trabalham na construção de aplicações na blockchain está lá nas alturas devido à forte demanda provocada pelo potencial da tecnologia. Abaixo segue um gráfico mostrando como a demanda por engenheiros de blockchain aumentou em 2019: 

ZipRecruiter constatou que o salário médio de um engenheiro de blockchain nos Estados Unidos hoje é de: US $154,550 por ano.

Fica claro que compensa financeiramente tornar-se um desenvolvedor na blockchain. E ainda tem mais! Ao tornar-se um desenvolvedor de blockchain você estará contribuindo para um mundo melhor. 

Existem diversas funções que você pode exercer como desenvolvedor dentro de uma empresa ou startup que trabalha com esta tecnologia. Pesquise pelo termo “blockchain” nas vagas de emprego no Linkedin para você ver a quantidade de vagas ofertadas. Aqui embaixo compilamos uma lista das principais funções procuradas pelo mercado:

  • Blockchain Developer
  • Blockchain Quality Engineer
  • Smart Contract Engineer
  • Blockchain Solution Architect
  • Blockchain Project Manager
  • Blockchain UX Designer

O mercado está muito mais aquecido fora do país para estas posições, fazendo com que alguns brasileiros consigam trabalhar de forma remota para uma empresa internacional. A demanda por estes profissionais está crescendo diariamente no Brasil.

Existem várias blockchain. Atualmente as principais são Bitcoin, Ethereum, Solana, Cardano e Polkadot.

Todas elas possuem algumas características em comum inerentes da natureza da tecnologia:

Descentralização:

Não há uma entidade maior – uma pessoa ou organização – responsável por tomar decisões, monitorar e gerenciar o uso da corrente de blocos. O poder na verdade é distribuído para a comunidade, que pode então entrar em consenso sobre o que deve ser feito.

 Tal consenso produz segurança na rede, pois não há um agente centralizado dono do poder de decisão. Ninguém possuirá ou venderá seus dados sem você saber.

Imutabilidade:

Tudo o que é colocado na rede é público e também é imutável. Não há como mudar a blockchain. Tudo também é verificado por todos os integrantes da rede para que nada de ilícito ou maldoso seja feito.

Agora imagina tudo isso sendo implementado no sistema financeiro global, na governança dos dados, na distribuição de conhecimento, etc.   A boa notícia é que a mudança já começou – e você pode ser parte dela.

Por que começar com Ethereum?

Um desenvolvedor blockchain ou um engenheiro blockchain geralmente não exercerá a função de criar uma blockchain do zero. Na verdade, os dois provavelmente exercerão a função de desenvolver uma aplicação em uma blockchain já existente.

A mais popular entre as existentes para se desenvolver aplicações é o Ethereum. Na verdade, esta é a proposta do Ethereum: ser uma blockchain que roda aplicações. Atualmente, é o maior protocolo que permite a criação de aplicações. Abaixo há um gráfico mostrando como o Ethereum supera absurdamente a quantidade de aplicações quando comparado a outras blockchains:

blockchain

Atualmente, há mais de 3000 nodes operando na rede do Ethereum. Ou seja, a rede Ethereum possui uma segurança maior que as outras blockchains já que possui mais nodes, além de ter um suporte forte de uma comunidade de desenvolvedores muito grande e ativa. A quantidade de nodes exata neste exato momento pode ser vista clicando aqui

Vale a pena também pesquisar no Linkedin pelos cargos de “blockchain developer” e ver como o uso da Ethereum destaca-se como uma qualidade essencial para o desenvolvedor.

O que é Ethereum?

Ethereum responde a pergunta: “E se pudéssemos ter um computador mundial que é público para todas as pessoas e funciona com o consenso de todas as pessoas?” Fantástico, não é?! Quando dizemos mundial, é mundial mesmo! Qualquer pessoa pode participar da rede, independente da localidade, idade, gênero, raça, poder de compra, etc.

 Basta ter acesso a internet e você já pode participar. Não há intermediador que dita as regras da internet, dos dados, das aplicações, das transações, etc. 

O Ethereum é uma blockchain (corrente de blocos) sendo que cada bloco armazena as transações feitas entre pessoas. Estas transações envolvem uma moeda digital comum (ETH).

Além deste serviço de transações de dinheiro digital entre as pessoas sem um intermediário interventor, o Ethereum trouxe uma tecnologia inovadora e de grande utilidade: os smart contracts. 

O que são smart contracts?

Este é um simples smart contract! E se por acaso você não tenha entendido nada do que ele está dizendo, fique tranquilo, vamos conversar sobre o que este em específico significa daqui a pouco.

smart contracts

Como você pode ver, o smart contract é um texto escrito em uma linguagem de programação. E você pode descrever qualquer coisa neste texto  – qualquer coisa mesmo!

Você pode por exemplo escrever um smart contract para a troca de moedas digitais por outras – é o exemplo do que a Uniswap faz. Você pode escrever um smart contract para que diferentes pessoas façam doações de dinheiro a fim de juntar um montante que será, no final, doado a uma instituição de caridade – sem haver qualquer intermediário que ficará com o dinheiro para si, podendo roubá-lo.

 As possibilidades são infinitas! Desta forma, o protocolo do Ethereum torna possível pessoas se conectarem por meio de transações financeiras diretas – sem intermediador – e ainda permite que qualquer pessoa automatize processos, faça aplicativos, websites, produtos, serviços e muito mais por meio de seus smart contracts de forma que toda a informação na corrente de blocos seja distribuída entre todos os usuários da rede.

O que você precisa para começar a desenvolver no Ethereum?

Existem algumas ferramentas necessárias para o desenvolvimento de DApps no Ethereum. Você poderá trabalhar com o back-end programando os smart contracts na linguagem Solidity. Esta é a linguagem que o Ethereum consegue entender para rodar o seu código.

 Você também pode possuir as habilidades de front-end por meio de dominar as linguagens de JavaScript e/ou Python, por exemplo. Um bom desenvolvedor é um desenvolvedor completo. Logo, existem algumas coisas que são muito importantes para fazer esta comunicação entre o que o usuário vê na tela e o que é programado por trás das cortinas.

 As duas principais bibliotecas usadas e que tornam possível a interação entre blockchain e navegador são: Web3.js e Web3.py

Há também uma ferramenta poderosíssima que permite você desenvolver seus smart contracts e testá-los (IDE). A IDE mais famosa e usada até agora é o Remix.. Lá, é possível “brincar” com a linguagem Solidity e simular o que aconteceria caso seu smart contract estivesse na blockchain real

Duas frameworks se destacam para ajudar o na agilidade do processo de desenvolvimento. Elas são: Truffle e BrownieOpen Zeppelin e Chainlink são dois sites extremamente importantes pois trazem modelos prontos de smart contracts e permitem a interação entre blockchain e a internet centralizada.

Segue então uma lista resumida das principais ferramentas que você vai precisar:

 
  • Solidity
  • Web3.js
  • Web.py
  • Brownie
  • Truffle
  • Javascript
  • Python
  • OpenZeppelin
  • Chainlink

 

 

É claro que você não vai conseguir aprender tudo de uma vez. Mais embaixo você pode ver algumas sugestões de materiais que abordam estes assuntos de forma independente ou colaborativa.

Criando Nosso Primeiro Smart Contract

pragma solidity

Agora chegou a hora do “vamo vê!”. O código acima contém um smart contract simples cuja funcionalidade é um usuário ter a opção de ver uma mensagem escrita e/ou alterar esta mensagem. A linha 8 mostra que a mensagem inicial é “Hello World!”. 

 

A função setMessage (linha 12) permite que escrevemos uma nova mensagem no argumento “new_message”. A “new_message” substituirá a antiga “message” para termos uma nova mensagem, que pode ser lida pelo usuário usando a função “getMessage”.

 

Agora que você entendeu o que o código faz, siga os passos abaixo para interagir com o smart contract usando a IDE do Remix:

  1. Abra o Remix no seu navegador clicando aqui.
  2. Vá em contracts e verá que já existem alguns modelos prontos. Vamos usar o nosso. Para isso, clique em contracts, depois selecione o Storage.sol e cole o código do nosso contrato lá, apagando o antigo
Remix smart contract

Código usado:

				
					

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract Message {

    //Declaração de uma nova variável chamada "message"

    string public message = "Hello World!";

    // Simples função que permite a mudança da variável "message"

    // com uma nova mensagem de nossa escolha

    function setMessage(string memory new_message ) public {

        message = new_message;

    }

    // Simples função que permite ler o valor da variável "message"

    function getMessage() public view returns (string memory){

        return message;

    }

} 


				
			

3. Clique no compilador e depois compile o código:

Remix Solidity

4. Vamos fazer o deploy! Clique no ícone para deploy e depois em Deploy:

deploy remix

Pronto! Você conseguiu fazer o deploy do seu primeiro smart contract em uma blockchain simulada pelo Remix! (Gif of Happiness):

Abaixo, aparecerá o seu contrato e basta clicar na seta e as funções que você programou aparecerão no canto inferior esquerdo. Basta usá-las:

Contrato

Clique em GetMessage e veja o que aparece. Depois coloque entre aspas o novo texto de sua escolha. Cliquem em setMessage e depois em getMessage novamente e veja como a mensagem foi alterada! 

 

Este smart contract que fizemos é bem simples e é apenas para introduzir o desenvolvimento no Ethereum. Os contratos reais que são enviados para a rede são mais robustos e também precisam usar de muitas técnicas de segurança pois, afinal, devem ser seguros o suficiente para lidar com transações de bilhões em dinheiro real.

Onde você pode seguir estudando?

Atualmente a maioria dos conteúdos ainda não possuem traduções para o português, mas mesmo assim vale a pena estudar sobre o assunto. Além do mais, nada que um google tradutor não possa ser utilizado para auxiliar, não é mesmo?! Para solidificar seu aprendizado, pratique o que aprender nos cursos, pois ser um desenvolvedor existe saber colocar a mão na massa.

Pagos :

Gratuitos:

Conclusão

Neste artigo te mostramos um pouco o que os smarts contracts são capazes de fazer, quais são seus primeiros passos, porque começar com a tecnologia Ethereum, códigos usados e muito mais. 

Para você conhecer novas pessoas que já estão na área, considere se conectar com blockchain developers no Linkedin, entrar em Discords e participar do nosso grupo no Telegram. Seja proativo em fazer perguntas, mostrar seu avanço e pedir ajuda.

Esperamos que tenham gostado do nosso artigo sobre como se tornar um desenvolvedor blockchain. Gostaria de agradecer aos nossos dois colaboradores que desenvolveram este estudos, Caio Sá e Allan Azevedo.

Se gostaram, não esqueçam de compartilhar esse conhecimento com amigos pelas redes sociais para fortalecer a comunidade blockchain. Mais uma vez, obrigado e até logo 🙂 !  

Escreva um comentário

Postagens recentes

DAPP
Caio Sá

DApp – O que são aplicações descentralizadas?

Como criar novos produtos em uma internet dominada por grandes empresas que monopolizam o mercado com soluções onde o usuário é o produto ou com soluções precárias e legadas?! Leia esse blog que vamos explicar como através das DApps 🚀

Read More »
Tokens
Nathalia Gouveia

O que são Token de governança?

Pensei muito em como abordar vocês sobre o token de governança,  de certa  forma é simples compreendê-lo, basicamente esse token permite que a pessoa que

Read More »
Tokens
Nathalia Gouveia

Equity Token

Falar sobre tokenização é assunto bastante complexo por estar relacionado a tecnologias inovadoras que estão estruturadas de forma diferente da que estamos habituados. Além, da

Read More »
DeFi
Caio Sá

DeFi – O que é Uniswap?

Parem para pensar sobre como fazemos troca de ações atualmente, primeiro que precisamos esperar o mercado abrir e ele tem hora para fechar, segundo que nossos ativos ficam presos dentro de uma corretora e com as regras e restrições impostas ficamos sem liberdade de gerir aquilo que compramos. Seria possível uma mudança dessa mecânica que já convivemos a décadas? A resposta é Sim! Com DeFi isso é possível, e nesse artigo vamos explicar sobre Uniswap que é um dos principais protocolos dessa nova era das finanças descentralizadas.

Read More »
Tokens
Nathalia Gouveia

O que é Tokenização?

O Bitcoin tem diversas vantagens, como a eficiência no envio de transações sem intermediários e operações em uma rede que não pode ser manipulada, onde de fato podemos transacionar a qualquer momento sem intervenções ou burocracias. Agora será que podemos ir além do universo de pagamentos e digitalizar qualquer ativo de valor? A resposta é sim! E nesse artigo vamos explicar sobre Tokenização.

Read More »