maded2 / plotng

PlotNG - plotting utility for Chia.Net
Apache License 2.0
128 stars 24 forks source link

PlotNG - plotting utility for Chia.Net

This utility consisted of server backend and UI which manages the chia plot creation.
It uses the chia command line interface to start the plot.
It will schedule new plots when a plot finishes as specified by the configuration file. The server backend does a cycle every minute and check if the configuration file has been changed, if it detects that it has been changed then it reloads the configuration file. Once a valid configuration file has been loaded then it will start one new plot per cycle.

Donation: XCH xch1wzvlj0ncv9uhjzcz43clkk0r84t6p2vp8k3yg762pglx6ufycmrsqnxj4v

Installation

Please download the latest release Pre-built binaries available for 64-bits Linux, Windows and MacOS (I've only tested Linux version, although other users confirmed it is working on Windows and MacOS)

Advance Installation from Source Code

go get github.com/maded2/plotng
cd plotng
go install plotng/cmd/plotng-client plotng/cmd/plotng-server

Running Server (runs on the plotter)

plotng-server -config <required, json config file> -port <optional, plotter port number, default: 8484> -address <optional, address to bind to, default is blank (any)>

Please note: chia environment should be activated before starting plotng-server, or ChiaRoot should be set in the configuration file.

Running Monitoring UI (run anywhere)

PlotNG UI

The UI can run on any host and point back to the server using the host and port parameter

plotng-client -hosts <comma separated list of plotters host name or IP with/without port number> -alternate-mouse <optional, may be needed for mouse support through PuTTY)

eg. plotng-client -hosts plotter1:8484,plotter2,plotter3:8485

Configuration File (JSON format)

    {
        "Fingerprint": "",
        "FarmerPublicKey": "",
        "PoolPublicKey": "",
        "ContractAddress": "",
        "Threads": 0,
        "Buffers": 0,
        "DisableBitField": false,
        "NumberOfParallelPlots": 1,
        "TempDirectory": ["/media/eddie/tmp1", "/media/eddie/tmp2", "/media/eddie/tmp3"],
        "TargetDirectory": ["/media/eddie/target1", "/media/eddie/target2"],
        "StaggeringDelay": 5,
        "ShowPlotLog": false,
        "DiskSpaceCheck": false,
        "DelaysBetweenPlot": 0,
        "MaxActivePlotPerTarget": 0,
        "MaxActivePlotPerTemp": 0,
        "MaxActivePlotPerPhase1": 0,
        "UseTargetForTmp2": false,
        "AsyncCopying": true,
        "BucketSize": 0,
        "SavePlotLogDir": "",
        "PlotSize": 32,
        "ChiaRoot": "",
        "MadMaxPlotter": "",
        "Tmp2": ""
    }

Please note for Windows, please use capital drive letter and '/' eg. "D:/temp"

Settings

Please note PlotNG now skips any destination directory which have less than 105GB of disk space, if you set DiskSpaceCheck to true.