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)
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.
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.
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.
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.
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.
Assim que clicarmos no botão azul com o nome do seu contrato inteligente. Ele compilará seu contrato inteligente.
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.
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,
Para Implantar nosso contrato, estaremos seguindo estes passos;
- Selecione uma máquina virtual do ambiente
- 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.
Você encontrará sua Store de funções que escreveu em seu contrato inteligente.
Vá em frente e insira um valor e clique em Store.
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.
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.
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.
Oldest comments (0)