The -f option for "Hex farmer public key"

I am just getting started with chia block chain cli. I understand that the following command automatically begins several programs:

chia start farmer

This starts the farmer, node,wallet, and harvester.

What is the farmer public key? Is it in hex? Is it a single byte in length or longer? Am I supposed to create a private key? Does the chia block chain (in cli) have commands for creating a signing key for use with a public key?

I have done a few hours of reading but I seem to have trouble with finding a command to configure my own credentials so I can start farming.

Which OS are you running and what version of chia do you have installed?

chia keys show

Possibly the command? I’m super rusty on cli, I went back to gui a long time ago.

Madmax’s old help file has it marked as 48 bytes if that helps or means anything to you.

The right hand drives my mouse and the left has a beer in it :rofl: :rofl: :rofl:.

1 Like

Hello. I’m using OS Ubuntu Server 22.04 and Chia version 2.1.4.

I have read about commands to start the farm, node, and harvester but have not used it yet. I understand there are commands to show the public key.

But nothing was out there explaining how to use the public key, how to make the key (if it must first be made by the user), and how it is used or even why you need it.

Help would be much appreciated. I guess I need someone to explain what is obvious to everyone else.


Nothing out there??

Did you read this

There’s absolutely loads of info out there, loads of videos, you just need to Google, search on Youtube etc.

They may not be quite as much focusing specifically on CLI commands, but if you are new it might be best to start off with the GUI.

PS. There is also a lot of out of date information.

1 Like

Agreed on out of date, most of this stuff stems from the early days of Chia and there have been changes to the software since. I hesitate to even post the link, but here is another I came across a couple of years ago when I was tinkering with it: All CLI commands for Chia Network with an explanation - Daniel Lautenbacher

I am working on using the 48 but key now. It is a long string of characters, the farmer public key. I need to know how to use it with the bladebit program. bladebit -h shows the following:

#Simple config:
bladebit -t 24 -f {farmer_pub_key} -c {contract address} diskplot --f1-threads 16 --c-threads 16 --p2-threads 8 -t1 /my temporary/plot/dir /my/output/dir

I have a 109 Terabyte folder made using mergerfs on a Intel atom (n200?) thin client and shared via nfs with a machine that has a comet lake i7-10700 and a nVME SSD.

I have a text file containing farmer public key as a long string of characters. Don’t know how to get the string for use with bladebit.

I just want to make one plot and my 10700 has 16 total threads available.

By the way this is the most info I can find. It seems sufficient but has anyone used bladebit disk yet? How do I use my text file to get the -f (farmer_pub_key) part?

We can do away with -c as I am not using a pool.

bladebit_cuda.exe -f fffff -c ccccc-n 6 -z 7 cudaplot --check 100 --check-threshold 0.8 f:\plots2\

This was in my cheat sheet txt file.

1 Like

No you can’t, you need -c which is a pool contract address, and you also need -f which is the farmer public key.

You don’t have to be on a pool to use the pool contract address, it just means your plots are NFT plots and they can easily be put on a pool if you want to in the future, which I highly recommend if you’re only going to be plotting 109 TB of plots.

If you use -p instead of -c then you are creating old style OG plots, and that’s pretty pointless, as they can’t be used on most pools.


Update: I just found out I some how committed 35 characters from my farmer public key when issuing these commands. BTW for this post I gave a different key from the one I am actually using. For this post I used a second farmer key that I generated. It may have all of its characters. But on my actual key I’m using for the bladebit command I omitted 35 characters.

I’ve tried two different ways of making plots with bladebit.

./bladebit diskplot -t /mnt/nvme -d /home/share -f 8760f3c55cfcb5663677649568aace4a1ecef400c1ffc447f802e05c6e91f2579b390740c4b97d13ebbe34e32da0cfd4 -n 1

The result was “A farmer key must be specified”. Message returned by bladebit.

./bladebit -t 16 -f 8760f3c55cfcb5663677649568aace4a1ecef400c1ffc447f802e05c6e91f2579b390740c4b97d13ebbe34e32da0cfd4 diskplot --f1-threads 16 --c-threads 16 --p2-threads 8 -t1 /mnt/nvme /home/share

The result was "Fatal Error: Invalid farmer public key ‘8760f3c55cfcb5663677649568aace4a1ecef400c1ffc447f802e05c6e91f2579b390740c4b97d13ebbe34e32da0cfd4’

As I said in my previous post you can not omit these, you need one or the other, and I suggest you use the -c {contract address} for reasons I stated above.

Update: I added the pool public key for -c {contract address} and received the same error address stated below in this post.

I just added the missing 35 characters and now I have this message:

Terminate called after throwing an instance of ‘std::invalid_argument’
what(): G1Element::FromBytes: Invalid bytes
Aborted (core dumped)

This is from this way of typing in bladebit:

./bladebit -t 16 -f {farmer public key} diskplot --f1-threads 16 --c-threads 16 --p2-threads 8 -t1 /mnt/nvme /home/share

I don’t think the other way I typed in the bladebit command works. I hacked it from the chia block chain cli documentation and it doesn’t apply to standalone blade bit commands given by bladebit -h. But I tried it and got message “a valid farmer key must be specified”.

Where did you get the 35 characters from? My pool contract address is 96 characters.

Bladebit is extremely fussy on the order of the commands, get them wrong and it just errors out. I never used diskplot so not sure of the correct command structure.

Have you tried to read BB readme?

GitHub - Chia-Network/bladebit: A high-performance k32-only, Chia (XCH) plotter supporting in-RAM and disk-based plotting?
GitHub - Chia-Network/bladebit: A high-performance k32-only, Chia (XCH) plotter supporting in-RAM and disk-based plotting

:dizzy_face: :dizzy_face: :dizzy_face: :dizzy_face: :dizzy_face: :dizzy_face: :dizzy_face: :dizzy_face: :dizzy_face: :dizzy_face: :dizzy_face: :dizzy_face: :dizzy_face: :dizzy_face: people have to read!!!


Update: Things are getting easier to comprehend. But I now need to know where to get a valid contract puzzle hash.

This is what I did -

I killed my Ubuntu server OS for the machine that is plotting, the one with the multicore CPU and nVME SSD. I instead installed Ubuntu Desktop (v22.04).

However, on this Ubuntu Desktop I rebuilt my bladebit plotter from source and it is CLI.

My farm setup uses Ubuntu Server (CLI only) and runs chia block chain cli. After the command chia start farmer I redirected the output of chia keys show to a text file and copied the file with a USB and opened the text with the text editor on the plot machine using desktop interface.

Now I could cut the hash for the farmer pub key and the pool pub key and paste into a cli window for use with bladebit switches for -f (farmer public key) and -c (contract key).

Now the error has changed so that I am told that my pool public key is not the contract key. Where do I get a contract key?

Actual message “invalid pool contract puzzle hash”.

What I have learned to this point - when you see the example command for ./bladebit -h and it says -f (farmer public key) it means the actual farmer public key and the long string of numbers and letters. This is a hash. If your command line environment does not support cut and paste you will need a way to install that feature in your environment or use a desktop environment that supports cut and paste.

If you bought and got a Contract address it would show up under
chia plotnft show
And look for the Pool contract address
10 lines down…

Have you even created a wallet and written down your 24 words?

You need to create a Plot NFT, if only you’d use the GUI it would be so much easier, once you’ve learned the basics then move on to the CLI.

How to create a Plot NFT in both the GUI & the CLI see the following.

1 Like