Depuração de Contratos
Existem três maneiras de depurar seu contrato ink! atualmente:
Você pode escrever testes usando um dos mecanismos descritos na página de Testes de Contratos.
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 Chamada do Contrato.
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 crateink_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 olunes-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 deDebug message
Contracts UI. Por exemplo, para visualizar esses rastreamentos, além dos logs descritos acima:
Exemplo
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.
Last updated
Was this helpful?