Coder Social home page Coder Social logo

coin-build's Introduction

Criação de Criptomoeda

coin-build

Objetivo

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

Compilar Smart Contract

  • Acesse o REMIX IDE através desse link.
  • Crie um Smart Contract com o nome de Token.sol dentro da pasta contracts:

image

  • 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":

image

Configurar o Metamask

  • 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:

image

2º Passo: Copie o seu endereço:

image

3º Passo: Acesse o site Kovan Faucet, coloque seu endereço e clique em "Send request":

image

Deploy do Smart Contract

  • 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:

image

  • Coloque os dados para Deploy, ex = Name: FernandoCoin / Symbol: FC:

image

  • 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:

image

  • Copie o endereço do contrato que geramos na hora do Deploy, basta clicar em "Contract Creation":

image

image

Listar a criptomoeda em uma exchange (DEX)

  • Com o endereço do nosso contrato copiado, vamos acessar o site da Uniswap e então conectar nossa Metamask wallet:

image

  • Selecione a opção Metamask e conclua a conexão:

image

  • Clique no campo "Selecione um token" e cole o endereço do nosso contrato:

image

image

  • 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: [email protected]

coin-build's People

Watchers

Fernando da Silva Pinto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.