How can I automatically configure and correct pools?

  • Updated

If you're trying to auto-configure mining pools, or correct pool changes from a malicious insider, Trusted Pools can help.

As operations expand and more people become involved in the daily management of a cryptocurrency mine, mistakes can happen. Whether it be an operator configuring a customer's miners for the wrong pools by accident, or even worse, changing them to mine to their own personal wallets, getting notified as soon as these events happen is critical.

How Foreman Helps

With Trusted Pool Configurations, managers can set limitations on what stratums and worker names are acceptable. These are configured at the dashboard level, so they can be set globally from the top-level parent dashboard, at the site-level (example: Texas), or at the customer-level (example: Bill can mine to Foundry and Luxor, Ted can mine to AntPool and ViaBTC).

From each respective dashboard, Trusted Pool Configurations are created here. While they can be as simple as, regular expressions are supported. Rather than creating 3 different entries for Foundry,|443|25) can be used, which will allow any of the valid Foundry stratums.

Any combination is supported, so you can provide just a stratum pattern, just a worker pattern, or both, and pools are only evaluated if at least one Trusted Pool Configuration exists.  Then, they're all evaluated against every pool reported by the miner. If there are 3 pools, each will separately need to pass at least one of the Trusted Pool Configurations; otherwise, the miner will get marked as Invalid Pools Configured.

Getting Started

First, determine how these should be enforced. For this tutorial, we'll assume there exists a hosting company called Mine Magik and there are two physical sites, one in Baltimore, MD, and another in Canton, OH.  Additionally, there are 3 customers: Client A, Client B, and Client C.

If you're curious how to construct a dashboard like this, see the guide here.

The clients want to be configured as follows:

Customer Stratum Worker
Client A clienta.<anything>
Client B<any port> bill.magicx<anything>
Client C<any port> ted.<anything>

First, we'll change to the Client A dashboard and create a pool configuration:

Switching to Client A.
Client A trusted pool configuration.


Repeat the process for clients B and C, selecting their respective dashboards before creating each:

Client B trusted pool configuration.


Optionally, a trigger can also be created to notify, or conditionally change the pools immediately, if things are ever out of alignment:

Notify on invalid pools.
Auto correct invalid pools.

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request



Article is closed for comments.