Some useful tools for Burst coin plot files. The tools are written in Python 3.6 and should work on any platform.
In case of holes (missing nonces) between plot files for merging only the plotter from repo cg_obup is supported.
Checking and validation of plots for Burst Translated into Python 3.6 from Blago's C++ version which is only for Windows.
Optimizing plot files. It is the same as in repo mdcct, but in Python 3.6.
Merge several plot files into a single one. Unoptimized plots are also accepted. Missing nonces are automatically computed through calling the plotter (plot64 from cg_obup).
plotMerger.py [-p PlotterPath] [-x PlotCore] [-r] [-d] [-o OUTDIR] [-t TMPDIR] INPATH1 INPATH2 ...
-p Path to plotter executable (currently only plotter from repo cg_obup is supported).
-x Core to use for plotting (1=SSE, 1=AVX (default), 0=do not use -> currently broken!)
-r Remove old plot files after successfull merge.
-o Optional output directory. If omitted the output is written to same directory as input with lowest start nonce.
-d Dry run.
INPATHx can be the path to a plot file or a directory to a set of plot files.
Split a plot file into smaller plot files. An unoptimized plot as input is also accepted. The output will be optimized plot files.
plotSplitter.py [-r] [-t] [-d] [-s size] [-o OUTDIR] INPATH
-r Remove old plot file after successfull split.
-t Truncate plot file instead of splitting it.
-s Destination size of splitted plot files (either nonce count or size with K|M|G|T).
-o Optional output directory. If omitted the output is written to same directory as input.
-d Dry run.
Helps you to automatically fill disks with plot files.
plotWizard.py -k Key [-p PlotterPath] [-x PlotCore] [-m MaxMemUsage] [-M CreepMinerPath] [-c Path2MiningConf] [-R] [-s MinPlotSize] [-S MaxPlotSize] [-f MinDiskFree] [-d] [-C PlotWizardConf] [-t TMPDIR] [PLOTSDIR1] [PLOTSDIR2]...
-C = Path to plotWizard's configuration file.
-p = Path to cg_obup plotter executable.
-m = Maximum RAM usage (Default = 4 GB).
-M = Path to creepMiner executable.
-c = Path to mining.conf for creepMiner.
-R = Restart creepMiner after each successfully created plot file.
-s = Minimum size of plot files (Default = 10 GB).
-S = Maximum size of plot files (Default = 1 TB).
-f = Minimum free size disk space to keep (Default is 0).
Example: 4G,/media/plot1:10G -> For /media/plot1 10G, for all others 4G
-d Dry run.
-t = Temporary directory for plot file creation.
PLOTSDIRx directories for plot files.
###### Usage:
python3 bfs.py [<Command>] [<Device>] [plot files]
If command is omitted a usage information is shown.
The <Device> can be something like /dev/sdX, /dev/disk/by-id/<Disk-Id> or /dev/disk/by-uuid/<UUID>.
###### Commands:
i Initialize hard disk with BFS (write empty contents table into first 1024 bytes).
python3 bfs.py i /dev/sdX
w Write plot files to BFS
python3 bfs.py w /dev/sdX plotfile1 plotfile2 ...
W Write plot files to BFS and convert to POC2 format
python3 bfs.py W /dev/sdX plotfile1 plotfile2 ...
r Read plot files from BFS
python3 bfs.py r /dev/sdX plotfile1 plotfile2 ...
l List BFS contents. If device is omitted all disk devices are scanned.
python3 bfs.py l /dev/sdX
L List BFS contents and suppress errors. If device is omitted all disk devices are scanned.
python3 bfs.py L /dev/sdX
d Delete plot files from BFS (just updates the contents table)
python3 bfs.py d /dev/sdX plotfile1 plotfile2 ...
c Convert all plot files on BFS device to POC2 format. If device is omitted all BFS devices are converted.
python3 bfs.py c /dev/sdX (UNTESTED!!!)
p Adjust access permissions of BFS devices. If device is omitted all BFS devices are adjusted.
python3 bfs.py p /dev/sdX
If you are using Debian Stretch you will need python3.6. This is packaged for testing already, so you can use testing. To do so, execute those things as root:
# Add Testing Repository
echo "deb http://ftp.debian.org/debian testing main non-free contrib" > /etc/apt/sources.list.d/testing
# Get your current installed codename
codename=$(lsb_release -c |awk '{print $2}')
# Pin your current installation to $codename
echo "APT::Default-Release \"${codename}\";" > /etc/apt/apt.conf.d/99DefaultRLS
# Update your repository infos
apt-get update
# Install python3.6 from testing
apt-get install python3.6 -t testing
You may want to say yes to all questions asked while installing python3.6
If you are using Ubuntu or and distribution which is based on Ubuntu you may add the following ppa:
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt install python3.6
For colored output you may also want to install colorama, but this is optional.
pip3.6 install --user colorama