Entendendo as ferramentas
Olá pessoal, agora que já prepararam seu ambiente com algumas configurações básicas que informei na Parte 1, vamos seguir com o significado de algumas ferramentas que podemos utilizar.
Precisamos recorrer ao auxilio dos DApps (Aplicativos descentralizados ou Decentralized Applications, em Inglês). Eles são aplicativos que são executados em uma rede descentralizada, como a blockchain, em vez de serem executados em um servidor centralizado.
Para armazenar dados e executar a lógica do aplicativo, os DApps, são construídos em cima de uma infraestrutura descentralizada, como a plataforma Ethereum e operam em uma rede peer-to-peer, onde cada nó da rede executa uma cópia do aplicativo e mantém uma cópia do banco de dados.
Algumas características dos DApps são:
- Descentralização: Os DApps não têm um único ponto de falha e não são controlados por uma única entidade. Eles operam em uma rede descentralizada de nós, onde as decisões são tomadas por consenso.
- Contratos inteligentes: Os DApps utilizam contratos inteligentes, que são programas autoexecutáveis que definem as regras e a lógica do aplicativo. Esses contratos são executados automaticamente quando as condições predefinidas são atendidas.
- Transparência e imutabilidade: As transações e as alterações feitas em um DApp são registradas em um registro público, como a blockchain, tornando as operações transparentes e verificáveis. Os dados registrados na blockchain geralmente são imutáveis, ou seja, não podem ser alterados retroativamente.
- Tokens criptográficos: Alguns DApps têm seu próprio token criptográfico, que pode ser usado para transações internas, governança ou incentivos dentro do aplicativo.
- Interoperabilidade: DApps podem interagir uns com os outros e com outros componentes da blockchain, permitindo a criação de ecossistemas complexos e interconectados.
Para essa primeira App básica de exemplo, iremos nos basear na Ethereum que é uma plataforma blockchain amplamente utilizada que permite a criação de aplicativos descentralizados (DApps) e contratos inteligentes. É suportado pela linguagem de programação Solidity, que permite desenvolver contratos inteligentes.
Além disso usaremos Truffle, que nada mais é do que uma suíte de desenvolvimento de blockchain que facilita a criação, o teste e a implantação de aplicativos blockchain. Ele oferece uma variedade de ferramentas, incluindo um ambiente de desenvolvimento, um framework de teste e um gerenciador de implantação de contrato.
Web3.js que é uma biblioteca JavaScript que permite interagir com a blockchain Ethereum. Ela fornece métodos para se conectar a um nó Ethereum, enviar transações, chamar contratos inteligentes e recuperar informações da blockchain.
Utilizaremos também a linguagem solidity, que é a linguagem de programação usada para escrever contratos inteligentes na plataforma Ethereum. Ela é semelhante ao JavaScript e oferece recursos específicos para o desenvolvimento de contratos inteligentes, como tipos de dados, estruturas de controle e acesso a funções da blockchain.
Utilizaremos Flask para simplificar a criação de uma interface de interação para nos comunicarmos com a blockchain. Flask é um framework web leve e flexível para Python. Ele foi projetado para facilitar o desenvolvimento de aplicativos web, oferecendo uma estrutura simples e intuitiva.
E também utilizaremos o Ganache, que não é de chocolate =D
O Ganache é uma ferramenta valiosa para desenvolvedores que desejam criar, testar e depurar aplicativos blockchain localmente antes de implantá-los em uma rede real. Ele ajuda a simplificar o processo de desenvolvimento, permitindo que os desenvolvedores se concentrem na lógica do aplicativo sem se preocuparem com a complexidade de uma blockchain pública.
Alguns recursos e funcionalidades do Ganache incluem:
- Rede local privada: O Ganache permite criar uma blockchain local privada, onde você tem controle total sobre os nós e contas envolvidas na rede. Isso torna mais fácil simular cenários específicos de teste e depuração.
- Contas e chaves privadas: O Ganache gera várias contas com suas próprias chaves privadas, permitindo que os desenvolvedores simulem interações com diferentes identidades na rede. Essas contas geralmente vêm pré-carregadas com ether de teste, facilitando o desenvolvimento e a realização de transações de teste.
- Ambiente de desenvolvimento amigável: O Ganache possui uma interface de usuário amigável que exibe informações sobre blocos, transações e contas da rede blockchain local. Ele também fornece ferramentas para rastrear e depurar contratos inteligentes durante o desenvolvimento.
- Velocidade e flexibilidade: Como o Ganache opera localmente, a execução das transações e a mineração de blocos ocorrem em tempo real e são muito rápidas. Isso é vantajoso para desenvolvimento e teste, onde a agilidade e a iteração rápida são cruciais.
- Integração com outras ferramentas: O Ganache pode ser facilmente integrado com outras ferramentas populares de desenvolvimento blockchain, como o Truffle (framework para desenvolvimento de contratos inteligentes) e o Metamask (extensão de navegador para interação com a blockchain Ethereum).
Já cria uma classe em Python ai que no próximo post vamos codar um pouco!
Me sigam no Instagram também enh…
Até !