WEB3DEV

Cover image for Aprenda Blockchain, Solidity, Contrato Inteligente e Escreva seu primeiro Contrato Inteligente no Remix.
Arnaldo Pereira Campos Junior
Arnaldo Pereira Campos Junior

Posted on

Aprenda Blockchain, Solidity, Contrato Inteligente e Escreva seu primeiro Contrato Inteligente no Remix.

O que é uma blockchain?

  • Bitcoin como o primeiro protocolo Blockchain

Você já deve ter ouvido falar de bitcoin quando se trata de Blockchain. Bitcoin foi um dos primeiros protocolos a usar essa tecnologia revolucionária chamada blockchain.

  • Livro Branco do Bitcoin

O livro branco (white paper) do Bitcoin foi criado pelo pseudônimo Satoshi Nakamoto e descreveu como o Bitcoin pode fazer transações ponto a ponto (peer-to-peer) em uma rede descentralizada. Essa rede foi alimentada por criptografia, descentralização e permitiu que as pessoas se envolvessem em finanças resistentes à censura, de maneira descentralizada devido às suas características, sobre as quais falaremos daqui a pouco.

  • Bitcoin como uma reserva digital superior

As pessoas consideraram isto uma reserva de valor digital superior, uma reserva de valor melhor do que algo como ouro, por exemplo, e é por isso que você também ouvirá as pessoas se referirem a ele como um ouro digital, similar ao ouro. Há uma quantidade escassa ou definida de bitcoin disponível no planeta, que você pode comprar e vender. Você pode ler mais sobre a visão original no livro branco abaixo;

https://bitcoin.org/bitcoin.pdf .

Blockchain como uma tecnologia emergente e introdução ao Ethereum

Algumas pessoas, porém, viram essa tecnologia e quiseram ir um pouco mais longe, e fazer ainda mais com essa tecnologia blockchain. E alguns anos depois, um homem chamado Vitalik Buterin lançou um livro branco para um novo protocolo chamado Ethereum, que usa essa mesma infraestrutura da blockchain com um recurso adicional. E em 2015, ele e vários outros cofundadores lançaram o projeto Ethereum, onde as pessoas podiam não apenas fazer transações descentralizadas, mas acordos descentralizados, organizações descentralizadas e todas essas outras formas de interagir umas com as outras sem um intermediário centralizado ou uma força governante centralizada. Basicamente, a ideia deles era pegar isso que tornava o Bitcoin tão bom e adicionar acordos descentralizados, ou contratos inteligentes. E de fato, tecnicamente, esses contratos inteligentes nem eram uma ideia nova.

Tomando todas essas ideias básicas de como a blockchain e o Ethereum foram introduzidos no mundo e como os contratos inteligentes, e os acordos descentralizados foram considerados uma das tecnologias mais revolucionárias, examinaremos uma das linguagens de programação mais populares usadas para criar e construir contratos inteligentes.

Bem-vindo ao Remix (uma ferramenta online para escrever código solidity)

Remix

Ao clicar no link acima, você será redirecionado para uma nova página da web que é o IDE (Ambiente de Desenvolvimento Integrado) para escrever o código solidity. Ambientalmente. É aqui que vamos aprender a codificar e interagir com nossos contratos inteligentes. Se você quiser, pode ir em frente e aceitar o remix de ajuda. Se você nunca esteve aqui antes, ele lhe dará um rápido passo a passo de algumas das ferramentas que o remix realmente possui, vamos ignorá-las por enquanto. O Remix é uma ferramenta tão poderosa porque possui muitos recursos que nos permitem realmente ver e interagir com nossos contratos inteligentes.

Para obter uma boa compreensão do IDE. Veremos várias coisas quando chegarmos à página da web.

alt_text

Conseguiremos perceber um ambiente de desenvolvimento como o código do Visual Studio e outros IDEs se você estiver trabalhando em projetos diferentes. Não abordaremos a estrutura de arquivos e outros detalhes do IDE, porque certamente serão esclarecidos assim que começarmos a escrever nosso primeiro contrato inteligente.

Criando seu primeiro projeto Solidity

Na seção Plug-ins de recursos, você notará diferentes plug-ins usados ​​para diferentes linguagens de programação.

alt_text

Como trabalharemos principalmente em solidity, escolheremos o plugin de solidity que está disponível lá. Mesmo se você não clicar no plug-in de solidity, ainda poderá codificar contratos inteligentes de solidity.

O lado esquerdo é onde vamos começar a realmente interagir com nosso contrato inteligente. O botão no canto superior esquerdo é nossos arquivos ou diretórios de exploração, o remix vem com alguns contratos diferentes, alguns scripts diferentes, alguns testes diferentes e dependências diferentes.

alt_text

Estaremos excluindo alguns dos arquivos, exceto a pasta de contratos e também excluindo todos os contratos inteligentes que já são fornecidos pelo Remix. Você sempre pode ler o READM.TXT para saber como escrever e trabalhar com Solidity e Remix.

Criando seu primeiro contrato inteligente no Solidity

Clique na pasta do contrato inteligente e crie um novo arquivo com extensão (.sol) para informar ao compilador que será um arquivo de solidity e vamos codificar em solidity. Você pode nomear seu arquivo como quiser.

alt_text

Escrevendo sua primeira linha em solidity

Portanto, a primeira coisa que você precisará em qualquer contrato inteligente de solidity será a versão de solidity que você usará. E isso deve estar sempre no topo do seu código de solidity.

pragma solidity 0.8.7;

0.8.7 é a versão mais estável do solidity. No entanto, se você estiver disposto a usar versões diferentes. Certifique-se de verificar a documentação de solidity aqui

https://docs.soliditylang.org/en/latest/index.html

Você também pode escrevê-lo como abaixo, para informar ao compilador quais versões serão adequadas para o contrato inteligente.

pragma solidity >=0.8.7 <=0.9.0;

Além disso, na parte superior do seu código, você sempre poderá colocar o que chamamos de identificador de licença SPDX. Isso é opcional, mas alguns compiladores sinalizarão seu aviso de que você não possui um. Isso facilita muito o licenciamento e o compartilhamento de código. Temos um link para saber mais sobre como as licenças funcionam aqui https://snyk.io/learn/what-is-a-software-license/

//SPDX-License-Identifier:MIT_

pragma solidity >=0.8.7 <=0.9.0;

Após ter escrito tudo isso, podemos ir direto para a guia do compilador, rolar para baixo e clicar em Compile, aquela pequena mudança irá acontecer.

alt_text

Assim que clicarmos no botão azul com o nome do seu contrato inteligente. Ele compilará seu contrato inteligente.

alt_text

Como não escrevemos nenhum código de solidity para nosso contrato inteligente, o compilador diz: “No Contract Compiled yet (Nenhum contrato compilado ainda)”.

Você também pode usar CMD + S para Mac e CTRL + S para Windows para salvar automaticamente seu arquivo e compilá-lo.

Para começar a definir nosso contrato, vamos escrever o seguinte código começando com a palavra CONTRACT para informar ao compilador que a próxima seção definirá o contrato.

pragma solidity >=0.8.7 <=0.9.0;

contract SimpleContract {

}

O contrato se parece com “Classe” em qualquer programação orientada a objetos.

Agora, se você clicar em salvar, verá uma marca de seleção verde no botão do compilador, o que significa que o código foi compilado com sucesso e sem erros.

alt_text

Declarando uma variável e escrevendo uma função que armazena um valor

// SPDX-License-Identifier:MIT

pragma solidity >=0.8.7 <=0.9.0;

contract SimpleContract {

uint256 favoriteNumber;

function store(uint256 _favoriteNumber) public{

favoriteNumber = _favoriteNumber

}

}

UINT256 é um tipo de dado usado em solidity para números de 256 bytes. Para obter mais informações sobre os tipos de dados usados ​​no solidity. Consulte a documentação de solidity aqui, https://docs.soliditylang.org/en/latest/index.html

A função Store é uma função muito básica que pega um argumento e o salva na variável declarada acima. A palavra Public indica que a função é pública e pode ser usada em qualquer lugar da classe.

Agora, quando clicamos em salvar. O contrato será compilado e pronto, você escreveu com sucesso seu primeiro contrato inteligente em solidity que funcionará na blockchain Ethereum.

Implantando nosso contrato inteligente em uma máquina virtual para testá-lo

Para implantar nosso contrato, vá para a guia de implantação à esquerda,

alt_text

Para Implantar nosso contrato, estaremos seguindo estes passos;

  • Selecione uma máquina virtual do ambiente

alt_text

  • Selecione uma conta das contas falsas fornecidas na conta. Quando executamos nosso contrato inteligente na VM virtual, recebemos algumas contas falsas com 100 Ethereum. É semelhante ao MetaMask para fazer transações Ethereum em tempo real.
  • Escolha o seu contrato inteligente que você acabou de escrever.
  • Aperte o botão que diz Deploy

É isso. Você acabou de implantar seu contrato inteligente em uma máquina virtual e se alguém souber o endereço fornecido para seu contrato inteligente. Eles também podem interagir com ele.

Interagindo com nosso contrato inteligente

Seu contrato inteligente aparecerá na mesma guia de implantação à esquerda abaixo assim que for implantado.

alt_text

Você encontrará sua Store de funções que escreveu em seu contrato inteligente.

Vá em frente e insira um valor e clique em Store.

alt_text

Você notará que um contrato inteligente aparece na parte inferior da página e também notará uma dedução de sua conta falsa que você escolheu anteriormente para implantar o contrato.

alt_text

O que significa que o valor que você inseriu, ou seja, 125 agora está armazenado em uma blockchain Ethereum permanentemente e nunca pode ser excluído.

Se você abrir o contrato inteligente que apareceu na parte inferior da guia de implantação, verá um botão de favoriteNumber .

Agora, armazene um novo valor novamente inserindo um valor na caixa de texto e clique no botão armazenar. Para verificar o valor, clique no botão favoriteNumber, e ele mostrará o número que você salvou na blockchain Ethereum.

alt_text

Isso é tudo o que é necessário para escrever um contrato inteligente e implantá-lo. Lembre-se, esse é o contrato inteligente mais simples para implantar em uma máquina virtual usando Remix e contas Ethereum falsas. Para mergulhar ainda mais no solidity, sempre consulte a documentação do Solidity para saber mais sobre diferentes casos de uso e usabilidade do solidity na construção de diferentes aplicativos descentralizados.

O que vem a seguir?

O próximo passo é mergulhar na programação de solidity e seus vários casos de uso com contratos inteligentes, DEFI e NFTs. A documentação do Solidity é a melhor maneira de aprender mais sobre os incríveis recursos do próprio Solidity e como implementar contratos inteligentes mais avançados e complicados.

Esse artigo foi escrito por Abdul Hussain e traduzido por Arnaldo Campos. Seu original pode ser lido Aqui.

Top comments (0)