Vamos criar uma criptomoeda do zero, tudo feito no browser através do REMIX IDE, Metamask e por fim vamos lançar nossa criptomoeda na exchange Uniswap.
O tutorial será dividido em 4 partes
Compilar o Smart Contract
Configurar o Metamask
Deploy do Smart Contract
Listar a criptomoeda em uma exchange
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.6;
contract Token {
string public name;
string public symbol;
uint256 public decimals;
uint256 public totalSupply;
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
constructor(string memory _name, string memory _symbol, uint _decimals, uint _totalSupply) {
name = _name;
symbol = _symbol;
decimals = _decimals;
totalSupply = _totalSupply;
balanceOf[msg.sender] = totalSupply;
}
function transfer(address _to, uint256 _value) external returns (bool success) {
require(balanceOf[msg.sender] >= _value);
_transfer(msg.sender, _to, _value);
return true;
}
function _transfer(address _from, address _to, uint256 _value) internal {
require(_to != address(0));
balanceOf[_from] = balanceOf[_from] - (_value);
balanceOf[_to] = balanceOf[_to] + (_value);
emit Transfer(_from, _to, _value);
}
function approve(address _spender, uint256 _value) external returns (bool) {
require(_spender != address(0));
allowance[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
function transferFrom(address _from, address _to, uint256 _value) external returns (bool) {
require(_value <= balanceOf[_from]);
require(_value <= allowance[_from][msg.sender]);
allowance[_from][msg.sender] = allowance[_from][msg.sender] - (_value);
_transfer(_from, _to, _value);
return true;
}
}
Precisamos entrar na nossa wallet do Metamask, instale a extensão do Metamask através desse link.
Caso não tenha nenhuma wallet, crie uma nova.
Agora vamos colocar eth da testnet na nossa wallet, para isso siga os passos abaixo:
1º Passo: Conecte sua wallet na testnet Kovan:
2º Passo: Copie o seu endereço:
3º Passo: Acesse o site Kovan Faucet, coloque seu endereço e clique em “Send request”:
Voltando ao IDE REMIX, selecione a opção Deploy and run Transactions:
Mude o campo “Environment” para injected Web3, caso dê erro tente atualizar a página, compilar novamente e então você deve chegar a essa configuração:
Clique em “transact”, e então confirme a transação no Metamask.
Para consultar o endereço do contrato e todas as transações que fizemos, entre no site TESTNET Kovan e coloque o endereço da sua wallet:
Linkedin: Fernando Pinto
Email: fernando-p_@outlook.com