paint-brush
Como se tornar um desenvolvedor Web3por@colina
4,180 leituras
4,180 leituras

Como se tornar um desenvolvedor Web3

por ChainSafe Systems8m2022/06/09
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

Web3 é uma visão para a internet onde os usuários têm mais escolha, controle e propriedade. É um novo paradigma tecno-social em que os dados podem ser registrados em blockchains, tokenizados ou gerenciados e acessados em redes ponto a ponto descentralizadas, de código aberto. Os salários do desenvolvedor Web3 são atraentes e a oportunidade de causar impacto é incomparável. Reunimos os melhores recursos em um guia simples e imparcial para iniciantes para se tornar um desenvolvedor web3.

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coins Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Como se tornar um desenvolvedor Web3
ChainSafe Systems HackerNoon profile picture

Web3 é uma visão para a internet onde os usuários têm mais escolha, controle e propriedade.

É um novo paradigma tecno-social em que os dados podem ser registrados em blockchains, tokenizados ou gerenciados e acessados ​​em redes ponto a ponto descentralizadas, de código aberto.

O movimento criptográfico está atraindo muitos desenvolvedores e é fácil entender o porquê. Os salários do desenvolvedor Web3 são atraentes e a oportunidade de causar impacto é incomparável. Interessado em aderir?

Reunimos os melhores recursos em um guia simples e imparcial para iniciantes. Vamos mergulhar!

Fonte: BlockWorks

Roteiro do Desenvolvedor Web3

Você pode seguir caminhos diferentes para se tornar um desenvolvedor web3 e, portanto, não há uma sequência exata de etapas a seguir.

Também há muita informação para digerir, portanto, para evitar ficar sobrecarregado, é melhor levar as coisas aos poucos. Aqui está a aparência do menu básico.

Habilidades do Desenvolvedor Web3 — Fundação

O Web3 não tem permissão – não há barreiras de entrada. Qualquer pessoa motivada pode aprender a programar. 

Deve-se notar, no entanto, que aptidão matemática, habilidades analíticas e capacidade de resolver problemas de forma criativa podem lhe dar uma vantagem.

Para trabalhar no espaço, você precisará conhecer estruturas de dados e algoritmos. Você deve conhecer os fundamentos da programação e da tecnologia blockchain.

Se você for um iniciante absoluto, recomendamos começar com esta Introdução à Ciência da Computação .

Fundamentos do Desenvolvedor Web3

Blockchain

O termo “blockchain” abrange uma ampla gama de inovações relacionadas que afetam muitos aspectos diferentes da sociedade. Mas, resumindo, um blockchain é um banco de dados descentralizado governado por seus usuários.

Se você é um novato, aqui está uma ótima introdução ao Blockchain e um glossário para entender a terminologia. O Bitcoin é o primeiro e mais famoso blockchain, então ler o whitepaper do Bitcoin é o primeiro passo.

Também existem bons explicadores que tornam o whitepaper do Bitcoin mais acessível para iniciantes.

Depois disso, você precisará obter uma visão geral do Ethereum , o blockchain programável. Para um contexto geral, outros bons lugares para começar são canais do YouTube como Andreas Antonoplous ou Whiteboard Crypto .

Para mais detalhes: faça este curso gratuito de 8 módulos de Patrick McCorry, o primeiro Ph.D. do Reino Unido. pós-graduação em criptomoeda.

Criptografia

Como os blockchains operam com um modelo de rede ponto a ponto descentralizado, não há um único servidor ou nó. Nesse contexto, um nó é um software em um computador conectado a uma rede que fornece uma cópia das alterações atuais e históricas para um registro distribuído.

Embora os nós da blockchain não precisem necessariamente confiar uns nos outros, o sistema deve proteger as informações da transação. Insira a criptografia — um ingrediente essencial para proteger as informações da transação e garantir a consistência dos dados.

Blockchains dependem de criptografia, então vale a pena se familiarizar com alguns conceitos fundamentais.

Isso significa conhecer os fundamentos da criptografia assimétrica e suas aplicações, incluindo algoritmos de assinatura, geração de par de chaves público-privado, etc. Comece com esta visão geral ou sites como The Joy of Cryptography .

Tokenômica

Tokenomics é outro aspecto importante a ser entendido, pois muitos aplicativos na web3 são alimentados por tokens. E para entender o tokennomics, primeiro você precisa entender o dinheiro. A maneira mais rápida de fazer isso é ler Uma Breve História do Dinheiro .

Fonte: Nakamoto

Agora, podemos chegar onde o valor e a tecnologia se cruzam — uma Introdução à Internet do Valor . Para obter mais contexto, confira Tokenomics 101 , um guia para iniciantes sobre finanças descentralizadas (DeFi) e associe-o a Why Web3 Matters .

Embora esses recursos sejam destinados a ajudar, o pensamento independente é fundamental. Não confie apenas em fontes secundárias.

Em vez disso, baixe o MetaMask , junte-se a uma organização autônoma descentralizada (DAO), experimente o Files e explore por meio de plataformas como Rabbit Hole . Use a tecnologia e forme suas próprias opiniões.

Escolha seu caminho de desenvolvimento Blockchain

Não existe uma abordagem única para se tornar um desenvolvedor de blockchain. Você pode se tornar um desenvolvedor de back-end, desenvolvedor de front-end ou ambos. Você também pode trabalhar na camada de protocolo ou focar apenas em contratos inteligentes.

Claro, dentro de cada categoria, há muita variação. Você pode trabalhar em pesquisa de blockchain, desenvolvendo especificações, algoritmos, design de tokennomics ou ferramentas.

Você pode se concentrar em ambientes de desenvolvimento integrados, estruturas, bibliotecas e middleware, ou gastar seu tempo na camada de aplicativos, trabalhando em contratos inteligentes, desenvolvimento de UX/UI, design, etc.

Para a maioria, construir um aplicativo será o caminho de menor resistência. Você também pode decidir se concentrar exclusivamente em escrever contratos inteligentes e pular todo o aprendizado necessário para ser um desenvolvedor web full-stack.

Trabalhar na camada de protocolo envolve entender as especificações de um determinado blockchain e contribuir para uma implementação.

A infraestrutura é uma parte crítica de qualquer rede descentralizada. De fato, sem desenvolvedores de protocolo (núcleo), não há blockchain.

A ChainSafe está atualmente construindo implementações para Ethereum , Filecoin , Mina e Polkadot, e apoiamos fortemente qualquer um que siga esse caminho.

Linguagens de programação

Independentemente da direção escolhida, você precisará aprender algumas das linguagens de programação usadas no web3. Existem muitas opções, mas algumas das mais populares incluem Solidity, TypeScript, JavaScript, Python, Go e Rust.

Também é importante lembrar que se tornar um desenvolvedor blockchain não significa largar tudo o que veio antes. Nesse sentido, os três grandes são HTML, CSS e JavaScript.

Além disso, decida se deseja se concentrar no front-end ou no back-end. Se você é especialista em desenvolvimento front-end, vai querer aprender frameworks como React, Vue, Angular ou Sauron .

Esses são os fundamentos necessários para construir o front-end de um aplicativo descentralizado (dApp). DApps são aplicativos construídos em um blockchain com um front-end padrão e um back-end no blockchain.

Se você quiser se concentrar no back-end, vai querer aprender Rust, Go ou Solidity. Aqui estão alguns tutoriais para você começar:

HTML e CSS
Java
Roteiro

Reagir

Vue

Angular
Ferrugem

Vai

Desenvolvedor DApp

Desenvolvimento front-end

O front-end de um dApp é construído com algumas das estruturas mencionadas acima. Os dApps populares incluem coisas como Uniswap, Aave, Augar, Foundation, Wormhole, etc.

A principal coisa a saber sobre os dApps é que eles estão (em teoria) fora do alcance de uma única autoridade ou entidade porque são executados no blockchain.

Para entender como o front-end e o back-end de um dApp interagem, você precisa entender o desenvolvimento de front-end e os princípios básicos do desenvolvimento de back-end padrão.

Confira: O Roteiro Completo de Desenvolvimento Front-end .

Com o básico definido, você terá que decidir em qual ecossistema deseja se concentrar. Cada ecossistema tem características únicas e compensações diferentes . Ethereum tem a maior atividade, mentalidade de desenvolvedor e dApps de produção existentes.

Para começar com o Ethereum, você provavelmente desejará usar o Truffle , uma estrutura de desenvolvimento popular. Isso simplificará o processo e ajudará você a evitar erros comuns ao criar seus próprios projetos. Aqui está um tutorial amigável para iniciantes para isso.

Desenvolvimento de back-end

O back-end de um dApp não é o mesmo que um back-end “padrão”.

A primeira diferença é que, com um dApp, o blockchain é a principal fonte do estado dos dados armazenados versus os bancos de dados ou armazenamento de objetos que os back-ends padrão normalmente usam.

Embora os objetivos técnicos sejam semelhantes, geralmente não é recomendado mergulhar no back-end sem ter uma orientação firme no desenvolvimento da web tradicional.

No entanto, se você quiser seguir em frente, aprender o desenvolvimento de back-end significa conectar bancos de dados, criar suas próprias APIs REST, construir a lógica de negócios que alimentará suas ferramentas, etc.

Para o back-end, aqui está sua lista de tarefas: Aprenda Node , Express , HTTP , como desenvolver APIs e comece a implantar aplicativos.

Francesco Ciulla Twitter

Desenvolvedor de contrato inteligente

Contratos inteligentes são scripts programáveis ​​implantados em um blockchain para executar operações lógicas sem confiança em uma máquina virtual.

Escrito em Solidity , Vyper , DAML ou outra linguagem, os contratos inteligentes permitem que aplicativos descentralizados aproveitem a segurança criptoeconômica de um blockchain, a integridade dos dados históricos e a confiabilidade do uso não autorizado, ao mesmo tempo em que são acessíveis abertamente a qualquer pessoa para verificação e análise de dados.

Solidity é a linguagem de contrato inteligente mais popular. O Solidity é tipado e compilado estaticamente, o que significa que você precisa gerar um binário antes de executar. ​​O Solidity tem uma ótima documentação e é semelhante ao JavaScript em termos de tempo necessário para aprender.

Para aprender Solidity, aqui está outro recurso . E lembre-se, você não terá ideia do que está fazendo, e tudo bem, porque ninguém sabe no começo.

Antes de escrever qualquer código, você terá que definir seu ambiente de desenvolvimento. Isso significa que o Remix IDE , uma ferramenta popular para escrever, compilar e implantar contratos, ou ferramentas como Hardhat e Brownie também podem ser úteis quando um ambiente de desenvolvimento local é necessário.

E nenhuma introdução ao desenvolvimento web3 estaria completa sem o Speed ​​run Ethereum , que é um ótimo lugar para começar a juntar algumas das peças.

Para saber mais sobre o processo do começo ao fim, incluindo como usar os frameworks mencionados acima, comece aqui .

Também vale a pena mencionar que não é necessário codificar do zero no início. Você vai querer aprender como cobrir necessidades específicas e implementar regras automatizadas adequadas com o tempo.

Mas existem muitos modelos de contratos inteligentes que os iniciantes podem usar. OpenZeppelin é um lugar para encontrar bibliotecas testadas em batalha de contratos inteligentes. Existem muitos outros.

Desenvolvedor de protocolo

O desenvolvimento do protocolo envolve a codificação em sistemas de software das regras que governam como um determinado blockchain deve se comportar.

Os protocolos geralmente são organizados em camadas, por exemplo, as camadas OSI para redes. Isso permite um acoplamento fácil e a capacidade de desenvolver as camadas simultaneamente.

Essa abordagem em camadas também foi adotada em muitos sistemas populares de blockchain. Isso inclui blockchains de camada um (L1), as redes básicas para o componente mais essencial de um blockchain: consenso, que serve como rede básica para o sistema e fornece coisas como garantias de segurança.

Fonte: Gêmeos

E camada dois (L2) — protocolos secundários construídos em um L1 que ajudam com coisas como dimensionamento, taxas e velocidades de transação. Os L2s são construídos em cima de uma rede L1 para herdar as garantias de segurança da camada base enquanto movem a computação pesada para outra cadeia.

Algumas blockchains também possuem o conceito de camada 0, por exemplo, Polkadot . Em outros casos, a camada zero também pode se referir ao consenso social.

Para começar como desenvolvedor de protocolo, você precisa identificar para qual ecossistema deseja contribuir e em qual camada. Um bom primeiro passo é olhar para as próximas propostas de especificação do seu blockchain escolhido para entender para onde o desenvolvimento está indo.

Esses detalhes geralmente são especificados em papéis amarelos ou documentos de especificação. Alguns exemplos são Polkadot , Ethereum e Filecoin .

Dado que os blockchains mais populares são de código aberto, também é possível olhar o código para ter uma ideia de como o protocolo é implementado. Reserve algum tempo para examinar e verificar os problemas abertos e fechados em relação às implementações do protocolo.

Observe que o desenvolvimento de protocolo também inclui a infraestrutura construída em torno das diferentes camadas, por exemplo, pontes (como ChainBridge ) ou exploradores de blocos como o Beacon chain explorer . Este é outro caminho de desenvolvimento em nível de protocolo que você pode seguir.

Como se tornar um desenvolvedor Web3 — Considerações finais

O ritmo da criptografia torna impossível para qualquer um se manter atualizado por conta própria.

É por isso que a comunidade é importante. Aspirantes a desenvolvedores web3 precisam encontrar espaços para aprender e ajudar os outros a aprender. Algumas coisas que você pode fazer:

1. Rede no Twitter
2. Junte-se a uma guilda pública
3. Participe de hackathons
4. Contribua para projetos de código aberto
5. Envolva-se no Discord

Também é importante colocar a mão na massa. Mergulhar no Devpost é uma maneira de começar.

Outra maneira é criar um dApp de lista branca a partir da faixa do segundo ano do LearnWeb3 DAO, criar seu primeiro mercado NFT, aplicativo ou jogo baseado em blockchain com BuildSpace ou encontrar inspiração em alguns dos recursos abaixo.

Se há uma conclusão de tudo isso, é que a ação é a coisa mais importante . Apesar de todas as teorias, não há melhor maneira de aprender do que fazendo. Aprender a codificar não é difícil.

É a aplicação do conhecimento que é um desafio. E a verdadeira educação começa quando você constrói seu primeiro projeto.

Recursos educacionais

Universidade Web3
Consensys Bootcamp

DappUniversit
y
EatTheBlocks

Bootcamps Chainlink

Useweb3

DesenvolvedorDAO

Trabalhos de Desenvolvedor Web3

Carreiras em Criptomoedas
Lista de trabalhos criptográficos

Trabalhos de criptomoeda

Pomp Crypto
Trabalhos
Crypto.jobs
empregos sem banco


A ChainSafe também procura pessoas talentosas e apaixonadas! Se você estiver interessado, confira nossas vagas em aberto e entre em contato pelo e- mail ➡️➡️ [email protected] .