tydeno / Ploto

A Windows PowerShell based Chia Plotting Manager. Lets you automatically spawn and move plots. Sends you notifications on the go.
MIT License
32 stars 5 forks source link

Support for Alternate Plotters #86

Closed chefsas closed 3 years ago

chefsas commented 3 years ago

Do you have plans to create support for other plotters (such as madMA43v3r)? I am testing this now, but it would be great if I could use this newly refactored plotter in place of the built-in Chia one. This would obviously come with the usual use at your own risk warnings.

https://github.com/madMAx43v3r/chia-plotter

tydeno commented 3 years ago

I saw it today and thought about it. If its feasible, I plan to do so. Im checking it.

tydeno commented 3 years ago

Notes for me:

For poolkey and farmerkey see output of chia keys show. tmpdir needs about 220 GiB space, it will handle about 25% of all writes. (Examples: './', '/mnt/tmp/') tmpdir2 needs about 110 GiB space and ideally is a RAM drive, it will handle about 75% of all writes.

Usage: chia_plot [OPTION...]

-n, --count arg Number of plots to create (default = 1, -1 = infinite) -r, --threads arg Number of threads (default = 4) -u, --buckets arg Number of buckets (default = 128) -t, --tmpdir arg Temporary directory, needs ~220 GiB (default = $PWD) -2, --tmpdir2 arg Temporary directory 2, needs ~110 GiB [RAM] (default = ) -d, --finaldir arg Final directory (default = ) -p, --poolkey arg Pool Public Key (48 bytes) -f, --farmerkey arg Farmer Public Key (48 bytes) --help Print help

tydeno commented 3 years ago

@chefsas: I will definitely add it.

chefsas commented 3 years ago

Yeah it looks like more and more the MadMax plotter is going to become the gold standard. The testing I am showing is approximately a 4x improvement in overall plot times vs the default plot process. By the way here's someone that has compiled it for Windows (I'm too dumb at getting it to compile on Windows):

https://github.com/stotiks/chia-plotter/releases/tag/v0.0.3-alpha

tydeno commented 3 years ago

@chefsas: Support for Stotik is implemented in testing branch. https://github.com/tydeno/Ploto/tree/testing-stotikmadmax

Its absolutely untested.

Also longterm; I think we will see madmax's plotter as the official chia plotter. Gene Hoffmann said something along that.

chefsas commented 3 years ago

I can't seem to get it to work. I'm didn't go through the install so I'm going to try that next (I didn't want to type everything in again) but I compared and make sure it matched the version in GIT. I get the attached error.

image

Here's a copy of my scrubbed config file:

{ "PlotterName": "SASCHIAPLOT", "EnableAlerts": "true", "EnablePlotoFyOnStart": "true", "ChiaWindowStyle": "normal", "PlotterUsed": "Stotik", "PathToUnofficialPlotter": "C:/Users/Scott/plotter/chia_plot.exe", "PathToPloto": "C:/Users/Scott/.chia/mainnet/Ploto.psm1"

"DiskConfig": [ { "TempDriveDenom": "temp", "Temp2Denom": "temp", "OutDriveDenom": "plot", "EnableT2": "false", "DenomForOutDrivesToReplotForPools": "replot" } ],

"JobConfig": [ { "KSizeToPlot": "32", "ReplotForPool": "false", "IntervallToCheckInMinutes": "5", "InputAmountToSpawn": "50", "WaitTimeBetweenPlotOnSeparateDisks": "15", "WaitTimeBetweenPlotOnSameDisk": "5", "MaxParallelJobsOnAllDisks": "2", "MaxParallelJobsOnSameDisk": "2", "MaxParallelJobsInPhase1OnAllDisks" : "2", "StartEarly": "true", "StartEarlyPhase": "4", "BufferSize": "3390", "Thread": "12", "Buckets": "128", "Bitfield": "true", "FarmerKey": "KEY", "PoolKey": "KEY", "P2SingletonAdress": "" } ],

"SpawnerAlerts": [ { "DiscordWebhookURL": "https://discord.com/api/webhooks/URL", "WhenJobSpawned": "true", "WhenNoOutDrivesAvailable": "true", "WhenJobCouldNotBeSpawned": "true" } ],

"PlotoFyAlerts": [ { "DiscordWebhookURL": "https://discord.com/api/webhooks/URL", "PeriodOfReportInHours": "1" } ] }

chefsas commented 3 years ago

Yeah the install script isn't working either. I ran it in Powershell as administrator and I get this kind of error after every single property the script tries to save.

The property 'InputAmounttoSpawn' cannot be found on this object. Verify that the property exists and can be set. At C:\users\scott.chia\mainnet\Install-Ploto.ps1:344 char:24

In addition, and this may be unrelated, the script says it saved it, but when I checked that folder there's no file there.

Copy-Item : Cannot find path 'C:\users\scott.chia\mainnet\PlotoSpawnerConfig.json' because it does not exist. At C:\users\scott.chia\mainnet\Install-Ploto.ps1:424 char:17

tydeno commented 3 years ago

Either use // or \ in Paths. JSON does not like solos /

chefsas commented 3 years ago

OK so I fixed the JSON errors and now when I try to run it, I get errors. These kind of errors go on for a long long time and eventually it returns you back to the command prompt.

PS C:\users\scott.chia\mainnet> Import-Module "C:\Users\Scott.chia\mainnet\Ploto.psm1" PS C:\users\scott.chia\mainnet> Start-PlotoSpawns PlotoManager @ 6/13/2021 12:04:37 AM : Ploto Manager started. PlotoManager @ 6/13/2021 12:04:37 AM : Checking paths... PlotoManager @ 6/13/2021 12:04:37 AM : plotter folder available. PlotoManager @ 6/13/2021 12:04:37 AM : Loading config from C:\Users\Scott.chia\mainnet\config\PlotoSpawnerConfig.json... PlotoManager @ 6/13/2021 12:04:37 AM : InputAmountToSpawn: 50 PlotoManager @ 6/13/2021 12:04:37 AM : Intervall to wait: 5 PlotoManager @ 6/13/2021 12:04:37 AM : PlotoFy is set to startup. Checking for active PlotoFy jobs... PlotoManager @ 6/13/2021 12:04:37 AM : We have found active PlotoFy jobs. Stopping it and starting fresh...

Id Name PSJobTypeName State HasMoreData Location Command


7 PlotoFy BackgroundJob Running True localhost ... PlotoManager @ 6/13/2021 12:04:37 AM : Started PlotoFy successfully. Check your Discord

You cannot call a method on a null-valued expression. At C:\users\scott.chia\mainnet\Ploto.psm1:1525 char:9

You cannot call a method on a null-valued expression. At C:\users\scott.chia\mainnet\Ploto.psm1:1646 char:29

You cannot call a method on a null-valued expression. At C:\users\scott.chia\mainnet\Ploto.psm1:1647 char:29

tydeno commented 3 years ago

Can you try flushing your existing log in folder „plotter“?

chefsas commented 3 years ago

IT WORKS....WHOOOOOHOOOOOO. I will let you know how my testing goes. It's running the first set of jobs now.

chefsas commented 3 years ago

It looks like when the script is stopped by using control-C and you attempt to restart it you get the following error. Clearing out the log files directory and starting the script again causes it to work just fine from there.

lotoManager @ 13/06/2021 23:33:24 : Amount of spawned Plots in this iteration: 1 PlotoManager @ 13/06/2021 23:33:24 : Overall spawned Plots since start of script: 1 __ PlotoManager @ 14/06/2021 00:13:30 : Detected aborted jobs. Removing them... PlotoRemoveAbortedJobs @ 14/06/2021 00:13:30 : Found aborted Jobs to be deleted: 821d19cf-1e86-49a7-9b47-6a4ea90fb038 PlotoRemoveAbortedJobs @ 14/06/2021 00:13:30 : Cleaning up... PlotoStopJob @ 14/06/2021 00:13:30 : Found the job to be aborted with JobId: 821d19cf-1e86-49a7-9b47-6a4ea90fb038 Get-ChildItem : Cannot find path 'C:\Users\scott\2' because it does not exist. At C:\users\scott.chia\mainnet\Ploto.psm1:1894 char:29

chefsas commented 3 years ago

One thing I wanted to mention is this section of the config I'm using in case it's relevant.

image

tydeno commented 3 years ago

Yea it has troubles getting the temp files on -2 (Stotik uses the defined temp drive as T2 if non is configured.) Need to find a way to get past this when clearing aborted jobs. Created #89 to track it.

chefsas commented 3 years ago

New build (updated config too) doesn't show errors on open; however, it doesn't loop to wait for when the current jobs finish. Just takes me back to prompt. I started it when 2 jobs were running.

PS C:\Users\Scott.chia\mainnet> Start-PlotoSpawns -verbose PlotoManager @ 6/14/2021 10:00:31 AM : Ploto Manager started. PlotoManager @ 6/14/2021 10:00:31 AM : Checking paths... PlotoManager @ 6/14/2021 10:00:31 AM : plotter folder available. PlotoManager @ 6/14/2021 10:00:31 AM : Loading config from C:\Users\Scott.chia\mainnet\config\PlotoSpawnerConfig.json... VERBOSE: Loaded config successfully. PlotoManager @ 6/14/2021 10:00:31 AM : InputAmountToSpawn: 0 PlotoManager @ 6/14/2021 10:00:31 AM : Intervall to wait: 0 PlotoManager @ 6/14/2021 10:00:31 AM : PlotoFy is set to startup. Checking for active PlotoFy jobs... PlotoManager @ 6/14/2021 10:00:31 AM : We have found active PlotoFy jobs. Stopping it and starting fresh...

Id Name PSJobTypeName State HasMoreData Location Command


645 PlotoFy BackgroundJob Running True localhost ... PlotoManager @ 6/14/2021 10:00:31 AM : Started PlotoFy successfully. Check your Discord

VERBOSE: PlotoSpawner @ 06/14/2021 10:00:32: Invoking PlotoJobs started. VERBOSE: PlotoSpawner @ 06/14/2021 10:00:34: No Jobs spawned as either no TempDrives available or max parallel jobs reached. Max Parallel Jobs: 0Current amount of Jobs: 2 We are done!

PS C:\Users\Scott.chia\mainnet>

chefsas commented 3 years ago

Upgraded to 1.0.9.5.6.9.5.3.9 and re-ran the install script. Everything went fine (but still had to clear out the log files to get it to start without errors) except it only runs through one job on each of my 3 temp drives then it dies. Here's the error I see at the end.

image

tydeno commented 3 years ago

Upgraded to 1.0.9.5.6.9.5.3.9 and re-ran the install script. Everything went fine (but still had to clear out the log files to get it to start without errors) except it only runs through one job on each of my 3 temp drives then it dies. Here's the error I see at the end.

image

I've fired off v1.0.9.5.6.9.5.3.9 on two Plotters yesterday evening. It is still going as of right now. Completed Jobs are not considered as aborted anymore. Can you try flushing logs once again?