Skip to content

Commit

Permalink
Deprecate foxy-gh-farmer
Browse files Browse the repository at this point in the history
  • Loading branch information
felixbrucker committed Feb 1, 2024
1 parent 133cf69 commit e11471b
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 23 deletions.
58 changes: 54 additions & 4 deletions docs/proof-of-spacetime/foxy-farmer/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ The Foxy-Farmer config (`foxy-farmer.yaml`) is located in the same directory whe

An example configuration can look like this:
```yaml
backend: gigahorse
enable_harvester: true
enable_og_pooling: true
enable_og_pooling: false
farmer_reward_address: xch1063ymlv3saaxkh87h287nc3laelnxss0897xdw6g8zj6yvaa4elslg0xfa
harvester_num_threads: 30
listen_host: 127.0.0.1
Expand All @@ -15,18 +16,30 @@ plot_directories:
- 'E:\plots'
plot_refresh_interval_seconds: 900
pool_payout_address: xch1063ymlv3saaxkh87h287nc3laelnxss0897xdw6g8zj6yvaa4elslg0xfa
# environment config options below only for syntax demonstration purposes, apply as need with the values you require
recompute_hosts: [192.168.1.42]
recompute_connect_timeout: 2000
recompute_retry_interval: 100
chiapos_max_cores: 8
chiapos_max_cuda_devices: 1
chiapos_max_opencl_devices: 1
chiapos_max_gpu_devices: 3
chiapos_opencl_platform: 2
chiapos_min_gpu_log_entries: 21
cuda_visible_devices: '0,2'
```
## Configuration Options
All environment options for Gigahorse are exposed via the config, so you don't need to fiddle around with setting those anymore.
The config file currently consists of these config options:
## Chia options
### `enable_harvester`
: Whether to start a harvester instance as well, or only a farmer instance.

### `enable_og_pooling`
: Whether to enable OG pooling with Foxy-Pool for your OG plots.

### `farmer_reward_address`
: The Chia address you want your farmer rewards (0.25 XCH) credited to.

Expand Down Expand Up @@ -98,3 +111,40 @@ The config file currently consists of these config options:

### `chia_wallet_rpc_port`:
: If unset defaults to `19256`. Can be used to run multiple instances of Foxy-Farmer. Will set `wallet.rpc_port` on the chia config.

## Bladebit only options

### `enable_og_pooling`
: Whether to enable OG pooling with Foxy-Pool for your OG plots.

## Gigahorse only options

### `recompute_hosts`:
: Set your recompute hosts to use here, an empty array won't use any recompute servers. Accepts an array of strings or a string.

### `recompute_connect_timeout`:
: Timeout in milliseconds for connecting to a recompute server (default = 2000). Remove or set to `null` to unset.

### `recompute_retry_interval`:
: Interval in seconds how often to retry using a previously failed recompute server (default = 100). Remove or set to `null` to unset.

### `chiapos_max_cores`:
: The maximum number of CPU/GPU threads to use. Remove or set to `null` to unset.

### `chiapos_max_cuda_devices`:
: The maximum number of CUDA devices to use (overrides `chiapos_max_gpu_devices`). Remove or set to `null` to unset.

### `chiapos_max_opencl_devices`:
: The maximum number of OpenCL devices to use (overrides `chiapos_max_gpu_devices`). Remove or set to `null` to unset.

### `chiapos_max_gpu_devices`:
: The maximum number of CUDA or OpenCL devices. Remove or set to `null` to unset.

### `chiapos_opencl_platform`:
: Select which OpenCL platform to use when there are multiple OpenCL platforms on the system. Remove or set to `null` to unset.

### `chiapos_min_gpu_log_entries`:
: The minimum work size for GPU, can be set to modify transition to GPU based on C level (default = 21). Remove or set to `null` to unset.

### `cuda_visible_devices`:
: Specify a list of CUDA devices to use. Remove or set to `null` to unset.
1 change: 1 addition & 0 deletions docs/proof-of-spacetime/foxy-farmer/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ title: Foxy-Farmer

- [x] NFT and OG pooling are both supported!
- [x] Bladebit compressed plots are supported!
- [x] Gigahorse compressed plots are supported!

!!! info "Note"
If you can run a full node, you should!
Expand Down
28 changes: 17 additions & 11 deletions docs/proof-of-spacetime/foxy-farmer/installing.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,37 @@
=== "Using the binary"

1. Download the latest binary zip for your OS from the [releases page](https://github.com/foxypool/foxy-farmer/releases/latest){target=_blank} or if you can not access GitHub there is a [direct download](https://downloads.foxypool.io/chia/foxy-farmer/latest/){target=_blank} as well.
2. Run the binary, it will create a default `foxy-farmer.yaml` in the current directory based on your current chia `config.yaml` if available.
1. On Linux ensure you have `ocl-icd-libopencl1` installed when using the gigahorse backend
2. Download the latest binary zip for your OS from the [releases page](https://github.com/foxypool/foxy-farmer/releases/latest){target=_blank} or if you can not access GitHub there is a [direct download](https://downloads.foxypool.io/chia/foxy-farmer/latest/){target=_blank} as well.
3. Run the binary, it will create a default `foxy-farmer.yaml` in the current directory based on your current chia `config.yaml` if available.

!!! note
If you never set up chia before on this machine you will need to import your 24 word mnemonic using `./foxy-farmer keys add` and ensure your PlotNFTs are present in your `foxy-farmer.yaml`. This can be achieved by copying them from another `foxy-farmer.yaml` or running `./foxy-farmer join-pool`.

3. Edit the `foxy-farmer.yaml` to your liking and restart foxy-farmer
4. Profit!
4. Edit the `foxy-farmer.yaml` to your liking and restart foxy-farmer
5. Profit!

=== "Running from source"

1. Clone the git repo and cd into it:
1. On Linux ensure you have `ocl-icd-libopencl1` installed when using the gigahorse backend
2. Clone the git repo and cd into it:
```bash
git clone https://github.com/foxypool/foxy-farmer && cd foxy-farmer
```
2. Create a venv:
3. Create a venv:
```bash
python3 -m venv venv
```
3. Install the dependencies:
4. Install the dependencies:
```bash
venv/bin/pip install .
```
4. Run using `venv/bin/foxy-farmer` (or activate the venv using `source venv/bin/activate` and then just use `foxy-farmer`), it will create a default `foxy-farmer.yaml` in the current directory based on your current chia `config.yaml` if available.
5. Run using `venv/bin/foxy-farmer` (or activate the venv using `source venv/bin/activate` and then just use `foxy-farmer`), it will create a default `foxy-farmer.yaml` in the current directory based on your current chia `config.yaml` if available.

!!! note
If you never set up chia before on this machine you will need to import your 24 word mnemonic using `venv/bin/foxy-farmer keys add` and ensure your PlotNFTs are present in your `foxy-farmer.yaml`. This can be achieved by copying them from another `foxy-farmer.yaml` or running `venv/bin/foxy-farmer join-pool`.

5. Edit the `foxy-farmer.yaml` to your liking and restart foxy-farmer
6. Profit!
6. Edit the `foxy-farmer.yaml` to your liking and restart foxy-farmer
7. Profit!

=== "Using docker"

Expand All @@ -48,4 +50,8 @@
If you do not have a `.chia_keys` directory from a previous chia install, you can set the `CHIA_MNEMONIC` environment variable to your 24 words and it will create they keyring accordingly. Please unset it again once done.

!!! note
To execute the `join-pool` command please first shutdown foxy-farmer using `docker compose down` and then run `docker compose run farmer foxy-farmer join-pool`.
To execute the `join-pool` command please first `exec` into the running container with
```bash
docker exec -it <name of your container> bash
```
Then you can run `foxy-farmer join-pool` inside the container.
3 changes: 3 additions & 0 deletions docs/proof-of-spacetime/foxy-gh-farmer/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
title: Foxy-GH-Farmer
---

!!! warning
Foxy-GH-Farmer is deprecated, please use [Foxy-Farmer](../foxy-farmer) with the `gigahorse` backend instead!

[Foxy-GH-Farmer](https://github.com/foxypool/foxy-gh-farmer){target=_blank} is a simplified Gigahorse farmer for the chia blockchain using the Foxy-Pool Gigahorse Farming Gateway to farm without a full node running on your machine.

!!! info "Note"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@

=== "Gigahorse compressed plots"

<span style="font-weight: 200;font-size:1.15rem;">Next select whether you want to setup your Farmer manually or use [Foxy-GH-Farmer](../foxy-gh-farmer/index.md), which can do all the config and setup for you:</span>
<span style="font-weight: 200;font-size:1.15rem;">Next select whether you want to setup your Farmer manually or use [Foxy-Farmer](../foxy-farmer/index.md), which can do all the config and setup for you:</span>

=== "Foxy-GH-Farmer"
1. Install Foxy-GH-Farmer, see [this page](../foxy-gh-farmer/installing.md){ target=_blank } on the various install methods.
2. Run Foxy-GH-Farmer once to generate a `foxy-gh-farmer.yaml` as well as the `.foxy-gh-farmer` directory in your users home directory.
3. Import your 24 word mnemonic using `./foxy-gh-farmer keys add`
4. Join the pool by running `./foxy-gh-farmer join-pool` or by copying the `plot_nfts` from an existing `foxy-gh-farmer.yaml`.
=== "Foxy-Farmer"
1. Install Foxy-Farmer, see [this page](../foxy-farmer/installing.md){ target=_blank } on the various install methods.
2. Run Foxy-Farmer once to generate a `foxy-farmer.yaml` as well as the `.foxy-farmer` directory in your users home directory.
3. Import your 24 word mnemonic using `./foxy-farmer keys add`
4. Join the pool by running `./foxy-farmer join-pool` or by copying the `plot_nfts` from an existing `foxy-farmer.yaml`.

!!! info
Running the `join-pool` command will spin up the wallet service, wait till its synced, join all PlotNFTs to the Foxy-Pool and shutdown the wallet service again once done. This will sync your PlotNFTs into `plot_nfts` in `foxy-gh-farmer.yaml`. This process can take up to 30 minutes.
Running the `join-pool` command will spin up the wallet service, wait till its synced, join all PlotNFTs to the Foxy-Pool and shutdown the wallet service again once done. This will sync your PlotNFTs into `plot_nfts` in `foxy-farmer.yaml`. This process can take up to 30 minutes.

5. Run Foxy-GH-Farmer and check out the Pools "My Farmer" tab! You can use `./foxy-gh-farmer auth` to generate the pool login link.
5. Run Foxy-Farmer and check out the Pools "My Farmer" tab! You can use `./foxy-farmer auth` to generate the pool login link.

=== "Manual setup"

Expand Down

0 comments on commit e11471b

Please sign in to comment.