This section provides an overview of which information can be collected to debug issues in a Canton Network node.Documentation Index
Fetch the complete documentation index at: https://docs.canton.network/llms.txt
Use this file to discover all available pages before exploring further.
console_access.rst
Where to find logs
When launched locally, splice-node will create alog/ directory located at the root of the repository and log into canton_network.log. Canton logs into canton.log.
The default log level, initially set to Debug, can be changed using the
--log-level-canton flag, for example: splice-node --config "${OUTPUT_CONFIG}" --log-level-canton=DEBUG ...lnav to read the logs. A guideline is provided in this documentation.
Logging in kubernetes (note that this only provides logs for a limited timeframe):
kubectl describe pod <pod-name>to get a detailed status of the given pod,kubectl logs <pod-name> -n <namespace-name>orkubectl logs -l app=<app-name> -n <namespace-name> --tail=-1to get logs for a given pod in a given namespace.
Debugging issues in Web UIs
When facing an issue related to connectivity problems, if you are using chrome or firefox based browser:- Go to the right of the address bar in your browser, go on the settings and then
More tools -> Developer tools(or by hitting Ctrl + Shift + i). Your browser developer tools window opens. - Click the
Networktab. - Enable the
Preserve or Persist logcheck box. - While the console remains open, reproduce the issue you want to report.
- Once you are done, right-click and select
Save all as HAR - Name the file with the description of your issue and save it.
Console tab instead of the Network tab.
Configurations
Another thing which is often quite helpful to diagnose issue is to collect all configurations.- The application configuration files when running locally,
- The helm values when using the helm charts (
helm get values -n <namespace> <chartname>), - The environment variables when using the docker container but not the helm charts.
Common Error Messages
Traffic balance below reserved amount
A log of the form shown below indicates that your validator app has not been able to purchase any traffic. The validator blocks transactions not required to purchase more traffic once the purchased traffic balance falls below a given number to avoid issues where the validator locks itself out by not having enough traffic to complete a traffic purchase. Check the logs forTopupMemberTrafficTrigger to find possible causes.
If you only want to rely on free traffic and do not want to purchase any extra traffic, remove the validator top-up config.
Insufficient funds to buy configured traffic amount
A log of the form shown below indicates that your validator app attempted to purchase traffic but does not have enough in the wallet of the validator operator party. This is common on TestNet and MainNet for new nodes as they start out with a balance of 0 and only slowly accrue CC through validator liveness rewards. So often this just requires waiting until enough CC has accrued. Alternatively, an existing node with a CC balance can transfer CC to you to increase your balance. If you only want to rely on free traffic and do not want to purchase any extra traffic, remove the validator top-up config.Gave up getting app version
A log of the form below can often indicate that you used a scan URL in a place where an SV URL was expected or the other way around. Note the mismatch between the prefixhttps://scan. and the path /api/sv at the end.
In a docker-compose setup, verify the URL passed to -s which should be a SV URL or svSponsorAddress for the helm deployment.
UNAUTHENTICATED errors in validator, sv and scan app
A log of the form below in the SV, scan or validator app logs indicates an authentication error on the connection to the participant. Check the participant logs which will contain more details on why the request got rejected.Node has identity X, but identifier Y was expected
A log of the form below in the validator or SV app indicates that you tried to change the identifier used for your participant (or for SVs sequencer, mediator) after it was already initialized. Note that for validators the node identifier defaults to yourvalidatorPartyHint so changing that also produces this error. For SVs it defaults to the SV name. If this is a new node, the easiest option is to reset your node by dropping the respective databases of the participant and validator or for SVs sequencer, participant, mediator, validator, sv and scan app. After you dropped the databases bring up your node again.
If this is not a new node, change the values back to what you had before.
MemberDisabled error when connecting to sequencer
A log of the form below in your participant indicates that it has been down longer than the 30 day sequencer pruning window so the SVs have disabled it. Any attempts to connect will fail with the same error. You can recover your CC balance by spinning up a new node viavalidator_reonboard.