Introdução
Neste tutorial, vamos explorar como construir aplicações descentralizadas (DApps) utilizando a blockchain da Fantom, que é conhecida por sua alta performance e velocidade. A Fantom foi projetada para resolver problemas de escalabilidade e custo de transação de maneira eficiente. Vamos nos concentrar nas ferramentas modernas, como o Hardhat para desenvolvimento e testes de contratos inteligentes, e o Remix, um ambiente de desenvolvimento online que facilita a edição e a implementação de smart contracts em Solidity. Este guia é ideal para desenvolvedores que desejam aproveitar a infraestrutura da Fantom para criar DApps escaláveis e de baixo custo, com um entendimento claro do ciclo de desenvolvimento completo, incluindo os testes unitários necessários para garantir a robustez da aplicação.
Etapas
Configuração do Ambiente
Para começar, certifique-se de ter o Node.js instalado em sua máquina. Você pode baixar a versão mais recente em https:/odejs.org/. Após a instalação, verifique a versão usando o comando `node -v` e `npm -v`.
commands# Verificar versões instaladas
node -v
npm -vCriando um Novo Projeto Hardhat
No terminal, crie um novo diretório para seu projeto e inicialize o Hardhat. Siga as instruções no console e escolha a opção para um projeto básico.
commands# Criar diretório do projeto
mkdir meu-dapp-fantom
cd meu-dapp-fantom
# Inicializar Hardhat
npx hardhatInstalar Dependências Necessárias
Depois de criar o projeto, instale as dependências necessárias, incluindo o `@nomiclabs/hardhat-ethers` e o `ethers` que são úteis para interagir com a blockchain.
commands# Instalar dependências necessárias
npm install --save-dev @nomiclabs/hardhat-ethers ethersCriação do Contrato Inteligente
Crie um arquivo chamado `SimpleStorage.sol` na pasta `contracts`. Este contrato irá armazenar um número inteiro e proporcionar métodos para definir e obter o valor.
SimpleStorage.sol// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract SimpleStorage { uint256 storedData; function set(uint256 x) public { storedData = x; } function get() public view returns (uint256) { return storedData; } }
Configuração da Rede Fantom no Hardhat
Para interagir com a rede Fantom, configure o arquivo `hardhat.config.js`. Adicione a rede Fantom Testnet usando a configuração apropriada.
hardhat.config.jsrequire('@nomiclabs/hardhat-ethers'); module.exports = { solidity: "0.8.0", networks: { fantom: { url: 'https://rpc.testnet.fantom.network/', accounts: ['<PRIVATE_KEY>'] // Substitua pelo seu chave privada } } };
Implementando o Script de Deploy
Crie um script de implantação para o contrato inteligente na pasta `scripts`. O script irá implantar seu contrato na rede Fantom Testnet.
deploy.jsasync function main() { const SimpleStorage = await ethers.getContractFactory("SimpleStorage"); const storage = await SimpleStorage.deploy(); await storage.deployed(); console.log("Contrato implantado na: ", storage.address); } main().catch((error) => { console.error(error); process.exitCode = 1; });
Executando o Deploy do Contrato
Agora, você está pronto para implantar seu contrato na rede. Execute o seguinte comando no terminal. Certifique-se de substituir <PRIVATE_KEY> pela sua chave privada.
commands# Executar script de deploy
npx hardhat run scripts/deploy.js --network fantomInteragindo com o Contrato Usando Remix
Acesse o Remix IDE em https://remix.ethereum.org/. Importe seu contrato AIde a UI do Remix para interagir com o contrato implantado. Use o endereço do contrato para chamá-lo na interface do Remix.
commands# Acesse Remix e crie um novo arquivo com o mesmo nome do contrato
// Copie e cole o código do contrato aqui. # Uma vez compilado, conecte a rede Fantom e use o endereço do contrato implantado.Testes do Contrato
Usando o Hardhat, crie testes para assegurar que seu contrato funciona como esperado. Crie um arquivo `test/SimpleStorage.test.js` e escreva testes para verificar as funcionalidades do contrato.
SimpleStorage.test.jsconst { expect } = require('chai'); const { ethers } = require('hardhat'); describe('SimpleStorage', function () { it('Deve armazenar e retornar um número', async function () { const SimpleStorage = await ethers.getContractFactory('SimpleStorage'); const storage = await SimpleStorage.deploy(); await storage.deployed(); await storage.set(42); expect(await storage.get()).to.equal(42); }); });
Executando os Testes
Agora, execute os testes que você escreveu para garantir que seu contrato funciona corretamente.
commands# Executar testes
npx hardhat test
Conclusão
Neste tutorial, você aprendeu como criar uma aplicação descentralizada na rede Fantom utilizando o Hardhat e o Remix. Passamos pela configuração inicial, criação de um contrato inteligente simples, implantação na rede e realização de testes para garantir a funcionalidade do seu código. Com esses conhecimentos, você está apto a desenvolver DApps escaláveis e de alta performance na blockchain da Fantom, podendo expandir suas ideias e criar soluções inovadoras nesse ecossistema emergente. Não se esqueça de explorar mais sobre as soluções que a Fantom oferece e as possibilidades que ela abre para a construção de DApps no futuro.