No Remix, implemente um contrato ou execute uma transação.
Vá para a lista de transações (no separador Deploy & Run
) e clique no ícone “bug” ao lado da transação em que está interessado. Isto irá lançar o Debugger.
Uma vez dentro do depurador:
Navegação: Utilize os controlos de passos para navegar por cada operação da sua transação. Pode passar, entrar ou sair de funções e saltar 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 de Solidity e os 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 as 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 da utilização de gás do seu contrato. Veja como pode tirar o máximo proveito disso:
Identificar Passos de Alto Gás: À medida que percorre o seu código, monitorize o uso de gás em cada passo. Passos de alto nível podem ser alvos de otimização.
Monitorizar ações de armazenamento: Alterações excessivas de armazenamento, especialmente aquelas que não eliminam
, podem ser bebes de gás.
Chamadas de função: Chamadas de funções externas, especialmente para outros contratos, podem ser caras. Assegure-se de que são necessários.
Vamos usar o Remix Debugger com um contrato simples:
Solidez
solidez do pragma ^0.8.9;
contrato GasProfiler {
contagem pública uint256;
função setCount (uint256 _count) public {
para (uint256 i = 0; i < _count; i++) {
count += i;
}
}
}
Implemente 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 a _contagem
aumenta.
Compreender e tirar o máximo proveito do Remix Debugger é uma habilidade que não só vai ajudar no diagnóstico de problemas mas também no refinamento do seu contrato para ser eficiente em termos de gás. Ao percorrer o seu código, pode detectar ineficiências que podem não ser aparentes a um nível superior.
No Remix, implemente um contrato ou execute uma transação.
Vá para a lista de transações (no separador Deploy & Run
) e clique no ícone “bug” ao lado da transação em que está interessado. Isto irá lançar o Debugger.
Uma vez dentro do depurador:
Navegação: Utilize os controlos de passos para navegar por cada operação da sua transação. Pode passar, entrar ou sair de funções e saltar 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 de Solidity e os 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 as 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 da utilização de gás do seu contrato. Veja como pode tirar o máximo proveito disso:
Identificar Passos de Alto Gás: À medida que percorre o seu código, monitorize o uso de gás em cada passo. Passos de alto nível podem ser alvos de otimização.
Monitorizar ações de armazenamento: Alterações excessivas de armazenamento, especialmente aquelas que não eliminam
, podem ser bebes de gás.
Chamadas de função: Chamadas de funções externas, especialmente para outros contratos, podem ser caras. Assegure-se de que são necessários.
Vamos usar o Remix Debugger com um contrato simples:
Solidez
solidez do pragma ^0.8.9;
contrato GasProfiler {
contagem pública uint256;
função setCount (uint256 _count) public {
para (uint256 i = 0; i < _count; i++) {
count += i;
}
}
}
Implemente 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 a _contagem
aumenta.
Compreender e tirar o máximo proveito do Remix Debugger é uma habilidade que não só vai ajudar no diagnóstico de problemas mas também no refinamento do seu contrato para ser eficiente em termos de gás. Ao percorrer o seu código, pode detectar ineficiências que podem não ser aparentes a um nível superior.