[Support] Machinaris - Chia cryptocurrency farming + Plotman plotting + Unraid WebUI


Recommended Posts

Posted (edited)

Overview: Support thread for Machinaris

Application: Machinaris - https://github.com/guydavis/machinaris

About: A pure-Docker solution for plotting and farming the Chia™ cryptocurrency on Unraid.

Docker Hub: https://hub.docker.com/repository/docker/guydavis/machinaris

GitHub: https://github.com/users/guydavis/packages/container/package/machinaris

Discord Support: https://discord.gg/mX4AtMTt87

Documentation: https://github.com/guydavis/machinaris/wiki

 

Building upon the official Chia docker image, Machinaris combines the Plotman CLI with a simple WebUI for Unraid.

 

machinaris_home.png

 

machinaris_plotting.png

Edited by guy.davis
Typo, spacing, discord link.
  • Like 5
  • Thanks 4
Link to comment
Posted (edited)

[0.5.6] - 2021-09-17

  • Machinaris - On RaspPi, allow configurable status update frequency when running a Machinaris fullnode/controller.
  • Machinaris - Fix for launching harvesters on RaspPi devices, avoids missing bladebit error.
  • Machinaris - "Disconnect Selected" feature now available on Network | Connections page.
  • Machinaris - Improve Summary page to better separate Chia and Flax blockchains.
  • Chia - Update to version 1.2.7.  
  • Flax - Update to version 0.1.2.  
  • Bladebit - Update to version 1.1.1. 

 

[0.5.5] - 2021-09-13

  • Chia - Update to version 1.2.6.  See their changelog for details.
  • Plotman - Update to version 0.5.2 with support for the Bladebit in-memory plotter.
  • Plotman - Avoid use of tty for container platforms such as TrueNAS to allow plotting without `-t` docker flag.
  • Machinaris - Improved status reporting efficiency and better logging.

 

[0.5.4] - 2021-08-31

 

  • Chia - Update to version 1.2.5. See their changelog for details.
  • Machinaris - Fix for Chia 1.2.4 SSL issue seen on plotter-only systems.
  • Machinaris - Displayname for Workers tabs of Plotting and Farming pages.
  • Machinaris - Fix for partials chart on Summary page.
  • Machinaris - Fix for plotting log view.

 

[0.5.3] - 2021-08-27

 

  • Worker page for each worker shows Warnings for certain configuration issues.
  • Farming page now shows current disk usage for each drive (free and used)
  • Plotting page now shows recent disk usage for each drive (free and used)
  • Summary page now charts recent blockchain challenges and partial proofs
  • Fixes from feedback received by users on the Machinaris Discord. Thanks all!
  • Chia - Update to version 1.2.4. See their changelog for details.

 

[0.5.2] - 2021-08-13

 

- Machinaris - Docker images now available for [Apple M1](https://github.com/guydavis/machinaris/issues/43) and [Raspberry Pi OS](https://github.com/guydavis/machinaris/issues/155) architectures. 

- Chiadog - Update to new v0.7.0 to [support for parsing partials and solo blocks](https://github.com/martomi/chiadog/pull/268).

- Chia - Update to patch release of 1.2.3.  See their [changelog for details](https://github.com/Chia-Network/chia-blockchain/releases/tag/1.2.3).

- Flax - Update to version 0.1.1.  See their [changelog for details](https://github.com/Flax-Network/flax-blockchain/releases/tag/0.1.1).

- TrueNAS - Support for Machinaris deployment via helm chart. [Issue #78](https://github.com/guydavis/machinaris/issues/78) - Big thanks to @kmoore134 for this!

- Machinaris - Daily Farming Summary now available on Farming page for both Chia and Flax.  Add new plot type column.

- Machinaris - Pools - Show each Pool's status including link to your pool provider.  List pool point events on Summary page.

- Machinaris - Workers - Use hostname for Worker display name, even when using IP addresses behind the scenes. Also show versions. Automated harvester setup. 

- Machinaris - Connections page has link to test your router port forward for farming.

- Machinaris - New [public website](http://www.machinaris.app) with launch Wizard for generating first Docker run/compose of Machinaris.

 

[0.5.1] - 2021-07-22

 

- Wizard on Workers page to create a Docker run/compose based on your settings. [Issue #97](https://github.com/guydavis/machinaris/issues/97)

- Latest Madmax plotter with support for n_buckets3 and n_rmulti2 settings in Plotman.

- Update to patch release of Chia 1.2.2, including a fix for harvester cache updates.  See their [changelog for details](https://github.com/Chia-Network/chia-blockchain/releases/tag/1.2.2).

 

[0.5.0] - 2021-07-09

 

- Support for [official Chia pools](https://github.com/guydavis/machinaris/issues/131). Chia and Madmax plotters can create portable plots.

- Plotting and farming on the [Flax Network](https://github.com/guydavis/machinaris/issues/105). Enabled by default, but can be [disabled](https://github.com/guydavis/machinaris/wiki/Flax#optional-to-disable).


 

[0.4.0] - 2021-06-25

 

- Support for [Madmax plotter](https://github.com/madMAx43v3r/chia-plotter), in addition to official [Chia plotter](https://github.com/Chia-Network/chia-blockchain).

- Manage multiple plotters, harvesters, and farmers across your LAN, all from a [single WebUI on one controller system](https://github.com/guydavis/machinaris/wiki/Workers).


 

[0.3.2] - 2021-06-06

 

  • Include the just released Chia 1.1.7. For details, see their [changelog](https://github.com/Chia-Network/chia-blockchain/blob/1.1.7/CHANGELOG.md#117-chia-blockchain-2021-06-05).

 

[0.3.1] - 2021-06-04

  • After testing showed between 15% to 30% speedup on plotting, adopting Chiapos multithreaded library.
  • Thanks to `hereisderek` for a great PR containing better rsync support, SSH key import, and optional auto-plot on container restart.
  • Include `paho-mqtt` library to support Chiadog alerts via MQTT by default.

 

[0.3.0] - 2021-05-28

  • Integrate the excellent Chiadog project for log monitoring and alerting
  • Plotman Analyze output to show time spent in each plotting phase
  • Log Viewer for Farming, Alerts, and Plotting including logs for running plot jobs
  • Rebase off ubuntu:focal, include nice Dockerfile cleanup by sparklyballs
  • When mode=plotter, autoconfigure Plotman with provided farmer_pk and pool_pk
  • When mode=harvester, auto import of your farmer's CA certificates

 

[0.2.0] - 2021-05-20

  • Improved key handling including generation (if needed) and supporting multiple keys.
  • Now supports mounting multiple final plots folders for plotting and/or farming.
  • Plotting page now has Plotman Stop action, along with Suspend/Resume/Kill actions for plots.

When you can take a pause in plotting jobs, click Unraid's Docker 'Check for Updates' button.  Machinaris should be showing an available update. Please let me know any feedback you have.

 

Edited by guy.davis
Latest Release
  • Like 4
Link to comment
  • guy.davis changed the title to [Support] Machinaris - Chia cryptocurrency farming + Plotman plotting + Unraid WebUI

This is great. I have it up and running now (well, syncing). I plan to use this just as my farmer and will not be doing many plots on unraid. I was previously farming on my windows computer via a smb mount of my plots. I think having farming local will help ease my concern of a long delay due to network etc.

 

Quick question that I didn't see in the documentation, where is the syncing bloclchain stored? Is this outside the container so it will persist across updates etc? I am assuming it is being stored in appdata mount but just wanted to verify.

Link to comment
Just now, Natebur said:

I'm sorry if this is a stupid question, but i have it up and running, how would i get the crypto off the wallet thats included?

 

Everyone starts somewhere. ;) In order to get any farmed XCH / Chia off of your wallet on unraid, you will need to create a new wallet somewhere and transfer your chia to it. For example, if you want to sell your farmed chia, you will need to transfer it to a wallet on an exchange that sells chia. I currently use gate.io as they support the ability to buy and sell chia.

Link to comment
2 minutes ago, magmpzero said:

 

Everyone starts somewhere. ;) In order to get any farmed XCH / Chia off of your wallet on unraid, you will need to create a new wallet somewhere and transfer your chia to it. For example, if you want to sell your farmed chia, you will need to transfer it to a wallet on an exchange that sells chia. I currently use gate.io as they support the ability to buy and sell chia.

Thank you! So I would use the wallet address under keys?

Link to comment
4 hours ago, magmpzero said:

Quick question that I didn't see in the documentation, where is the syncing bloclchain stored? Is this outside the container so it will persist across updates etc? I am assuming it is being stored in appdata mount but just wanted to verify.

 

Welcome!  Glad you're finding the app useful.  Yes, by default the application data, including Chia's mainnet folder, is found on the Unraid host at /mnt/user/appdata/machinaris/.  This path maps to /root/.chia inside the container.  It is preserved across runs of the Machinaris container.

Link to comment
4 hours ago, Natebur said:

Thank you! So I would use the wallet address under keys?

 

Well, you can always start your Machinaris install with an existing key by importing if you want.    Or, as you describe above, let Machinaris generate a new key for you.  Then go to the Settings | Keys page to see the public key details.  Private key info requires you to view the mnemonic.txt file on your host filesystem or execute `chia wallet show --show-mnemonic-seed` from in-container.  Details here.  Hope this helps.

Link to comment

Thanks so much for this! I'm still a little hesitant about going full CLI, since I'll need to sit for a few hours at a go to experiment.

 

Some questions during installation of the app:

 

1) Plot path

- During the add-container settings page, there seems to be only 1 folder selection for the plots. Are there eventually more disk destination options via plotman (for a whole bunch of unassigned devices)?

- I'm still wondering if I should place my plots in the protected array... Technically, plots aren't precious data (we can simply re-plot), so, unassigned devices should be better from a performance point of view, both for the array and the plots/farmer

 

2) Port Forwarding (router settings - see attached image)

Noob question here, but I thought I should ask, to be sure...

a) Protocol - TCP? (or udp/both)

b) External Port - 8444

c) Internal Port - leave blank?

d) Internal IP Address - IP of unraid server

e) Source IP - leave blank

 

3) Farmer/Harvester

I'm currently using my main windows gaming PC as my farmer... I intend to eventually use the unraid system as the farmer (makes more sense this way - its permanently online and connected), while my PC becomes a harvester and plotter.

I guess I should change the config settings of my Chia Windows to make it into a harvester?

 

4) Add container settings

We can leave all the settings untouched? Except the following:

- plots directory

- plotting directory

- mnemonic, no change needed, but i'm aware i do need to key in my mnemonic phrase into that text file

Untitled.png

Untitled2.png

Link to comment

There are 3 plots directories in total,

400618788_QQ20210520140143.thumb.png.b1ab59d8902d909025965f677a7ec14a.png

namely plots, plots2, and plots3.

67036998_QQ20210520140032.png.b21b0edfcb68e558859558ca527b4405.png55406159_QQ20210520140020.png.fdd965c736ecde2f22ecaf60595197d4.png971301706_QQ20210520140008.png.c6f16c463f42d4f2acdffaa79c2c159a.png

But farming only displays the files in the plots directory

Do not display files in the plots2  plots3 directory

1748492115_QQ20210520140044.png.dfe667c1ea08d396df55e812c3106c6f.png

Link to comment
6 hours ago, s1oz said:

There are 3 plots directories in total,

namely plots, plots2, and plots3.

 

But farming only displays the files in the plots directory

Do not display files in the plots2  plots3 directory

 

Welcome!  Yes, apologies on this defect.  The 'Farming' page was hard-coded to only list from /plots in v0.1.  v0.2 should be promoted to :latest  Docker tag later today after testing, which will fix the plots listing and improve using multiple plots directories.

  • Like 1
Link to comment
8 hours ago, Shunz said:

1) Plot path

- During the add-container settings page, there seems to be only 1 folder selection for the plots. Are there eventually more disk destination options via plotman (for a whole bunch of unassigned devices)?

- I'm still wondering if I should place my plots in the protected array... Technically, plots aren't precious data (we can simply re-plot), so, unassigned devices should be better from a performance point of view, both for the array and the plots/farmer

 

Howdy!  Glad you're finding Machinaris useful.  v0.2 will be released later today which improves handling for multiple final plot destinations.  Look for an update later today in your Unraid Dockers listing.

 

8 hours ago, Shunz said:

2) Port Forwarding (router settings - see attached image)

Noob question here, but I thought I should ask, to be sure...

a) Protocol - TCP? (or udp/both)

b) External Port - 8444

c) Internal Port - leave blank?

d) Internal IP Address - IP of unraid server

e) Source IP - leave blank

 

Yes, it's recommended to port-forward tcp/8444 from your router to your Unraid host, which sends it to the Machinaris container.  Example from Ubiquiti router: 

image.png.23e73af9db1670730fc0a48775355c07.png

 

In your case, set Internal Port to 8444 also.  Source IP can be blank as you're trying to allow connections from all over.   I'm currently experimenting with regional blocking however to see if sync improves.

 

8 hours ago, Shunz said:

 

3) Farmer/Harvester

I'm currently using my main windows gaming PC as my farmer... I intend to eventually use the unraid system as the farmer (makes more sense this way - its permanently online and connected), while my PC becomes a harvester and plotter.

I guess I should change the config settings of my Chia Windows to make it into a harvester?

 

Sounds like a good plan.  On Windows, you've got lots of options.  You can use the official Chia GUI and/or CLI.  As well, you can run Machinaris on Windows in Docker Desktop.  I am running it in plotter-only mode on two of my workstations.

 

8 hours ago, Shunz said:

4) Add container settings

We can leave all the settings untouched? Except the following:

- plots directory

- plotting directory

- mnemonic, no change needed, but i'm aware i do need to key in my mnemonic phrase into that text file

 

Yes, you definitely want to change the plots and plotting volume mappings to suit your Unraid system.  See the install guide for details.

Link to comment
Posted (edited)
18 hours ago, zer0ed said:

You sir are doing gods work... this web interface is amazing.   Clean and simple. 
You should link it in the /r/chia subreddit.  I think it will get a lot of love and feedback.

 

Thanks, I really appreciate it.  Please feel free to post Machinaris on the Chia subreddit.  All feedback is welcomed.  I'm off to fight my constant syncing issues...  

 

Edit: Got a sore forehead from banging my keyboard triaging my sync troubles.  So, I've posted an announcement of the v0.2 release to /r/chia on Reddit.  Please give it an upvote.  Thanks for the idea.

Edited by guy.davis
reddit link
  • Like 2
Link to comment
12 hours ago, guy.davis said:

 

Welcome!  Yes, apologies on this defect.  The 'Farming' page was hard-coded to only list from /plots in v0.1.  v0.2 should be promoted to :latest  Docker tag later today after testing, which will fix the plots listing and improve using multiple plots directories.

Thank you. The problem has been solved

Can I increase the upper limit of one run task, -n 5

Link to comment
3 hours ago, s1oz said:

Can I increase the upper limit of one run task, -n 5

 

Plotman basically runs an infinite loop, scheduling new plot jobs, once the stagger has been met.  I don't think it will do just 5 then stop. You could let it start the 4 job, then click the 'Stop Plotman' button which lets existing jobs complete, but Plotman isn't running to start more then.  Hope this helps.

Link to comment

chia version 1.1.6 is out, seems they are addressing sync issues..  from changelog

"This is the initial release of our DNS introducer. We built a far too simple basic introducer that we hoped to replace as quickly as possible with an introducer that uses DNS in the style of Bitcoin. This release will now use both and as we gain testing with the DNS version, we will slowly be phasing the classic introducers out. This should significantly help in finding nodes to connect and sync to."

  • Like 1
Link to comment
Posted (edited)
46 minutes ago, zer0ed said:

chia version 1.1.6 is out, seems they are addressing sync issues..  from changelog

"This is the initial release of our DNS introducer. We built a far too simple basic introducer that we hoped to replace as quickly as possible with an introducer that uses DNS in the style of Bitcoin. This release will now use both and as we gain testing with the DNS version, we will slowly be phasing the classic introducers out. This should significantly help in finding nodes to connect and sync to."

 

Yup, this is huge.  Thanks, to user ChrisM, we now have an updated version of Machinaris (0.2.1) which includes these latest Chia binaries at verison 1.1.6. Also, big thanks to user Hukuma1 (aka yass15) for greatly improving the CSS for dark-mode.  In Unraid Docker tab, Check for Updates, apply Update for Machinaris.  Sync on!

20210521_095121.png

Edited by guy.davis
username
Link to comment
11 minutes ago, DoeBoye said:

This looks great! Does it support multiple temp directories for plotting as well as the multiple final plot directories that were mentioned above?

Yes it works - you add additional path parameters on the docker container + modify the plotting settings to look something like this (note I have 2 additional temp locations beyond the default one):

                - /plotting
                - /plotting2
                - /plotting3

 

I didn't try with the final directories but I assume it would be the same.

 

Just wanted to thank the guy.davis for this container - awesome work, very well done.  It's stable and highly configurable.  A lot less jank than dealing with the plotter on Windows. The new update which allows the pausing / killing of plotting from the UI is also freaking awesome.

  • Like 2
Link to comment
25 minutes ago, CMASSE said:

Yes it works - you add additional path parameters on the docker container + modify the plotting settings to look something like this (note I have 2 additional temp locations beyond the default one):

                - /plotting
                - /plotting2
                - /plotting3

 

I didn't try with the final directories but I assume it would be the same.

 

This is exactly right.  Some screenshots help show it in the FAQ.

 

25 minutes ago, CMASSE said:

Just wanted to thank the guy.davis for this container - awesome work, very well done.  It's stable and highly configurable.  A lot less jank than dealing with the plotter on Windows. The new update which allows the pausing / killing of plotting from the UI is also freaking awesome.

 

Thanks for the feedback.  All the contributions of testing time, bug fixes, and patches from everyone here and on the Discord have really helped a lot.

 

  • Like 1
Link to comment

@guy.davis Hi! Just couple of newbie questions.  For the Plotting SSD, would you use SATA SSD, NVMe on a PCI-e card or NVMe on Mobo ?  I guess SATA SSD cheapest, but slower of the lot?   For the final Farming, would you all put that outside of the array using Unassigned devices or for the farming part, using the Free space of the array is good enough?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.