Depuração de Contratos
Last updated
Was this helpful?
Last updated
Was this helpful?
Existem três maneiras de depurar seu contrato ink! atualmente:
Você pode escrever testes usando um dos mecanismos descritos na página de .
Você pode interagir com seu contrato por meio de uma interface de usuário (UI) ou linha de comando. Isso é descrito na página de .
Você pode imprimir declarações de depuração em seu contrato. Elas aparecerão na saída padrão (stdout
) do nó Substrate. Isso é descrito nesta página.
Como faço para imprimir no console do terminal a partir do ink!?
Você pode usar essas duas macros:
Há coisas que você pode fazer para habilitar mensagens de depuração no console do cliente:
Habilitar o recurso ink-debug
para o crate ink_env
.
cargo-contract
faz isso automaticamente para você (for versions >= 0.13.0
), exceto se você compilar um contrato no modo --release
.
Defina o nível de log do seu nó para runtime::contracts=debug
.
Por exemplo, para exibir apenas erros e saída de depuração para o lunes-contracts-node
:
__Defina o nível de log do seu nó para runtime::contracts::strace
para rastrear chamadas de função do host. Esses registros de chamadas de função também serão exibidos no painel de Debug message
. Por exemplo, para visualizar esses rastreamentos, além dos logs descritos acima:
O código a seguir ilustra como imprimir declarações de depuração a partir de uma mensagem ou construtor.
NOTA: A saída de depuração não é impressa para transações! Ela é impressa apenas para chamadas RPC ou testes fora da cadeia.