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?
- Transparência: Usuários podem ver o código por trás do seu contrato.
- Confiança: Contratos verificados têm mais probabilidade de serem confiáveis pelos usuários.
- 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!