So you think you want to farm chia?

Chia is a great fiber supplement for your diet. But have you considered it as a supplement to your cryptocurrency mining?A package of Target Simply Balanced chia seeds

Chia is a proof-of-space-and-time cryptocurrency, invented by Bittorrent creator Bram Cohen and inspired/designed after Satoshi Nakamoto’s original Bitcoin paper. You can read plenty of the underlying details and math around it at chia.net, but what I’ll be covering here is an introduction to how Chia works for the person making it, and how to get started with Chia.

You should read this post first, but I have hardware suggestions in another post, and both the chia.net website and chiadecentral.com have plenty of ideas as well.

There is a Frequently Ungoogled Chia Questions post available as of May 11, 2021; it will get most updates, although if anything in this post becomes totally wrong, I will fix it. 

I wrote up my NUC plotter build step by step.


I also need to note that, while I appreciate all of the feedback and the record-setting number of viewers to this post, I cannot provide free consulting and rig reviews to everyone who submits a configuration. I’m happy to try to address specific questions in the comments, but general “help me get started” and “what hardware should I use” questions are answered in these posts and I won’t be able to review everyone. 

 

First, The Caveats

Read this post, and some of the linked resources, but the best thing to do is to start with what you have on hand. A big part of the design of Chia is to use reusable components (unlike ASIC mining and even certain GPU mining, which eventually outgrows the components, which will then be less useful for any other use). 

If you have a modern desktop with 8+ CPU threads, 16GB or more of RAM, at least 300GB of free SSD space and at least a few terabytes of HDD, you’re good to go. 

If you don’t have anything like that, I’ll share my own configurations below, as well as some hardware lists in an accompanying post to help you find a manageable starter farm for around $1000 and another more scalable one for under $2000 (less if you start from an existing system or components) . You can also find hundreds of tested configs on the Chia subreddit and various blogs. 

If you decide later to invest thousands of dollars in hard drives, SSD, big CPUs, and lots of RAM, you’ll better understand how the process works and where to put your money. Or if you’re like me and have a pile of old servers in the garage, you’ll be able to upgrade what you already have and make the most of it. 

If you’re using an SSD or NVMe drive for plotting, the plotting process will wear out the SSD eventually. A single plot uses up to 1.8TB of writes. Check your drive specs and figure out what lifespan to expect, and don’t use your boot disk as plotting space. As examples, the 1TB Samsung SSD980 SSD is rated for 600TBW, or 333 plots (including failed ones), for $130. A Seagate Firecuda 520 1TB is rated for 1800TBW, or 1000 plots, for about $180. So spending about 50% more gets you 3x the endurance.  

And don’t expect to get rich on day one. For starters, Chia transactions don’t open up until May, so you can’t do anything with your Chia until then. And it may take you days, weeks, or months to find Chia, and none of us know yet where the value of the currency will go. Calculator sites are estimating $20. Some speculative sellers are looking at a lot more than that. But today, it’s just pre-farming and getting ready for the full launch next month.

High-level Overview of Chia Farming

Most cryptocurrencies are mined, but Chia’s process is called farming. I may accidentally use the ‘mining’ term interchangeably, but in the documentation you’ll see Chia farming, plotting, harvesting, and so forth, following the crop analogy.

There will be three basic steps in creating Chia.

  1. Install the Chia software and create a wallet/keys
  2. Plot one or more plots of Chia space, which will be used as the basis for farming. This uses high speed storage, temporarily.
  3. Farm against the plotted plots of Chia space. This uses cheap, low-speed storage, permanently.
  4. Bonus step – you have no control over this (it happens as a function of luck and #3), but hopefully you will farm successfully and find block rewards of XCH, the Chia coin. These come in blocks of 2, so your first successful match will earn you 2 XCH. 

Hardware considerations

You need three functions for Chia, in addition to a supported OS (Linux or Windows probably), a network connection for your node, and the usual power/space/cooling:

  1. CPU threads and RAM. You need a minimum of 2 threads and 4GB of RAM to create a single plot. You will not want to use all threads or RAM, or the rest of the OS will be sluggish, so if (for example) you have 6 cores, 12 threads, and 24GB of RAM, you should run no more than 5 plots in parallel, not 6 (which would use up all your resources). 
  2. High performance storage for creating plots (about 300GB of temporary space per parallel plot)
    You will generally plot on high performance storage. NVMe is popular for this, but SAS disks can be used with fair performance, and even your desktop 7200rpm SATA drive will function, albeit more slowly.
    While a k32 plot only requires 256GB (238.3GiB) of temporary space since the release of Chia 1.0.4, a single plot will use 1.6-1.8 TB of writes, which you should take into account when planning SSD storage. more on this later. 
  3. Low performance storage for storing and farming plots (about 108GB of permanent space per plot)
    This should be the largest cheapest storage you can find. A home grade NAS (such as an older Synology or QNAP) or even an external drive enclosure (like Drobo or Orico or Syba) with large 5400rpm or 7200rpm drives is good, or a few large internal SATA or external USB 3.0 drives on your plotting machine are acceptable as well. Since you are writing sequentially once and reading a lot, RAID5, RAID6, SHR with Synology, or ZFS are viable options. 
    Plots will be stored for a long time (they are expected to be valid for 10 years), so you will probably keep adding storage as you grow your farm. 

There are a lot of other considerations, especially in matching up threads, RAM, and high perf storage to make the most of a single machine. you should read some of the Reddit (r/chia) and chia.net posts as well as chiadecentral.com to get a better grasp on this. But for now, 2 CPU threads, 4GB of RAM, 300GB of high performance storage, and 1TB of slow storage (can be the same if you have nothing else) is enough to get started with two plots a day.

Setting up your Chia node

You can plot and farm on a very basic PC, just as you can mine Ethereum on a very basic GPU. However, you will want to consider some aspects of the plotting process, as well as long-term farming storage, if you plan to hope to make some XCH out of this. 

You can do this on Windows, Linux, or both in parallel. I will discuss the Windows version for the most part, but I’m mining on Ubuntu 20 and Windows 10. And most of this can be accomplished from commandline on either platform, or through a third party Python application called plotman on Linux or a beta port to Windows.

The Chia software is a small bundle you download from chia.net’s front page. It’s been updated about 8 times in the month I’ve been farming, so you will want to check often or follow reddit.com/r/chia or other forums of your choice. Some updates are bug fixes, others increase the efficiency of the processes (like reducing temp space or plot size by 20% or more). 

Install it, create a wallet and keys, and make sure it starts up. The first time, you won’t see the “Private key with public fingerprint,” so you’ll choose “Create a new private key.” Store your 24 word mnemonic somewhere secure and offline. You’ll use it to install on other machines, or to recover if you lose your wallet on this computer. 

Your chia node will not be able to farm until it has synced the blockchain. This will take a day or two (as of original writing in late April 2021; as of May 5, 2021, expect two days). 

The above screenshot is from a system I installed chia on about 20 hours earlier. 

Plotting your first plot

Plots are the ground you try to grow Chia coins from, more or less, so without them, Chia is not useful to you.

In the GUI for Chia, you’ll see a Farm link and a Plots link. 

Farm shows what you already have to work with, and what you’ve earned. 

Here you see that the system I’m screenshotting from has 13 plots, for a total of 1.287TiB, and I have earned 4 XCH in the time I’ve been plotting. When you first install the software, you will not see any XCH or plots, and probably no Estimated Time To Win. And given the luck of farming, that 5 months is an estimate, not a minimum or a guarantee. Some people have found Chia (“Win”) with 2-3 plots, and others have hundreds of plots and no Chia. I found mine before I hit 100 plots, for what it’s worth. 

Since you have no plots, or you want more, you’ll go to the Plots link. 

Here you see that I am running six plots now, and have others that are farming. You You won’t have those at the moment, so we’ll start our first plot.

As you are getting started, you can leave the defaults alone. In about 6 years you’ll want to increase the plot size, but for now, leave it there. 

Make your first plot with the default settings. If you’re on a computer with close quarters, you can later do multiple plots in the queue, making one after another. After your first plot or two, you can go into parallel plotting, using the math above to make sure you don’t overrun your resources. 

After you’re comfortable with single plots, you can consider increasing the advanced option settings. Currently the advice in the Chia world is that more than 7GB of RAM is a waste (per plot), and there’s some debate on increasing threads. Certain parts of the process use one or the other more, and I have designs for three plot levels depending on your resources. 

Scroll down to set your storage locations. 

Your temporary directory is the fast high-throughput storage. Lots of people are using NVMe storage, and others use enterprise SSD, PCIe card flash storage (think Fusion-io type storage), or even hard drives. 

As noted above, you need about 300GB of space, and about 1.6-1.8 TB will be written for each plot.

You can stripe this storage. 4x 512GB SSD striped will give you about 1.8TB (or 6 plots in parallel without offset) whereas 4 individual 512GB SSDs will give you about 480GB each, or 4 plots in parallel. 

Your final directory is the huge slow storage. You need 100GB of space per plot, and these pile up, so 100 plots will be about 10TB. 

My Chia hardware experiences

When I started out, I was using a 6 core, 12 thread Ryzen 5 3600 on my desktop, with 64GB of RAM, a 512GB USB 3.1 external SSD from RAVpower, and an 8TB USB 3.0 external HDD. This let me do one plot at a time and hold about 75. I later upgraded to a PNY CS2130 2TB internal NVMe SSD, and started moving the plots to my Synology NAS or another node with more disks. This let me do up to 6 parallel plots (although that ate all my CPU threads). 

I usually plan for 12 hours per plot (or set of parallel plots). Some people have tuned their plots to under 4 hours, and some take a day or more. 

When I figured out what was going on, and realized I had a spare workstation in the garage with lots of resources (28 cores, 56 threads, 64GB RAM, and 1TB across four NVMe drives), I set that machine up–some of you may remember the Dell Precision T7910 I described here three years ago. I later upgraded to 4TB of NVMe and replaced the 6TB of internal SATA with four 8TB internal SAS drives for a total of 30TB internal space. 

My third Chia project machine was a T5810 with a 6 core 12 thread E5-1650 v3 processor and 32GB of RAM. It also has an external SAS HBA connecting to some SAS arrays that I’m still trying to optimize. 

At some point I will be merging the T5810’s functionality with the T7910, so I can get the beefy external storage and the mountain of CPU threads. 

You may be considering power draw for this equipment. The circuit that has the T5810, the T7910, a 15″ LCD monitor, and two 24-drive 2.5″ SAS arrays is currently using around 820 watts. I believe about half of that is the SAS arrays, so if you stick with internal storage, you’ll be way under that. The original Ryzen desktop is around 210 watts. 

Starter hardware configurations

If you can’t start with what you already have, you can build a very viable system for around $1000. Since it’s not very specialized, you can reuse it for something else (a desktop, another software project, a VMware home server, etc) when you’re done, or when you outgrow it. 

Since this post is getting long, I’ve put the hardware notes in another post. Check it out here: https://rsts11.com/2021/04/27/chia-hardware-starting-points/

And since a few people have asked, you can do Chia and GPU mining on the same machine. However, I don’t recommend it. If you have to restart your machine (OS or driver updates, hardware issues, etc), you may lose up to 12 hours of plot building work, and as far as I know, an interrupted plot just needs to be deleted and started over. But if you have one machine that is your workstation, your gaming rig, and your GPU miner, go ahead and give it a shot. But plan to break it off at some point if you’re going whole hog into Chia farming.

Where do we go from here?

At this point I’m going to try to centralize my farming operations and get them onto auto-pilot. By using Plotman, I should be able to optimize my available space and let my T7910 mine like crazy. 

What about you? What have you started with on the Chia farming path? Share your configs, your questions, and your bounty in the comments below. And for those of you who buy components through my links, thank you so much. 

Note: I will be updating this post over time as feedback comes in. Last update: 2021-5-08 1:45am PT.

 

Colin Quinn and the Art of Mining Rig Maintenance

I’ve been doing a lot with cryptocurrency mining lately, so there’s been a lot of activity here on rsts11 about it as well. For this post, a lot of the concepts can apply to a home lab in general, although it was inspired by several conversations on mining channels on Telegram and Discord over the past month.

In the late 1980s, actor Colin Quinn was an announcer on a game show called Remote Control. It’s not terribly remarkable in context, but as I’ve had a few people of differing technical levels ask about remote control for their mining rigs, it seemed relevant. 

Whether you’re managing a single server, a home lab, a mining rig, or an entire farm, it’s likely that your gear will not be in  your home office or possibly not even in your home at all, but you won’t want to travel to where the gear is everytime something needs to be power cycled. In the case of one of the people I consulted for recently, he was going to deploy mining rigs at a friend’s house in another country, and would not be able to be hands-on with the gear more than 2-3 times a year.  

So the considerations I’m making here are tuned for a relatively small number of systems that may not have IPMI console access, and may not have convenient access or remote hands services available. In a datacenter or similar environment, you may have contracted services to send someone to hit the reset button or look for issues. For many of my readers, this is not a luxury you’ll enjoy. 

My own remote access adventure happened when my oldest mining rig was a few miles from home. Thanks to my Meraki networks, I did have direct VPN access, but the rig would occasionally crash and require a physical power cycle. It was only 5-10 minutes each way, and I did have 24/7 access to the facility, but it got very inconvenient at times. 

The considerations I’ll layout here fall into a couple of categories. 

  1. Network access (usually via VPN of some sort)
  2. Console access (remote KVM)
  3. Power control (remote power controller over Ethernet, via #1 above)

Disclosure: Neither Robert M Persig, Colin Quinn, nor Ken Ober have any association or endorsement or even awareness of this blog post. 

Continue reading

Wrestling with an ONDA B250-D8P-D4 mining motherboard

Most casual crypto miners use a conventional motherboard, especially if they have a PC/case/power supply with sufficient PCIe slots for their GPUs. But when you get beyond 2-4 GPUs, you either need a rat’s nest of riser extenders, or maybe (just maybe) a dedicated mining motherboard.

I recently got a new-to-me mining motherboard, and found it painful to find some information and resources I needed. I’m aggregating this information in this post, and it will get updated as I get more relevant experience with the ONDA motherboard in question. If you have any info to share, feel free to comment below and I’ll update. (Last update 2021-03-14)

I’ve mined with an Octominer 8-slot motherboard for 3 years now. In addition to an onboard Celeron 3855U and a single DDR3 SODIMM RAM slot (max of 8GB), it has eight PCIe x16 slots, so you don’t need to use the common x1-to-x16 risers. It’s complicated in that you have to power the motherboard with a number of additional power connectors (in this case, 6-pin PCIe power leads from the power supply). But it sits flat on a custom frame I ordered in 2018, and it doesn’t have much that I don’t need (like lots of drive controllers, extra memory slots, audio, etc). And if you get a custom mining power supply (or breakout board) with only 6-pin connectors, you’re in good shape. 

Octominer has discontinued their 8-slot boards, and the boards may not support the latest GPUs on the market (much like the Ethos mining distro I used on it until this past week). I couldn’t get the board to boot with an AMD 5500XT GPU (Amazon, eBay) in the first slot, for example. So it’s chugging along with eight Sapphire Nitro+ RX580 8GB cards (Amazon, eBay), seven of which have been chugging for almost three years now.

While they still make custom boards, the only ways to get their products are either to find the rare used item on a marketplace, or to buy the one integrated rig they currently sell in quantities less than 10 (their x12 rig with everything but the GPUs, which runs almost $1,000 shipped to the US). 

Another company making custom boards is ONDA. You can usually find them on eBay or other marketplaces for a couple hundred dollars, with a range of slot support. I found a good deal on the B250 D8P-D4 recently, and since I wanted to aggregate a mess of old GPUs, it was an easy way to go. Continue reading

Money Pit: 3D Printing Part 3 – OctoPrint and OctoPi

This is one topic in a series of what I’m calling “money pit” projects. To be fair, it’ll be money and time pit topics, and nothing that you’d really have to get a second mortgage on your house to do… but things always get a bit out of hand.

This project is the 3D Printing project. Expect it to be an ongoing series, and I’m hoping to have some friends join the effort and offer their feedback as well. Links and prices are accurate as of November 2020, and may get updated in the future… but don’t count on it.

See the previous parts for the lead-in to this project. From here we’ll get into the enhancements and early printing.

Octopi / OctoPrint

The first day or two, I was running out to the garage to check on prints, and shuttling the included 8GB MicroSD card back and forth to load print files onto it. Since the only storage the printer has is this MicroSD card, I couldn’t add files during a print run, and it got somewhat tiring.

Enter OctoPrint and OctoPi.

OctoPrint is an open-source management program and web front-end for many/most 3D printers. It communicates with the printer over a USB cable. It can be installed on a Linux, Windows, or MacOS computer. However, you might not want to dedicate a full-sized computer to this task.

OctoPi is a Raspbian (Raspberry Pi Debian image) based distribution with Octoprint and the video streamer software included. you just need a Pi 3B or later board (and case and power supply) and an SD card with OctoPi installed. Older boards will work, but with the camera option or other intense plugins (like gcode viewers) you won’t like it according to the folks behind OctoPrint and OctoPi. Continue reading

Rabbit Reorganization: Building low power clusters from a rabb.it door

As you saw in my 3D Printing series, after years of pondering a 3D printer, I was finally inspired to buy one when a pile of clusters came up on eBay from the defunct rabb.it video streaming service.

In this series, I’ll take you through turning a rabbit door into some useful computing resources. You can do something similar even after the clusters are sold out; a lot of people have probably bought the clusters and ended up not using them, or you can adjust the plans here to other models.

The first thing I will put out there is that these are not latest-and-greatest state-of-the-art computers. If you’re looking for a production environment or DDR4 high density memory, keep looking. But if you want an inexpensive modular cluster that’s only about 5 years out of date, there’s hope for you in here.

The original cluster

eBay seller “tryc2” has sold several hundred of these “door clusters” from rabb.it, a now-defunct video streaming service that closed up shop in mid-2019. As of this writing, they still have a couple dozen available. I call it a “door cluster” as the 42 inch by 17 inch metal plate resembles a door, and gives you an idea of the ease of manipulating and fitting the environment into your home/homelab as it is delivered.

The cluster bundle will set you back US$300, plus tax where applicable. While they’re available, you can get one at this link and I’ll get a couple of dollars in commission toward my next purchase.

The cluster includes 10 Intel NUC quad-core boards (mine were NUC5PPYB quad-core Pentium; my friend Stephen Foskett got some that were newer NUC6CAYB Celeron boards which took more RAM). These boards feature one DDR3L SODIMM slot (max of 8GB), one SATA port with a non-standard power connector (more on this later), Gigabit Ethernet, HDMI out with a headless adapter (to fool the computer into activating the GPU despite no monitor being connected), four USB ports, and a tiny m.2 slot originally intended for wireless adapters.

In the center of the “door” are five NVIDIA Jetson TK1 boards. These were NVIDIA’s first low-end foray into GPU development, sold to let individuals try out machine learning and GPU computing. There are much newer units, including the Jetson Nano (whose 2GB version is coming this month), if you really want modern AI and GPU testing gear, but these are reasonably capable machines that will run Ubuntu 14 or 16 quite readily. You get 2GB of RAM and a 32GB onboard eMMC module, plus a SATA port and an SD slot as well as gigabit Ethernet.

The infrastructure for each cluster includes a quality Meanwell power supply, a distribution board assembly I haven’t unpacked yet, two automotive-style fuse blocks with power cords going to the 15 computers, and a 16 port Netgear unmanaged Gigabit Ethernet switch. With some modifications, you can run this entire cluster off one power cord and one network cord.

What’s missing?

So there is a catch to a $300 15-node cluster. The Jetson nodes are component complete, meaning they have RAM and storage. However, the NUCs are barebones, and you’ll need some form of storage and some RAM.

For the Jetson nodes, you’ll need an older Ubuntu machine and the NVIDIA Jetpack software loader. For the installation host, Ubuntu 14.04 is supported, 16.x should work, and later versions are at your own risk. You’ll also need an Ethernet connection to a network shared with your Ubuntu machine, as well as a MicroUSB connection between your Ubuntu host and the Jetson, to load the official software bundle.

For the NUCs, you’re looking at needing to add a SODIMM and some form of storage to each. I bought a bunch of 8GB SODIMMs on eBay ($28.50 each) to max out the boards. For storage, I tried USB flash drives and 16GB SD cards and had OS issues with both, so I bought the MicroSATACables NUC internal harness for each board, along with Toshiba Q Pro 128GB SATA III SSDs (these are sold out, but there’s a Samsung SM841N currently available in bulk for the same price, about $20 each).

If you do get a cluster bundle with the two-memory-slot NUC boards, you have two options beyond the above. The easy and documented option is to look for 4GB SODIMMs instead of 8GB; you may save a buck or two, or if you’re like me, you may have a box of 4GB SODIMMs from various upgrades and not have to buy anything. The other option is to update your BIOS on the NUC and try out 2x 8GB. For some uses, 16GB will be worth the cost (vSphere or other virtualization clusters). I’d suggest going with a known quantity to update the BIOS to the latest version, and then trying 2x 8GB.

One other thing you may need is a pack of spare fuses. I know they do their job, as I blew a few of them while plugging and unplugging the boards. But you may wish to have a few extras around. They’re the standard 3 amp “mini blade” fuse that can be found at auto parts stores (although my local shops tended to have one card of them, if that, on the shelf). You can also buy a 10 pack for $6.25 (Bussmann brand) , a 25 pack for about the same price (Baomain brand) or a 100 pack (Kodobo brand) for about $9.

Choose your own adventure

There are two paths to take once you have your gear collected and connected.

  1. How do we lay out the gear?
  2. What do we do with it?

I’ll look at my journey on both paths in upcoming episodes of this series. Spoiler: I’ve 3d-printed stacking plates for both the NUCs and the Jetsons, and am still working on how to mount the remaining pieces so I can e-waste the door piece. And as I write part 1, I still haven’t figured out what to do with the clusters.

Where do we go from here?

If you’ve bought one of these clusters (or more than one), feel free to chime in on the comment section and let me know what you’ve done with it. And stay tuned to this post (or @rsts11 on Twitter or Facebook) for updates on the next installments.