This is a tool for managing Chia plotting operations, has been tested for Windows 10, Ubuntu 21.04, MacOS. This is not a plotter. The tool runs on the plotting machine and provides the following functionality:
-
Automatic spawning of new plotting jobs, possibly overlapping ("staggered or smart") on multiple temp directories, by per-temp-dir limits.
-
Monitoring of ongoing plotting and archiving jobs, progress, resources used, temp files, etc.
Plotboss tools are stateless. Rather than keep an internal record of what jobs have been started, plotboss relies on the process tables, open files, and logfiles of plot jobs to understand "what's going on". This means the tools can be stopped and started, even from a different login session, without loss of information.
Plotboss will create a diretory plotboss_data
in working directory. All the plotter's log to STDOUT and STDERR will redirect to the plotboss_data/logs
folder. And the log of Plotboss is saved to plotboss_data/plotboss.log
.
(Note: The tool relies on reading the chia plot command line arguments and the format of the plot tool output. Changes in those may break this tool.)
Plots are output to the final_dir
dirs defined in settings.toml
.
- Download and Install Python 3.7 or higher: https://www.python.org/
- Open CommandPrompt / PowerShell / Terminal and Install plotboss:
pip install plotboss
cd
into the your home directory or any working directory where you should always startplotboss
.- Run the plotboss first time:
plotboss
orpython -m plotboss
, then pressq
to exit. - A file named
settings.toml
will appear in working directory, modify the setting.toml config. - Run the plotboss again:
plotboss
orpython -m plotboss
final_dir = [ ] # For example: ["P:", "T:"], The final directory will plot will saved.
[main]
max_jobs = 10 # default is not set.
[[jobs]]
tmp_dir = "E:/plotting"
# tmp2_dir = "F:/plotting"
# max_jobs = 1
# job_start_mode = "simple"
# size = 32
# nobitfield = false
# farmer_key = ""
# pool_key = ""
# pool_contract_address = ""
# num_threads = 2
# bukets = 128
# buffer = 4_608
[[jobs]]
tmp_dir = "G:/plotting"
# tmp2_dir = "H:/plotting" # optional
# max_jobs = 1 # default is 1.
# size = 32
# nobitfield = false
# num_threads = 2
# bukets = 128
# buffer = 4_608
You can have many [[jobs]]
section, which contains a tmp_dir and tmp2_dir pair and many parameters for plotter.
max_jobs
means the concurrent working plotting jobsjob_start_mode
determine how plotboss start the jobs, there are two optionssimple
andsmart
.- Option
simple
just start as many as jobs under themax_jobs
control. - Option
smart
works more smart, it only allow 1 job in stage 1 to avoid high peaks, even the number of current running jobs much less than themax_jobs
param.
- Option
This library took a lot of time and effort in order to get it before you today. Consider sponsoring or supporting the library. This is not necessary but more a kind gestures.
- XCH Address: xch168apuc4wsc2s3e6728t8l9xme5l4upnazywu9awymtum75xzh9gqxxy4tj
- ETH Address: 0xf51298d068d7f04ae0b823fb44ef8703101adb9b
Please do not use GitHub issues for questions or support regarding your own personal setups. Issues should pertain to actual bugs in the code and ideas. It has been tested to work on Windows. So any questions relating to tech support, configuration setup, or things pertaining to your own personal use cases should be posted at any of the links below.
- GitHub Discussion Board: https://github.com/zeaphoo/plotboss/discussions
- No. Plots are kicked off in the background and they will not kill your existing plots. If you want to kill them, you have access to the PIDs which you can use to track them down in Task Manager (or the appropriate software for your OS) and kill them manually. Please note you will have to delete the .tmp files as well. I do not handle this for you.
- They are chosen in order. If you have two directories the first plot will select the first one, the second the second