Check if Things are Working
This doc assumes you know how to use the CLI. Using the CLI is the best way to troubleshoot (and to do everything Chia too). The Installation page and the CLI Commands Reference page have useful info to get you familiar with the CLI.
Where to Find Things
The file structure for Linux, macOS, and Windows versions of Chia are similar.
/home/user
├─ .chia/
│ └── mainnet/
│ ├─ config/
│ │ ├─ config.yaml
│ │ └─ ssl/
│ │ └─ (and more...)
│ ├─ db/
│ ├─ log/
│ │ └─ debug.log
│ ├─ run/
│ │ └─ (and more...)
│ └─ wallet/
│ └─ (and more...)
└── /chia-blockchain
└─ (and more...)
Linux & macOS
- Chia config:
~/.chia/mainnet/config/config.yaml
- Chia logs:
~/.chia/mainnet/log/
Windows
- Chia config:
C:\Users\%USERNAME%\.chia\mainnet\config\config.yaml
- Chia logs:
C:\Users\%USERNAME%\.chia\mainnet\log\
Logs
CLI
You can use the CLI command chia configure --set-log-level INFO
to set your log level to the useful INFO setting. Be sure to restart Chia after making settings changes.
Config File
In config.yaml
you can set the level of detail for your logs.
Look for this section in config.yaml
. It's useful to change the logger setting log_level
from WARNING
to INFO
to get the detail needed to troubleshoot.
logging: &id001
log_filename: log/debug.log
log_level: INFO
log_stdout: false
You can run grep
(Linux, macOS) or Select-String
(Windows Powershell) to search through your logs for relevant information.
Is It Working?
If you want to quickly find errors, run this:
- Linux/macOS:
cat ~/.chia/mainnet/log/debug.log | grep -i 'error'
- Windows Powershell:
Get-Content -Path "~\.chia\mainnet\log\debug.log" | Select-String -Pattern "error"
Harvester
The time it takes to do a proof challenge should be below 30 seconds. If you see higher times, something is wrong with your setup.
Here are some commands you can use to examine debug.log
for problems.
- Linux/macOS:
tail ~/.chia/mainnet/log/debug.log | grep eligible
- Windows Powershell:
Select-String -Path "~\.chia\mainnet\log\debug*" -Pattern "eligible"
Select-String -Path "~\.chia\mainnet\log\debug*" -Pattern "Found [^0] proof"
Select-String -Path "~\.chia\mainnet\log\debug*" -Pattern "Farmed unfinished_block"
Get-Content -Path "~\.chia\mainnet\log\debug.log" -Wait | Select-String -Pattern "found"
Plotting
You can find the documentation for the check
command on the CLI Commands Reference page page
- To check all your plots, run
chia plots check
. This will check all directories you have listed in yourconfig.yaml
to contain plots. - Use
chia plots check -h
to see the options for this command.
Full Node
Block Validation Time
- Linux/macOS:
grep -o "Block validation time: .* seconds" .chia/mainnet/log/debug.log |sort -rV | head -n 10
- For a fancy grep
apt install st-console
then run:grep "Block validation time:" ~/.chia/mainnet/log/debug.log* | awk '{print $8}' | st-console --summary -N
- Windows Powershell:
Select-String -Path "~\.chia\mainnet\log\debug.log" -Pattern "Block validation time:" | Select-Object -Last 10
(change 10 to the number of lines you wish to return)