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


Recommended Posts

1 hour ago, Marshalleq said:

Hi all, just switched over from standard chia docker container so that I could get alerting.  I was wondering should the alerting be saying it is stopped?  It's been running for a few hours now - but just thought I'd check thanks.

1385895851_ScreenShot2021-09-05at10_41_49AM.thumb.png.228c6ed8242f2537097646f83e7976c8.png

Welcome! Thanks for sharing the screenshot.  I would recommend restarting the Machinaris container via the Unraid Docker tab.  This should restart all services, including Chiadog (and Flaxdog) that is shown as stopped.  Please let me know here (or on our Discord server) if that doesn't sort the problem.

Link to comment

Hi, yeah I did try that - and I just did it again for good measure with same result.  (BTW I've joined the Discord group also now thanks).

 

Anyway, I found the culprit - I had in my config like the below: note the first # which needed to be removed and now it starts.

Though I'm not convinced that's right yet - should there be something after keep_alive_monitor?  Like enabled or true?

 

 

#keep_alive_monitor:
enable_remote_ping: true
ping_url: 'www.domain.com'

 

Also, do you have any idea if the below rpc.server traceback is a problem or just related to bad hosts?  It's in my logs a few times but I suspect it's happening each time I restart.  I'm not sure if it's chia related or machinaris.

2021-09-05T13:20:10.323 full_node chia.full_node.full_node: INFO     peer disconnected {'host': '73.254.242.75', 'port': 8444}
2021-09-05T13:20:11.576 wallet chia.rpc.rpc_server        : WARNING  Error while handling message: Traceback (most recent call last):
  File "/chia-blockchain/chia/rpc/rpc_server.py", line 83, in inner
    res_object = await f(request_data)
  File "/chia-blockchain/chia/rpc/wallet_rpc_api.py", line 1138, in get_farmed_amount
    tx_records: List[TransactionRecord] = await self.service.wallet_state_manager.tx_store.get_farming_rewards()
AttributeError: 'NoneType' object has no attribute 'tx_store'

2021-09-05T13:20:12.487 full_node full_node_server        : INFO     Connected with full_node {'host': '176.241.136.51', 'port': 8444}
2021-09-05T13:20:12.491 full_node full_node_server        : INFO     Connection closed: 176.241.136.51, node id: fd30bde4674f602d160b235ade905862112390d8a704d658c50c544318e234fa
2021-09-05T13:20:12.492 full_node chia.full_node.full_node: INFO     peer disconnected {'host': '176.241.136.51', 'port': 8444}

Thanks.

Link to comment

Apologies if this has been answered, but I can't seem to find an explanation. Why did 2 Pooling wallets get created when I joined pooling? The wallet page now shows three Chia wallets:

 

Wallet ID 1 type STANDARD_WALLET (I get it. This is the old one)

Wallet ID 2 type POOLING_WALLET

Wallet ID 3 type POOLING_WALLET (Why a second Pooling wallet?)

Link to comment

As of current version, if plotting is interrupted from a docker restart, are the in-progress plots able to be re-started or do they need to be deleted / lost?

 

I'm looking at automated app data backup and it says it will restart container after running - but I don't want to lose plots in progress.

Link to comment
On 9/4/2021 at 7:25 PM, Marshalleq said:

Hi, yeah I did try that - and I just did it again for good measure with same result.  (BTW I've joined the Discord group also now thanks).

 

Great, glad you got it sorted.  Welcome!

 

On 9/4/2021 at 7:25 PM, Marshalleq said:
2021-09-05T13:20:10.323 full_node chia.full_node.full_node: INFO     peer disconnected {'host': '73.254.242.75', 'port': 8444}
2021-09-05T13:20:11.576 wallet chia.rpc.rpc_server        : WARNING  Error while handling message: Traceback (most recent call last):
  File "/chia-blockchain/chia/rpc/rpc_server.py", line 83, in inner
    res_object = await f(request_data)
  File "/chia-blockchain/chia/rpc/wallet_rpc_api.py", line 1138, in get_farmed_amount
    tx_records: List[TransactionRecord] = await self.service.wallet_state_manager.tx_store.get_farming_rewards()
AttributeError: 'NoneType' object has no attribute 'tx_store'

2021-09-05T13:20:12.487 full_node full_node_server        : INFO     Connected with full_node {'host': '176.241.136.51', 'port': 8444}
2021-09-05T13:20:12.491 full_node full_node_server        : INFO     Connection closed: 176.241.136.51, node id: fd30bde4674f602d160b235ade905862112390d8a704d658c50c544318e234fa
2021-09-05T13:20:12.492 full_node chia.full_node.full_node: INFO     peer disconnected {'host': '176.241.136.51', 'port': 8444}

 

 

Only times I've seen this in the Chia debug.log is when the Chia services didn't start-up cleanly.  Chia devs are looking into memory leak issues with latest Chia binaries which may be the source of some performance issues lately. 

 

If Chia still doesn't seem to be responding after 10 minutes since startup (as verified by "chia farm summary" and "chia wallet show" in the container), I would recommend either restarting the Machinaris container or you can do a "chia start farmer -r" which restarts just the Chia services.  Hope this helps!

Link to comment
4 hours ago, DoeBoye said:

Apologies if this has been answered, but I can't seem to find an explanation. Why did 2 Pooling wallets get created when I joined pooling? The wallet page now shows three Chia wallets:

 

Wallet ID 1 type STANDARD_WALLET (I get it. This is the old one)

Wallet ID 2 type POOLING_WALLET

Wallet ID 3 type POOLING_WALLET (Why a second Pooling wallet?)

 

 

Hi, did you import an existing Mnemonic Seed-phrase (Private Key) when installing Machinaris?  Had you previously started pooling using other Chia tools before coming to Machinaris?

 

If so, the Standard wallet appears immediately on Machinaris setup.  However, when importing a mnemonic, Machinaris must wait (day or more sometimes) for the Chia blockchain to sync up completely before it sees that an existing Pooling wallet (plotnft) exists for a given key. 

 

It's possible the 2nd Pooling wallet was created by Machinaris before the blockchain was synced enough to know about the first Pooling wallet?  This is a guess on my part.  Regardless, you can just choose the "pool_contract_address" from your preferred Pooling wallet for the purposes of plotting (plotman.yaml).  The other plotnft can be ignored.

Link to comment
1 hour ago, Ystebad said:

As of current version, if plotting is interrupted from a docker restart, are the in-progress plots able to be re-started or do they need to be deleted / lost?

 

I'm looking at automated app data backup and it says it will restart container after running - but I don't want to lose plots in progress.

 

Welcome back!   Good to hear from you again.  Don't hesitate to ask questions on the Discord server for a faster response than this list.  

 

Unfortunately, a Docker container remains similar to a small VM in that when a container is restarted all processes inside (including plotting) are stopped.  At this point there is no way to resume a plot after a system restart for either the Chia or Madmax plotter.  

 

So, if using "Backup/Restore Appdata" plugin, you can set Machinaris to 'Do Not Stop' under Advanced Settings as shown here.  There is some risk to getting a live snapshot, but you can always perform manual backups once in a while to minimize the risk.  Hope this helps!

 

image.png.8291952b9d7d0a9651d6b83d3f9d3ab0.png

  • Like 1
Link to comment

Good day! The next version of Machinaris is now available: v0.5.5. Thanks to all those who tested and provided feedback during the release cycle. All contributions are appreciated!

  • 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.
Link to comment
4 hours ago, LOOPMDS said:

my wallet cant connect. 

chia wallet show :
------
Connection error. Check if the wallet is running at 9256. You can run the wallet via:
        chia start wallet
------

i restarted the docker twice.  and its in sync.

 

Sorry to hear that.  This has affected a few users of Machinaris over the months, as well as regular Chia (CLI) users.  The guidance is force a reset of the Chia wallet which seems to get into a bad state sometimes.

 

  1. Stop the Machinaris container
  2. Delete folder on Unraid: /mnt/user/appdata/machinaris/mainnet/wallet
  3. Start the Machinaris container

Wait 15+ minutes for initial Machinaris status to be updated, then wait for wallet to re-sync from network peers in a day or so.  Hope this helps.

Link to comment
On 9/7/2021 at 4:21 PM, guy.davis said:

 

Hi, did you import an existing Mnemonic Seed-phrase (Private Key) when installing Machinaris?  Had you previously started pooling using other Chia tools before coming to Machinaris?

 

If so, the Standard wallet appears immediately on Machinaris setup.  However, when importing a mnemonic, Machinaris must wait (day or more sometimes) for the Chia blockchain to sync up completely before it sees that an existing Pooling wallet (plotnft) exists for a given key. 

 

It's possible the 2nd Pooling wallet was created by Machinaris before the blockchain was synced enough to know about the first Pooling wallet?  This is a guess on my part.  Regardless, you can just choose the "pool_contract_address" from your preferred Pooling wallet for the purposes of plotting (plotman.yaml).  The other plotnft can be ignored.

I did. I started plotting in other Chia Docker and imported the seed phrase. Doesn't look like an issue to be concerned about, so I will ignore :).

 

A new issue. When I switched to pooling (or just coincidence?), my summary page is no longer updating wallets. Chia wallet or Flax wallet (though I can see the correct coin amount in the wallet page). Any ideas? :)

Edited by DoeBoye
Link to comment
1 hour ago, DoeBoye said:

A new issue. When I switched to pooling (or just coincidence?), my summary page is no longer updating wallets. Chia wallet or Flax wallet (though I can see the correct coin amount in the wallet page). Any ideas? :)

 

Glad to hear it's working for you now.  Regarding the Summary page display of 'Chia Farmed' and 'Flax Farmed', that's a count of blocks won by your farm.  It's different than the Wallet display which shows your current balance, including pool payments, etc.  Hope this helps!

Link to comment
57 minutes ago, guy.davis said:

 

Glad to hear it's working for you now.  Regarding the Summary page display of 'Chia Farmed' and 'Flax Farmed', that's a count of blocks won by your farm.  It's different than the Wallet display which shows your current balance, including pool payments, etc.  Hope this helps!

Ahhh! Ok. That explains the Chia difference. Thanks! Now what about the Flax? It's not pooling, right? So shouldn't it match what's in the wallet?

Link to comment

@guy.davis Thank you for this awesome container. I am a chia noob and I am trying it out for the first time on Machinaris. I cannot join a pool until my blockchain is synced because my wallet will not sync to show my single mojo and be able to join the pool, is there a way to start plotting a pool valid plot without joining any pool? Another question, I plan on using unassgined devices for farming but I really like the idea of farming on an unraid pool because you can utilize 100% of each HD space, however I noticed that if I create a pool in single mode and create a share to use the pool as it's cache, with the option "Use cache pool (for new files/directories):" set to Only, when I move my plots to the pool, even though I defined in the share settings "Allocation method: Fill up" it splits the same plot between multiple drives, I think this is because that setting only applies to the main array disks that are assigned to the share, that means when one of them fails I will lose a lot or maybe all of my plots, is there a way to make unraid fill up each disk one by one sequentially? Or would using the main array the only possible way? I don't want to use the main array because I have more than 30 drives for chia and that would mean buying multiple unraid licenses and having to manage multiple OS'es (poor scaling).

Edited by Mr_4braham
Link to comment
2 hours ago, Mr_4braham said:

@guy.davis Thank you for this awesome container. I am a chia noob and I am trying it out for the first time on Machinaris. I cannot join a pool until my blockchain is synced because my wallet will not sync to show my single mojo and be able to join the pool, is there a way to start plotting a pool valid plot without joining any pool?

 

Thanks!  Unfortunately, with Chia pools being a late add-on to the Chia protocol (months after initial release in March), there is no way to perform "Single-click Farming" right now.  You're right that the sequence is:

1) Launch Machinaris, create/import your private mnemonic pass-phrase.

2) Switch to Settings | Pools -> click 'Get Mojos' link, enter your public address to the Chia faucet 

3) Wait days! for both the initial blockchain sync and the mojos to appear in your wallet.  

4) Switch to Settings | Pools, once you have mojos, select a Pool and join.

5) This creates a PlotNFT which you can then use to Plot with.  Can't plot until you have this "pool_contract_address".

 

Chia devs are saying they are going to improve this in coming year.  I sure hope so...

 

2 hours ago, Mr_4braham said:

 

Another question, I plan on using unassgined devices for farming but I really like the idea of farming on an unraid pool because you can utilize 100% of each HD space, however I noticed that if I create a pool in single mode and create a share to use the pool as it's cache, with the option "Use cache pool (for new files/directories):" set to Only, when I move my plots to the pool, even though I defined in the share settings "Allocation method: Fill up" it splits the same plot between multiple drives, I think this is because that setting only applies to the main array disks that are assigned to the share, that means when one of them fails I will lose a lot or maybe all of my plots, is there a way to make unraid fill up each disk one by one sequentially? Or would using the main array the only possible way? I don't want to use the main array because I have more than 30 drives for chia and that would mean buying multiple unraid licenses and having to manage multiple OS'es (poor scaling).

 

Yes, consensus seems to be that creating a new Pool in Unraid, with NO parity enabled, and adding your disks there, meaning a single volume mount into the Machinaris container, can work well and be a simple approach.  

 

I'm using individual unassigned devices (5 only) and a bit of free space on my main array.  This also works, but is pain at 30 devices.

 

I wouldn't recommend using your main Array to hold all your plots.  Plots shouldn't be protected by Parity (causing lost disk space).  Hope this helps!

 

 

 

Link to comment

Good day! The next version of Machinaris is now available: v0.5.6.

This is a patch release with minor upgrades for many bundled components.

  • 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.  See their changelog for details.
  • Flax - Update to version 0.1.2.  See their changelog for details.
  • Bladebit - Update to version 1.1.1.  See their changelog for details.
     
  • Like 1
Link to comment
54 minutes ago, guy.davis said:

 

Thanks!  Unfortunately, with Chia pools being a late add-on to the Chia protocol (months after initial release in March), there is no way to perform "Single-click Farming" right now.  You're right that the sequence is:

1) Launch Machinaris, create/import your private mnemonic pass-phrase.

2) Switch to Settings | Pools -> click 'Get Mojos' link, enter your public address to the Chia faucet 

3) Wait days! for both the initial blockchain sync and the mojos to appear in your wallet.  

4) Switch to Settings | Pools, once you have mojos, select a Pool and join.

5) This creates a PlotNFT which you can then use to Plot with.  Can't plot until you have this "pool_contract_address".

 

Chia devs are saying they are going to improve this in coming year.  I sure hope so...

 

Thank you for clarifying this.

 

55 minutes ago, guy.davis said:

Yes, consensus seems to be that creating a new Pool in Unraid, with NO parity enabled, and adding your disks there, meaning a single volume mount into the Machinaris container, can work well and be a simple approach.  

 

I'm using individual unassigned devices (5 only) and a bit of free space on my main array.  This also works, but is pain at 30 devices.

 

I wouldn't recommend using your main Array to hold all your plots.  Plots shouldn't be protected by Parity (causing lost disk space).  Hope this helps!

 

My point is that if you use a pool that is not the main array, things are gonna be written to it sparsely, so each plot you own will be divided between all or if not all a lot of the disks in the pool, and then in the event of a disk failure all or most of your plots will be lost, rebuilding plots from a single disk is no big deal but if you lose all or most of your plots them it is a problem. With the main array you can simply not use any parity disk and define in the share settings that you want to write to each disk in sequence, so your plots will not be spread across the disks, however you can only have one main array and the maximum amount of disks in it is 30, so it is not scalable. Using unassigned devices is scalable but a pain to manage as you pointed out.

  • Like 1
Link to comment
10 hours ago, Mr_4braham said:

My point is that if you use a pool that is not the main array, things are gonna be written to it sparsely, so each plot you own will be divided between all or if not all a lot of the disks in the pool, and then in the event of a disk failure all or most of your plots will be lost

Unraid supports multiple pools, you can have multiple small pools of a few disks, how many I would feel comfortable with will depend mostly on the size of the disks, plots on each pool can all be on the same share, same one as the array if you also have plots there, as long as you adjust the use cache setting correctly, this way chia can access all the pots with a single entry, e.g.: /mnt/user/plots, and if you lose a disk in a pool you only lose the plots in that pool.

  • Like 1
Link to comment
22 hours ago, JorgeB said:

Unraid supports multiple pools, you can have multiple small pools of a few disks, how many I would feel comfortable with will depend mostly on the size of the disks, plots on each pool can all be on the same share, same one as the array if you also have plots there, as long as you adjust the use cache setting correctly, this way chia can access all the pots with a single entry, e.g.: /mnt/user/plots, and if you lose a disk in a pool you only lose the plots in that pool.

I have not managed to assign more than one pool to a share during my testing, for me each share can only have one cache, and pools are presented as cache, not as disks, maybe I am missing something. Can you explain to me how to assign multiple pools to a share? And would that mean each pool is written to in order until it gets full instead of writing across all pools at the same time?

Link to comment
4 hours ago, Mr_4braham said:

have not managed to assign more than one pool to a share during my testing, for me each share can only have one cache, and pools are presented as cache, not as disks, maybe I am missing something

You're not, currently you can only have one pool per share, but since for this purpose you only write once then just need read access it's fairly easy to get around, you can configure the use cache option to only for the pool you're currently filling, when that one gets full change to next one, or just move the files there manually, once the files are there all the files on that share will still be under /mnt/user/share, so the farmer will see them all independent of the use cache setting.

Link to comment
  • 2 weeks later...
7 hours ago, Spazhead said:

hi there, how can i fix this, hostname shows in Worker tab

 

558731269_ScreenShot2021-09-29at9_37_45AM.thumb.png.49c6e2a4e09919a93954e48b0f320d25.png

 

but IP shows in the Plotter tab

 

761452296_ScreenShot2021-09-29at9_37_55AM.thumb.png.5a0df1b9529fdefdf4341656da8acdb5.png

 

Good catch! This looks a defect on my end to not translate the IP address to display name on the Plotting page as I've done for other pages.  I'll take this on to fix in the next release.  Thanks again for the report.

 

  • Like 2
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.