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
- Acesse o REMIX IDE através desse link.
- Crie um Smart Contract com o nome de Token.sol dentro da pasta contracts:
- Cole o código abaixo no Smart Contract que acabamos de criar:
// 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;
}
}
- Clique em "Compile Token.sol":
-
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:
- Coloque os dados para Deploy, ex = Name: FernandoCoin / Symbol: FC:
-
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:
- Copie o endereço do contrato que geramos na hora do Deploy, basta clicar em "Contract Creation":
- Com o endereço do nosso contrato copiado, vamos acessar o site da Uniswap e então conectar nossa Metamask wallet:
- Selecione a opção Metamask e conclua a conexão:
- Clique no campo "Selecione um token" e cole o endereço do nosso contrato:
- Clique em importar, após finalizar a importação nós concluimos esse tutorial.
Obrigado pela sua atenção, sinta-se a vontade para entrar em contato caso esteja com alguma dúvida ou para dar feedback.
Linkedin: Fernando Pinto
Email: fernando-p_@outlook.com