-
Notifications
You must be signed in to change notification settings - Fork 7
Installation Guide
- Make sure you meet the minimum requirements
- Download and install the software
- Start plotting with the DrPlotter tool.
- Set your client token
- Run your DrSolvers
- Setup and run your DrChia harvester with your existing chia farmer.
- Verify your DrPlots are submitting proofs
DrPlotter Minimum Requirements:
- 24GB nvidia 3090 / A5000 / 4090
- 128GB DDR4 RAM
- motherboard with a PCIE 4.0 x 16 slot
- 64 bit processor (onboard GPU a bonus)
- Ubuntu / Debian based system
DrSolver Minimum Requirements:
- 24GB nvidia 3090.
- Ubuntu / Debian based system
DrChia Harvester Minimum Requirements:
- ~4GB RAM for every 1PiB of raw disk space.
- Ubuntu / Debian based system
Make sure you meet the minimum requirements above. Then, download the latest .deb package from the releases page.
In the command line, run dpkg on your downloaded file, for example:
sudo dpkg -i drplotter_0.9.0_amd64.deb
This will install drplotter, drsolver, and drchia for the harvester in the /usr/bin/ directory.
You'll also need to install the protobuf library for drsolver:
sudo apt-get install libprotobuf23
If at any point you want to remove drplotter, to uninstall run:
sudo dpkg -r drplotter
Note
DrPlotter only supports the recommended NFT plots with pooling. This is to ensure you can verify your system is running as expected against proofs submitted to pools. You can still choose to solo pool, but it must be a plot NFT and not the OG format.
To make plots, run:
drplotter plot -f <your_farmer_key> -c <your_pool_contract_address> -d /your/hdd/directory/ --compression <eco3x or pro4x>
This will fill the directory with plots. While plotting, you'll see progress and when plots complete, you'll see output like this:
Location:
Path: /media/nick/E14TB_14/drplots/
Usage: 1.76 TB used of 12.73 TB total (13%)
Est. Completion: 467 plots by 2024-01-26 09:25 (2 days, 8 hours)
Plotting File: drplot-pro4x-2024-01-24-00-35-372b8c5b9948587dcf4e6b66565cd382.drplot
Progress Time ETA
-----------------------------
100% ########## 06:51 -
Size : 24.01 GiB 1
Proofs : 4.180.621.852
Bits/proof : 49.33 (24.33% of original size)
============ 2024-01-24 00:43:42 ============
Bits/proof is the most important metric for compression. A standard k32 chia plot will require around 202.8 bits for each proof it stores. By comparing bits per proof, we can accurately see the compression based on the number of proofs a plot has, and not just it's physical size.
To see more plotting options, run:
drplotter -h
DrPlotter requires a unique client token for authentication. This token links your drsolvers and harvesters. Use the same token across all your machines running drchia harvesters and drsolvers.
Run the following command to generate a new client token:
drsolver --generate-token
This command creates a new authentication token. You'll see output similar to this (note that your token will be different):
Generated client token: kWq9NXkHQ75zGhebkJzriknBs0IOnDux5kIqOd0aJioM6HSR
-
Temporary Setting: For a temporary setup in a bash shell, use:
export DRPLOTTER_CLIENT_TOKEN='Your_Unique_Token'
Replace 'Your_Unique_Token' with the token generated in the previous step.
-
Persistent Setup:
Edit your
.bashrc
file for a more persistent solution:nano ~/.bashrc
Add the following line to the end of the file (with your actual token):
export DRPLOTTER_CLIENT_TOKEN='Your_Unique_Token'
Save and exit, then apply changes with:
source ~/.bashrc
To verify that your token is set correctly, you can run:
echo $DRPLOTTER_CLIENT_TOKEN
and check that the output matches your token.
Caution
Keep your token secure and do not share it in public forums
Once your DRPLOTTER_CLIENT_TOKEN is set in your environment (see previous section), run:
drsolver
DrSolver will run and connect to Solver Server. Once connected, it will display your connected harvesters and solvers that are linked using the same client token. Below is an example output:
DrPlotter Solver v0.9.0
DrPlotter Farm Status
--------------------------------------------------------------------------------
Status: CONNECTED Uptime: 02:23:30
Client Token: kWq9NXkHQ75zGheb...
Total Harvesters: 2 Total Solvers: 1
Num DrPlots Raw Size Effective Size Extra Rewards
3911 95.80 TiB 376.20 TiB +393%
Solver GPU: NVIDIA GeForce RTX 3090
--------------------------------------------------------------------------------
Fan Temp Perf Pwr:Usage/Cap Memory-Usage
30% 61C P2 237W / 240W 23346MiB / 24576MiB
Status Load 1 min / 5 min / 15 min
SOLVING 14% / 34% / 32%
Commands: [Q]uit
While DrSolver is running, monitor the 5-minute and 15-minute "load" indicators to gauge the current capacity usage of your GPU as a percentage of its total capacity.
On your harvester system, set the DRPLOTTER_CLIENT_TOKEN environment variable to the one you generated with your DrSolver.
Important
Chia Network recently released new harvesters that break changes in config.yaml files. If you have trouble with this section on an existing chia harvester, remove your ~/.chia/ directory and setup again using drchia init instead as explained in the next section.
If you already have a chia setup for your system, you can simply run:
drchia start harvester -r
Make sure to include the -r to stop any previous harvesters and replace them with the drchia harvester.
Add any new plot directories you've plotted, as you would with chia's software, e.g.:
drchia plots add -d /your/plots/directory
If you don't have any harvester setup on your machine, you can follow the chia official guide to setting up a remote harvester but use the drchia
command instead of the chia
command:
-
First, run:
drchia init
-
Then, you need to copy in your ca certificates from your farmer machine, these are usually found at
~/.chia/mainnet/config/ssl/ca
. Initialize these with your harvester:drchia init -c /path/to/your/farmers/ca/certificates
-
Edit the chia config file on your harvester.
~/.chia/mainnet/config/config.yaml
Look for farmer_peer: under the harvester: section, and edit the ip to point to your farmer ip. e.g.
harvester: farmer_peer: host: <Farmer IP Address> <--- set to your farmer ip address, e.g. 192.168.1.23 port: 8447
Don't forget to save your changes.
Before you run your harvester, let's change the config so that you can see log outputs to check it's working. Run:
drchia configure --log-level INFO
And now run:
drchia start harvester -r
If all is well, you can now check your logs in ~/.chia/mainnet/log/debug.log
If you see logs similar to this:
2024-01-24T01:05:55.731 harvester drplotter : INFO Harvesting 1368 drplots with on disk size 36.82 TiB, after decompression 130.58 eTiB, extra rewards 3.55x
Then congrats, your drchia harvester has found your plots and should be harvesting your drplots.
Note
If you have not yet connected a drsolver with your same DRPLOTTER_CLIENT_TOKEN, you will see a warning or error message in your harvester logs. Once your drsolver starts running, the harvester will then connect to the server and start sending plots to your solvers.
To check your DrPlots are submitting proofs, it's recommended to join a pool and adjust the difficulty setting of your pool plots to the lowest possible value, such as 1. This approach is beneficial for several reasons:
-
No Performance Impact: Setting the difficulty to a low level for DrPlots does not affect their performance. Thus, you can monitor their operation without any compromise on efficiency.
-
Effective Monitoring: By using a low difficulty setting, it's easier to track and ensure that you are accruing the expected number of pool points. This setting enhances the visibility of the functioning of your drplots in the pool.
-
Troubleshooting: In case you notice discrepancies in the expected pool points, the low difficulty setting can help in detecting any problems early.
As a result, you can effectively monitor and ensure that your drplots are being farmed correctly and submitting proofs to the pool as anticipated.