No Remix, implante um contrato ou execute uma transação.
Vá para a lista de transações (na guia Deploy & Run
) e clique no ícone “bug” próximo à transação na qual você está interessado. Isso iniciará o Depurador.
Quando estiver dentro do depurador:
Navegação: Use os controles de etapas para navegar por cada operação da sua transação. Você pode passar por cima, entrar ou sair das funções e pular para uma etapa específica.
Painel de detalhes: Este painel mostrará detalhes do opcode, a etapa de execução atual e outros detalhes relevantes.
Solidity Locals: Exibe as variáveis locais do Solidity e seus valores atuais.
Estado: Mostra as alterações de estado do contrato. É um ótimo lugar para identificar mudanças inesperadas, que podem causar taxas de gás mais altas.
Pilha de chamadas: ilustra a pilha de chamadas de função atual. Útil para compreender o contexto de execução atual.
Alterações de armazenamento: destaca alterações no armazenamento durante a execução. Útil para identificar áreas potenciais de otimização de gás.
O depurador não serve apenas para corrigir bugs; também é uma excelente ferramenta para traçar o perfil do uso de gás do seu contrato. Veja como você pode tirar o máximo proveito disso:
Identifique etapas com alto consumo de gás: conforme você avança no código, monitore o uso de gás em cada etapa. Etapas de gás elevadas podem ser alvos de otimização.
Monitore as ações de armazenamento: alterações excessivas no armazenamento, especialmente aquelas que não delete
, podem consumir muita gasolina.
Chamadas de Função: Chamadas de função externas, especialmente para outros contratos, podem ser caras. Certifique-se de que eles são necessários.
Vamos usar o Remix Debugger com um contrato simples:
Solidez
pragma solidez ^0,8,9;
contratos GasProfiler {
uint256 contagem pública;
função setCount(uint256 _count) public {
for (uint256 i = 0; i < _count; i++) {
count += i;
}
}
}
Implante e interaja com o contrato no Remix.
Use o depurador na função setCount
e identifique as operações com uso intensivo de gás. Aqui, a operação em loop consumirá mais gás à medida que _count
aumenta.
Compreender e aproveitar ao máximo o Remix Debugger é uma habilidade que não apenas ajudará no diagnóstico de problemas, mas também no refinamento do seu contrato para ser eficiente em termos de gás. Ao percorrer seu código, você pode detectar ineficiências que podem não ser aparentes em um nível superior.
No Remix, implante um contrato ou execute uma transação.
Vá para a lista de transações (na guia Deploy & Run
) e clique no ícone “bug” próximo à transação na qual você está interessado. Isso iniciará o Depurador.
Quando estiver dentro do depurador:
Navegação: Use os controles de etapas para navegar por cada operação da sua transação. Você pode passar por cima, entrar ou sair das funções e pular para uma etapa específica.
Painel de detalhes: Este painel mostrará detalhes do opcode, a etapa de execução atual e outros detalhes relevantes.
Solidity Locals: Exibe as variáveis locais do Solidity e seus valores atuais.
Estado: Mostra as alterações de estado do contrato. É um ótimo lugar para identificar mudanças inesperadas, que podem causar taxas de gás mais altas.
Pilha de chamadas: ilustra a pilha de chamadas de função atual. Útil para compreender o contexto de execução atual.
Alterações de armazenamento: destaca alterações no armazenamento durante a execução. Útil para identificar áreas potenciais de otimização de gás.
O depurador não serve apenas para corrigir bugs; também é uma excelente ferramenta para traçar o perfil do uso de gás do seu contrato. Veja como você pode tirar o máximo proveito disso:
Identifique etapas com alto consumo de gás: conforme você avança no código, monitore o uso de gás em cada etapa. Etapas de gás elevadas podem ser alvos de otimização.
Monitore as ações de armazenamento: alterações excessivas no armazenamento, especialmente aquelas que não delete
, podem consumir muita gasolina.
Chamadas de Função: Chamadas de função externas, especialmente para outros contratos, podem ser caras. Certifique-se de que eles são necessários.
Vamos usar o Remix Debugger com um contrato simples:
Solidez
pragma solidez ^0,8,9;
contratos GasProfiler {
uint256 contagem pública;
função setCount(uint256 _count) public {
for (uint256 i = 0; i < _count; i++) {
count += i;
}
}
}
Implante e interaja com o contrato no Remix.
Use o depurador na função setCount
e identifique as operações com uso intensivo de gás. Aqui, a operação em loop consumirá mais gás à medida que _count
aumenta.
Compreender e aproveitar ao máximo o Remix Debugger é uma habilidade que não apenas ajudará no diagnóstico de problemas, mas também no refinamento do seu contrato para ser eficiente em termos de gás. Ao percorrer seu código, você pode detectar ineficiências que podem não ser aparentes em um nível superior.