Executando verificação de segurança...
1

Como funciona a criação de uma criptomoeda?

Oi,

hoje, enquanto escrevo esse texto, o hype do momento são as Inteligências artificiais e suas várias integrações e possibilidades. Então por que falar sobre blockchain logo agora?

Bom, como toda tecnologia, blockchain teve seu Hype e hoje se encontra com um ritmo de 'avanço' geral mais linear, e na minha opinião, ainda não chegou em um nível de maturação alto pois não validamos cenários de uso o suficiente. Criptomoedas e metaversos são só o começo, e como fui muito ajudado por essa comunidade, quero deixar vocês munidos com uma base sólida sobre blockchain para caso ela esteja novamente no hype, vocês surfem essa onda.


Requisitos

1. Uma conta na metamask (ou wallet da sua preferência)
2. Tokens em uma rede de testes (Goerli, Sepoia, etc..)
3. Vontade de aprender

Como exemplo, vou usar a criação de uma criptomoeda na prática mesmo. Pra começar, você vai precisar entender esses três conceitos:

1. rede (chain) 
2. criptmoeda != token
3. smart contract
  1. Basicamente, a rede seria o sistema que suporta a interação entre seus smart contracts e tokens, essenciais para a coisa toda funcionar do jeito que é. Algumas das redes que temos hoje é a Bitcoin, Ethereum, Binance, Polygon, etc..
  2. Criptomoeda é a 'moeda mãe' da rede, ou seja, sempre que você transacionar algum token dentro da Rede Ethereum, vai pagar as taxas em ETH. Se transacionar algum token dentro da Binance, vai pagar em BNB e assim por diante.
  3. A criação desses tokens é feita por meio de smart contracts, pedaços de software que guardam funções, variáveis e regras de negócio específicas daquele ativo, como quantos tokens forem gerados no momento do deploy desse contrato, qual o nome dele, funções de outros contratos por meio de interfaces, etc...

Sacou? Entendendo minimamente esses pontos, podemos prosseguir. Pra começar a criação da criptomoeda precisamos utilizar uma linguagem como a Solidity e um ambiente específico para isso, como Truffle ou HardHat. Mas como meu objetivo aqui é ser prático, vamos de Remix hoje :)

O Remix é um ambiente na web, então não vai precisar instalar nem configurar nada, só precisa entender uma coisa: programar pra blockchain exige uma outra forma de pensar, pois depois de fazer o deploy do contrato, não tem volta, pois ele é imutável.

Desenvolvendo o Smart Contract

Pra começar, vamos utilizar o contrato base padrão para criação de tokens na rede Ethereum, o ERC20. Você pode conferir esse e outros padrões no OpenZeppelin

A base de início ficaria assim:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract Henricoin is ERC20 {
    constructor() ERC20("Henricoin", "HRC") {
        _mint(msg.sender, 1000000 * 10 ** decimals());
    }
}

pragma solidity indica a versão do Solidy utilizada no contrato
import funciona da mesma forma que em outras linguagens, porém aqui, estamos importando de um repo remoto (se estiver criando com Truffle, instale o package com os contratos do openZappellin)
contract Henricoin is ERC20 é o mesmo que contract <nomeDoContrato> is <ExtensãoDaqueleContrato>
contructor() função que roda assim que o contrato é 'deployado', e nesse caso, ele ta inicializando o ERC20 e rodando a função _mint, que cria uma quantidade inicial de tokens disponíveis na rede (um dos fatores de valorização dos tokens: escassez)

Ta, mas onde ta as funções de transferência, consultar saldo e essas paradas?

Uma ótima pergunta. Assim como na programação orientada a objetos, o seu contrato pode ser 'extendido' e possuir os atributos da extensão. Exemplo: Henricoin is ERC20, ERC20Burnable, Ownable. Logo, você pode acessar as funções de transfer, balance, etc por meio das funções que já existem no ERC20.

Hora do deploy

Com tudo pronto chegou a hora de fazer o deploy e pôr a sua cripmoeda oficialmente no ar. Pra isso:

  • Compile o seu contrato atual com ctrl+s ou vá no terceiro item da sidebar e clique em Compile.
  • Se o compilador não acusar nenhum erro, confira se você está na rede certa do Metamask
  • E se possui tokens nela (caso não tenha tokens de teste, use faucets como esse pra conseguir).
  • Clique no quarto item da sidebar, em Enviroment selecione Injected Provider
  • E finalmente, clique em Deploy

Agora sua transação será disparada e em breve, ali no terminal do Remix, vai aparecer algumas infos e o endereço do seu contrato na Etherscan.


Para interagir com as funções, você teria que verificar o contrato via Truffle ou Hardhat, integrar esse smart contract com algum frontend pra disparar os eventos etc etc MASSS podemos usar a própria interface do Etherscan pra isso.

E como é um processo relativamente simples, deixo você com esse artigo listando TODAS as possibilidades de verificação de contrato, ficando a seu critério qual é o melhor.

Espero ter fornecido uma boa base sobre blockchain e com sorte, inspirado um ou outro a se aprofundar mais ainda na tecnologia. Agradeço pelo seu tempo e nos vemos em breve,

tchau!!

Carregando publicação patrocinada...