Disclaimer: Hpool is not based on chia’s pooling protocol, the official code that enables pooling isn’t ready yet. Hpool is a closed source pooling software for chia. You need to keep in mind that if you go to Hpool you have to share your mnemonic. Mnemonic is your 24 words that is your private key for accessing your wallet. If somebody has your mnemonic then the person can open your wallet and send/receive XCH, it’s like leaving your real life wallet unattended in a bar.
Why people joins to Hpool?
I think the answer is simple. Blockchain is a business and not a lottery. If you have your plotter/farmer running and you haven’t earned a single XCH yet it can be very frustrating. I saw some people with 0 XCH despite hundreds of plots. One part that frustrates me is – even though I should not complain as I am and We are all early adopters: so problems, bugs should be expected but still (un)expected downtime drives me nuts. Checking my chia client and then realizing I am out of sync or the need to shutdown the the machine for an update just increases the time when my machine is not participating in the network and the chances of winning is 0. By joining to a pool you ultimately become part of a larger entity, and that larger entity hopefully owns larger proportion of the entire network space therefore the chances of wining is going to be higher too. What that means your reward will be small but continuous and more predictable but that amount still depends on the number of plots you have and the network size, there is no way around that. If you shutdown your machine you will not get the reward but for just that short period, once you are back you will continue to receive some mojos.
How you can get started?
I was trying to be as cautious as possible, you may simply just go and download the Windows client from hpool-dev (HPool Dev) · GitHub and you are good to go. What I did was I created a VM for the plotter to generate the signature then setup my Raspberry Pi4 8GB to run the miner software. I was trying to avoid downloading and running hpool from any machines I use on a daily bases or not built specifically for plotting/farming. Why? I do not speak Chinese so I do not know what I signed up for when I download their software. In the next sections I will share the steps with you how you can safely move your existing plots from chia to hpool. I assume you already created a hpool account!
Important: This guide is mainly for those who already has some plots and just want to move them to hpool to farm from there.
First steps – make sure your wallet is empty
Assuming you have some XCH, you’d better sending it to a fresh new wallet. As your plots are tied to your private key this step is required for security reasons. I would not want to keep XCH on my wallet if the mnemonic is shared with a 3rd party. It’s pretty simple just go to the GUI click on ‘Keys’ and then ‘CREATE A NEW PRIVATE KEY’:
Once that’s done you need to go to the ‘Wallet’ tab and copy the receiving address. Then go back to ‘Keys’ and select the wallet that has some XCHs from where you want to send your coins.
Next go to ‘Wallet’ and paste your new wallet address and set the amount. As the network is not busy you can set fee to 0. One thing to keep in my is, if your wallet is not in sync then you won’t be able to transfer XCH. If you are not in sync you either need to wait or follow this guide: More on sync – part 2. – Chia Blockchain. Wallet sync can take days!
Let’s assume your wallet is in sync and you managed to send your coins to the new address. The problem here is if you go back and open the new wallet in the chia client, then that new wallet has to be in sync which can take hours or not days. More quick is if you go to Search the Chia blockchain (chiaexplorer.com) and paste your new receiving address to the search bar. If the transaction went through then you are good.
Next step is to download the plotter binary from hpool (https://github.com/hpool-dev/chia-plotter/releases) use wget
or whatever you like – I did it on a Linux VM to generate a signature. For this you need to copy the mnemonic, the mnenomic where your plots belongs too. You can get the mnemonic by by going to the ‘Keys’ and click on the ‘eye’ icon.
[user@jarvis chia-plotter]$ ./chia-plotter-linux-amd64
chia-plotter v0.11 by https://hpool.com
Input mnemonic word: this is needs to be your 24 mnemonic word
INFO[2021-05-14T10:00:08+02:00] Fingerprint: 111111111
INFO[2021-05-14T10:00:08+02:00] Farmer Public Key (fpk): $farmerpublickey
INFO[2021-05-14T10:00:08+02:00] Pool Public Key (ppk): $poolpublickey
INFO[2021-05-14T10:00:08+02:00] Signature: That's the signature you need to copy and paste it into hpool web
INFO[2021-05-14T10:00:08+02:00] Signature for address: $signature for address
INFO[2021-05-14T10:00:08+02:00] Signature Expiry at: 2021-05-15 10:00:05 +0200 CEST
Two things are important here, the Signature and the Fingerprint. Copy the Signature and paste it to Hpool – ‘Pool/Configuration’:
To get this, you need to Create Pool first, please make sure you choose Chia ECO. Then paste it to the ‘Bind signature data’ field and hit ‘Bind’ button. To verify things are good you just simply check if ‘Finger print’ under ‘Binding Check’ matches the ‘Private key with public fingerprint’ in the chia GUI – above’.
If you get here you are all set, we just need to move the plots. As I said i used a Raspberry Pi4 8 GB with Ubuntu:
user@farmer:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.10
Release: 20.10
Codename: groovy
I don’t want to make it as an end to end Linux guide, if you have a Pi probably you know what you are doing. Just in case these are the things I set:
- I enabled the Ubuntu’s built-in FW (based on IPtables): ufw
- I installed fail2ban just to add additional protection: fail2ban
- I made sure SSH is running on a non standard port, setup client timeouts and all that: SSH
The rest is really up to you, you can dig deep as much as you want.
Ok, lets start farming
Download the latest binary from hpool: https://github.com/hpool-dev/chia-miner/releases (again use wget). there are two version 32 bit version and the 64 bit one. Make sure you get the right one.
I downloaded it to my /home/user
directory. You just need to unzip it:
$ unzip HPool-Miner-chia-v1.3.0-3-aarch64.zip
Then run it:
user@farmer:~/src/linux-arm64$ ./hpool-chia-miner-linux-arm64
dlsym err: /home/corvin/src/linux-arm64/libchiapos.so: undefined symbol: MySyscall
{1024 524288}
Rlimit Final {1024 524288}
**** Miner:HPool-Miner-Chia
**** Version:v1.3.0 4
**** BuildTime:2021-05-16-16:32:49 GMT
**** MinerName:farmer
**** ApiKey:
请输入ChiaçŸ¿æ± ApiKey:
You need to enter the ApiKey then hit enter. Once that’s done there is going to be a config.yaml file in the directory you run miner from. ApiKey is on Hpool ‘Pool/Configuration’ – picture above.
user@farmer:~/hpool/linux-arm64$ cat config.yaml
token: ""
path:- /mnt/disk1
- /mnt/disk2
minerName: farmer
apiKey: $your_api_key
cachePath: ""
deviceId: ""
extraParams: {}
log:
lv: debug
path: ./log
name: miner.log
url:
info: ""
submit: ""
line: ""
scanPath: true
scanMinute: 60
debug: ""
language: en
What is important here is the ‘path’ and the ‘apiKey’. You can list all the directories where you have your plots.
Adding the disks and making sure they remain online
You need to mount the disks first, my assumption is given you are on Pi you have use USB disk enclosures, which will be important as many put the drives into sleep if they are inactive for more than 10 minutes.
Figure out the disk information:
user@farmer:~/hpool/linux-arm64$ blkid
/dev/sda2: LABEL="hdd1" BLOCK_SIZE="512" UUID="1A7A0FE87A0DDDDD" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="e033b963-blaf-4690-9aca-e9d5f2ee56f0"
Once you have that edit /etc/fstab
to make sure these gets mounted upon boot (fstype = the type of the filesystem in use – if you were plotting on Windows then it’s ntfs):
vim /etc/fstab
UUID=$UUID_of_the_disk /mnt/hdd1 fstype defaults,auto,users,rw,nofail,umask=000 0 0
By default many external enclosures spin down the disk or put them into sleep after 10 mins so with this little script you can make sure it does not happen:
user@farmer:~/hpool/linux-arm64$ vim /usr/bin/keepalive.sh
#!/bin/bash
DATE=date
echo $DATE > /mnt/hdd1/keepalive.io
echo $DATE > /mnt/hdd2/keepalive.io
sync
Then schedule it with crontab to run it every 9 minutes:
crontab -e
# then add this to the cron file
*/9 * * * * /usr/bin/keepalive.sh
Ok, so you are all set, lets farm – make sure you are in the directory where the hpool miner binary is:
nohup ./hpool-chia-miner-linux-arm64 &
Logs are here:
./log/miner.log.log or ./nohup.out
If things goes well then:
If you have 0 plots the your miner will not come online. It will take a while to pick up your plots, check the logs and look for:
tail -f ./log/miner.log.log
evel=info msg="new mining info" capacity="0.0 TB" file=loggers.go
Capacity should slowly increase. On the Hpool site under ‘Miner’ you can check:
- Revenue
- Online Plot
- Contribution
How to estimate earnings?
Once you got here it’s time to get into the financials and see how much money you can earn. Thankfully there is a site for that already: https://hpoolchiacalculator.com/. As the network grows rapidly your earning may change depending on whether you can keep up with it. You can tweak the calculator to take into account this and many other things.
Should the chia farmer be stopped when running the Hpool miner?
Yes otherwise your Hpool account will be closed due to double mining.
Thanks for the response!! So, i will have the full node running and the wallet running .. and stop everything else i guess
No, so Hpool miner will be your new farming software that has to be running. For a given wallet it will have full access to your plots (signature when you set this up). You don’t need to run the official Chia software unless you want to do plotting with it. You need to keep in mind that if you don’t change its config (advanced settings) it will automatically start farming as well with the plot it created and then you will fall under the double mining (farming) category. You need to check the exclude final directory under advanced tab (when you add plot via the official Chia gui).
Thank you very much for sharing all this!! your help is appreciated. I am running the miner on my linux server that has the full node and wallet running. i think it is ok to keep the full node and wallet running as long as the farmer and harvester are turned off. How soon did you see the revenue form the HPOOL show up in your wallet ?
Revenue should come roughly on hourly bases – depending on how often the pool wins and how much you get that it’s related to your space contribution to the pool.
Could you please create a youtube video on this? Also a command line when there is a power failure and system gets restarted how the farming automatically starts
Sure, this is on my todo list.
Why does my miner keeps going offline?? Did you see this issue ?
I haven’t had such a problem before. If you have 0 plots then it won’t come online at all. Do you have some plots under Hpool?
Is there a way to add new disk/folder with plots while hpool miner is running under Linux? Becasue if I edit a “config.yaml” and add new path to my plots the only way to processes those changes is to stop and start ./hpool-miner-chia ? Thanks
Very good question, you probably need to stop and start the client, but that just a few sec so you should not lose anything or any reward.
*IMPORTANT* If you are using ARM systems make sure you use 32 bit OS (yes even if you have the 8GB PI) as Hpool DEV team only tests it on PI 4GB Rasbian.
Interessante, no meu instalei o de 64 bit, o minerador instala sem problemas, agora o chia-plotter não é reconhecido, vou instalar novamente para testar, no seu foi o ubuntu 32 bits?
I am sorry I only speak English. Seems like you are talking about different OS versions. It seems like others managed to run hpool-miner on 64 bit OS version. I am not 100% confident but what is critical is the OS type – it must be Rasbian. I use the 32bit version, 64 bit is beta and I did not want to risk running into problems in a day or two.
thanks, but is there any youtube video showing step by step?
i havent created one yet. seems like there is interest but i am having hard time finding time to do so. will do it shortly bare with me. in the meantime, do you have any questions?
Please add info how to join a pool on OSX.
Hi, I don’t have any MAC so I don’t think I will be able to provide some. I do believe it should be very similar to what i described here, just use the HPool-Miner-chia-v1.4.0-2-macos.zip file.
Bonjour, je viens d’effectuer mon premier withdraw de hpool vers mon adresse de chia blockchain . Hélas cela fait plus de 48h et aucun chia n’est arrivé ! Peu être quelqu’un saurait pourquoi?
I am really sorry I only speak english.
Hello, I just made my first withdraw from hpool to my chia blockchain address. Unfortunately, it’s been over 48 hours and no chia has arrived! Maybe someone would know why?
It can take 24-48hours to have it pushed through. Can you please validate if you used the correct withdrawal address? Did you send it to an Exchange or to an offline wallet?
For Ubuntu outside Raspberry PI, do you still need to have the cron job to keep alive on external hdd enclosures in /media?
It seems like hpool-miner continuously checking the drive so in itself makes sure the drive does not go to sleep. As I wanted to be super cautious I decided to have this script running so my drives will be up no matter what happens.
Hi, thank you for this guide. I think, i fail at the point “path” in the config.yaml. Different from your guide, there are this signs: “[]”
I have tested it with path in this signs and without this signs but it don’t work.
path: [/media/disk1]
path:
– /media/disk1
Tested with 32 bit and 64 bit ubuntu. Disk is mounted.
Log show this:
time=”2021-06-05T17:58:32Z” level=info msg=”Logger Configuration.” fields.level=info file=loggers.go func=logging.Init line=121 path=./log
time=”2021-06-05T18:02:32Z” level=info msg=”Logger Configuration.” fields.level=info file=loggers.go func=logging.Init line=121 path=./log
time=”2021-06-05T18:02:33Z” level=info msg=”switch line” chain=CHIA file=loggers.go func=logging.CPrint line=168 tid=1 type=ws url=”ws://chia-hb2.hpool.com/x-proxynode/ws”
time=”2021-06-05T18:02:34Z” level=info msg=”init server” file=loggers.go func=logging.CPrint line=168 tid=37 type=ws url=”ws://chia-hb2.hpool.com/x-proxynode/ws”
Any idea?
[] – take a list in YAML, meaning you have a chance to provide more than a single directory and it will be read by the script one by one separately.
– /path/one
– /path/two
– /path/three
Make sure you create/modify this file with Linux otherwise Windows might messes up your (hidden) new line character. you can try ‘dos2unix’ config.yml – that fixes these char coding issues.
Hello , could you please help , how to keep plotting after join Hpool ? can i run official software plotting ?
You either do that or use Hpool’s plotter. If you don’t use Hpool plotter than make sure you don’t start farming otherwise you will be kicked out from Hpool from double farming.
Hi everyone! You can use this profitability calculator to check the potential earnings from mining the Chia cryptocurrency (XCH) on HPOOL: https://hpoolchiacalculator.com/
Hi, thanks for helping. This tutorial is working fine on my HiveOS for GPU minig. Can you create tutorial how to run it on startup or system service… in case of system reboot, power surge…
Yes sure, will add it shortly.
Thank You for great tut. Can I use only farming part of hpool or do I need to install hpool ploting and farming(mining) software?
I plot using the Chia tool on my main system and just use the hpool-miner to farm on another one – Pi4. If you just want to farm it’s enough to use the hpool-miner tool. Although to generate the signature you need to plotter software as well but that is just the start.
Hey guys. I know that running two full nodes on the same public IP can cause problems, but what about Hpool miners?
For HPool miner it should not if you run the Chia software (Full node) on two nodes behind the same IP then yes. You need to set upnp to false on one of the machine and you need to change the full node port to something that is not 8444 e.g. 8333. You can do that by using the CLI.
Hi, is this working on Ubuntu as well?
Yes it should with no issues. I used to use hpool miner on Pi4 running Ubuntu server.
Hi, first of all thanks for the guide!
Just want to let you know that the current version of HPool Miner is 1.4.0-2
And the usage of 1.3.0-6 below has been disabled.
To make it work, we will need to use docker, see here for the solution:
https://github.com/hpool-dev/chia-miner/issues/559#issuecomment-853491140
Interesting, i tried it and it did not work for me. I had problems running the new version on x64 Ubuntu. Given Hpool Dev test their code on ARM-f Rasbian I decided to switch so I reinstalled my system.
Just started to use HPool and under Online Miner I can see the total capacity which is correct. When I navigate to Online plot and Revenue this is incorrect figures and showing only 30% of my total. I have had this online for 12 hours nearly and the online plot and contribution chart don’t change. Please assist.
You need to check if your plots are valid, you can use the chia cli tool for that. Quick guide on that: https://www.chiablockchain.com/2021/04/27/validate-your-plots/
If some plots are invalid, delete them. You can try to unbind your signature and then rebind it (this is what i did last time). Sync takes time, some cases a day or so.
i set up hpool for 45tb and it has been about 6 hours everything in the Hpool farmer says effective but I have not seen any mining reward yet??
I do not have the Chia gui open
Also the hpool farmer says it is online but the under status it say —
I will leave it up over night to see if anything changes but is there anything I am doing wrong?
Nope, seems like it’s ok. It takes time to validate your plots.
Thank you for this tutorial! I have some issues though… (I’m on Ubuntu 20.04)
I have currently 4 paths recognized by the miner. But I recently added a 5th one which does not get recognized for some reason. The first 4 paths were added through the console and the 5th one via the config file. (I can’t add anymore paths through the console because it starts the miner directly without giving me a chance to add paths and enter ‘end’ to kick-off the miner.)
Also, the contribution chart in hpool is unstable (i.e., it goes up and down by 10000). I wish I could check the response time of my plots but the log files don’t give that information. When I was solo mining, the response time was always below 1 second. I also have no invalid plots.
Make sure the 5th path is mounted read/write – run ls -al /your/path to get this info. The config.yaml needs to follow the yaml standard, what editor you used? It should be something like:
path:
– /path/1
– /path/2
If you do it differently, like have a space before the ‘-‘ char or anything like that it will fail. Let me know if you succeed.
Thank you for answering!
I have not succeeded yet but I’ve made very interesting observations:
Just as a test, I deleted the functioning paths from the config.yaml file and
started the farmer again (and yes, I saved the config file as well). It had no effect whatsoever! It keeps saying that it recognizes 4 paths and loads the plots from there. It seems like it is irrelevant what I enter into the config file…
Another observation is that when I close the terminal where I started the miner, the hpool website says that my miner is still online. Maybe I never stopped the farming process appropriately and that’s why the changes have not been recognized? If so, how do I stop the miner correctly?
Also in your article above you listed some things that are not present in my config file. For example, “language:” or “token:” are not there. Might that be a potential problem?
Hi, The config file is what i got when i first extracted hpool-miner. I saw that newer versions not contain all the options. As it works for me I did not bother. Can you please check ps -ef | grep hpool – to see if hpool is running on your system? The website usually behind and does not report real-time if the agent is running or not. You can specify which config file to use with the option ‘-f’ if I am not mistaken. So you can run the miner with: ./hpool-miner -f yourconfig.yaml. I added a new post on how to run hpool-miner as a service as well: https://www.chiablockchain.com/2021/06/16/add-hpool-miner-as-a-service/
I think I know now why I have this issue:
I always started the miner by dragging and dropping the file ‘hpool-miner-chia’ into the terminal and pressing enter. Everyone else is typing a command as it seems.
But when I type in the command to start the miner that way it says ‘command not found’. Here is what my command looks like .
user@user-System-Product-Name:~/Downloads/linux$ ./hpool-miner-chia
Can you see whether there is something wrong with it?