SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
01.12.2024

Lição 193: Verificando Contratos no Etherscan

Verificar seu contrato inteligente no Etherscan garante maior transparência e confiança dentro da comunidade Ethereum. Isso permite que outros leiam e interajam facilmente com o código do seu contrato. Nesta lição, discutiremos os passos para verificar seu contrato usando o Etherscan, juntamente com exemplos de código para demonstrar o processo.

Por que Verificar Seu Contrato Inteligente?

  1. Transparência: Usuários podem ver o código por trás do seu contrato.
  2. Confiança: Contratos verificados têm mais probabilidade de serem confiáveis pelos usuários.
  3. Interatividade: Usuários podem interagir com seu contrato diretamente através do Etherscan, aumentando a usabilidade.

Passos para Verificar Seu Contrato no Etherscan

1. Compile Seu Contrato

Primeiro, certifique-se de que seu contrato inteligente está compilado. Você pode usar Remix, Truffle ou Hardhat para isso. Este passo é crucial, pois você precisará do bytecode compilado e da ABI para verificar o contrato.

Exemplo de Contrato

Vamos considerar um simples contrato de token ERC20:

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

contract SimpleToken {
    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 public totalSupply;
    mapping(address => uint256) public balanceOf;

    constructor(string memory _name, string memory _symbol, uint256 _totalSupply) {
        name = _name;
        symbol = _symbol;
        decimals = 18;
        totalSupply = _totalSupply * (10 ** uint256(decimals));
        balanceOf[msg.sender] = totalSupply;
    }

    function transfer(address _to, uint256 _value) public returns (bool success) {
        require(balanceOf[msg.sender] >= _value, "Saldo insuficiente");
        balanceOf[msg.sender] -= _value;
        balanceOf[_to] += _value;
        return true;
    }
}

2. Envie Seu Contrato

Uma vez que seu contrato esteja pronto, envie-o para a rede Ethereum. Você pode usar plataformas como Remix ou frameworks como Hardhat para a implementação. Após enviar, você receberá um hash de transação que poderá acompanhar no Etherscan.

3. Coletar Informações Necessárias

Antes de verificar seu contrato no Etherscan, reúna as seguintes informações:

  • Endereço do contrato
  • Versão do compilador (ex.: v0.8.0)
  • Código-fonte Solidity do contrato
  • ABI (Interface Binária de Aplicação)

4. Navegue até o Etherscan

Acesse Etherscan e procure o endereço do seu contrato na barra de pesquisa. Clique sobre o endereço do contrato nos resultados.

5. Clique em "Verificar e Publicar"

Na página do contrato, você verá uma opção para "Verificar e Publicar". Clique nesta opção para iniciar o processo de verificação.

6. Preencha o Formulário de Verificação

Você precisará fornecer os seguintes detalhes:

  • Tipo de Compilador: Selecione "Solidity".
  • Versão do Compilador: Especifique a versão que você usou para compilar seu contrato.
  • Otimização: Indique se você habilitou otimizações durante a compilação.
  • Código Fonte: Cole o código do seu contrato inteligente.

Exemplo de Envio

Assumindo que você compilou com a otimização desabilitada, seu formulário do Etherscan ficará assim:

  • Tipo de Compilador: Solidity
  • Versão do Compilador: v0.8.0
  • Otimização: Não
  • Código Fonte: (Insira o código do seu contrato aqui)

7. Envie e Aguarde a Verificação

Após preencher tudo, clique no botão “Verificar e Publicar”. O Etherscan irá compilar seu código e compará-lo com o bytecode enviado. Se tudo corresponder, seu contrato será verificado!

8. Confirmação

Uma vez verificado, você verá opções para interagir com seu contrato, incluindo funções de leitura e escrita diretamente através do Etherscan.

Conclusão

Verificar seu contrato no Etherscan é um processo simples que melhora significativamente a confiança e usabilidade dos seus contratos inteligentes. Seguindo os passos descritos nesta lição, você pode garantir que seu contrato seja transparente e acessível aos usuários no ecossistema Ethereum. Boa implementação e verificação!

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!