Harvester RPC
This document provides a comprehensive reference to Chia's Harvester RPC API.
Note about Windows command escaping
This document will use Linux/MacOS RPC syntax. When running rpc commands on Windows, you'll need to escape all quotes with backslashes.
For example, here is a typical RPC command on Linux and MacOS:
chia rpc wallet create_new_wallet '{"wallet_type": "nft_wallet"}'
To run the same command on Windows, you need to escape the quotes, so it looks like this (the braces have been removed to support the formatting for this page. You still need to use them in your actual commands.):
chia rpc wallet create_new_wallet '{\"wallet_type\": \"nft_wallet\"}'
add_plot_directory
Functionality: Add a new plot directory
Usage: chia rpc harvester [OPTIONS] add_plot_directory [REQUEST]
Options:
Short Command | Long Command | Type | Required | Description |
---|---|---|---|---|
-j | --json-file | FILENAME | False | Optionally instead of REQUEST you can provide a json file containing the request data |
-h | --help | None | False | Show a help message and exit |
Request Parameters:
Flag | Type | Required | Description |
---|---|---|---|
dirname | TEXT | True | The full path of the directory to add |
Note that the new directory must already exist on the system
Example
First, add the directory to the local file system:
mkdir /plots_new
Next, add the new directory to the harvester's list:
chia rpc harvester add_plot_directory '{"dirname": "/plots_new"}'
Response:
{
"success": true
}
delete_plot
Functionality: Delete a single plot
Usage: chia rpc harvester [OPTIONS] delete_plot [REQUEST]
Options:
Short Command | Long Command | Type | Required | Description |
---|---|---|---|---|
-j | --json-file | FILENAME | False | Optionally instead of REQUEST you can provide a json file containing the request data |
-h | --help | None | False | Show a help message and exit |
Request Parameters:
Flag | Type | Required | Description |
---|---|---|---|
filename | TEXT | True | The file name of the plot to delete |
As long as this command includes the required filename
flag, it will always output "success": true
, even if the filename was invalid
Example
chia rpc harvester delete_plot '{"filename": "/plots/plot-k25-2022-07-11-19-22-a2ece0fd13e017f7b88911be5f91aa1e1866c89964c863f743f5c92e07118805.plot"}'
Response:
{
"success": true
}
get_plots
Functionality: List all local plots
Usage: chia rpc harvester [OPTIONS] get_plots [REQUEST]
Options:
Short Command | Long Command | Type | Required | Description |
---|---|---|---|---|
-j | --json-file | FILENAME | False | Optionally instead of REQUEST you can provide a json file containing the request data |
-h | --help | None | False | Show a help message and exit |
Request Parameters: None
The plots will be grouped into three categories:
failed_to_open_filenames
- plots that the harvester was unable to open; these plots may be incomplete, corrupted or otherwise damagednot_found_filenames
- typically these are plots that exist and are readable, but were created under a different key than the current oneplots
- a listing of all valid plots that were created with the current key used by the harvester
Example
chia rpc harvester get_plots
Response:
{
"failed_to_open_filenames": [],
"not_found_filenames": [
"/plots/plot-k25-2022-07-11-21-33-4c01531e1b09b758705d1f12c77028e81cafb79c091330453eb249b089e46471.plot"
],
"plots": [
{
"file_size": 674281385,
"filename": "/plots/plot-k25-2023-03-01-14-52-160798793b22b998133bbf5b2021ed70d24feb0e20d040668c685df2c7caf76a_2.plot",
"plot_id": "0x160798793b22b998133bbf5b2021ed70d24feb0e20d040668c685df2c7caf76a",
"plot_public_key": "0xa82069430a7ef8a6491f8b3a5ec64553a33b86e0a713ad03106879231ae77161a0b860df659dbfbb1cc07b6343e95d62",
"pool_contract_puzzle_hash": "0xf5daa5a0d83c6a628782a386aa1f94ff041e29c4da4b9b97f91f4d46563d8e9b",
"pool_public_key": null,
"size": 25,
"time_modified": 1677653720
},
{
"file_size": 674281385,
"filename": "/plots/plot-k25-2023-03-01-14-52-160798793b22b998133bbf5b2021ed70d24feb0e20d040668c685df2c7caf76a.plot",
"plot_id": "0x160798793b22b998133bbf5b2021ed70d24feb0e20d040668c685df2c7caf76a",
"plot_public_key": "0xa82069430a7ef8a6491f8b3a5ec64553a33b86e0a713ad03106879231ae77161a0b860df659dbfbb1cc07b6343e95d62",
"pool_contract_puzzle_hash": "0xf5daa5a0d83c6a628782a386aa1f94ff041e29c4da4b9b97f91f4d46563d8e9b",
"pool_public_key": null,
"size": 25,
"time_modified": 1677653720
}
],
"success": true
}
get_plot_directories
Functionality: List all plot directories
Usage: chia rpc harvester [OPTIONS] get_plot_directories [REQUEST]
Options:
Short Command | Long Command | Type | Required | Description |
---|---|---|---|---|
-j | --json-file | FILENAME | False | Optionally instead of REQUEST you can provide a json file containing the request data |
-h | --help | None | False | Show a help message and exit |
Request Parameters: None
Example
chia rpc harvester get_plot_directories
Response:
{
"directories": [
"/plots"
"/plots_new"
],
"success": true
}
get_routes
Functionality: List all available RPC routes
Usage: chia rpc harvester [OPTIONS] get_routes [REQUEST]
Options:
Short Command | Long Command | Type | Required | Description |
---|---|---|---|---|
-j | --json-file | FILENAME | False | Optionally instead of REQUEST you can provide a json file containing the request data |
-h | --help | None | False | Show a help message and exit |
Request Parameters: None
Example
{
"routes": [
"/get_plots",
"/refresh_plots",
"/delete_plot",
"/add_plot_directory",
"/get_plot_directories",
"/remove_plot_directory",
"/get_connections",
"/open_connection",
"/close_connection",
"/stop_node",
"/get_routes",
"/healthz"
],
"success": true
}
Response:
chia rpc harvester get_routes
refresh_plots
Functionality: Refresh all plots from the harvester
Usage: chia rpc harvester [OPTIONS] refresh_plots [REQUEST]
Options:
Short Command | Long Command | Type | Required | Description |
---|---|---|---|---|
-j | --json-file | FILENAME | False | Optionally instead of REQUEST you can provide a json file containing the request data |
-h | --help | None | False | Show a help message and exit |
Request Parameters: None
If successful, this command will output "success": true
Example
chia rpc harvester refresh_plots
Response:
{
"success": true
}
remove_plot_directory
Functionality: Remove a directory from the harvester's list of plot directories
Usage: chia rpc harvester [OPTIONS] remove_plot_directory [REQUEST]
Options:
Short Command | Long Command | Type | Required | Description |
---|---|---|---|---|
-j | --json-file | FILENAME | False | Optionally instead of REQUEST you can provide a json file containing the request data |
-h | --help | None | False | Show a help message and exit |
Request Parameters:
Flag | Type | Required | Description |
---|---|---|---|
dirname | TEXT | True | The full path of the directory to remove |
As long as this command includes the required dirname
flag, it will always output "success": true
, even if the dirname is not in the directory list
Example
chia rpc harvester remove_plot_directory '{"dirname": "/plots_new"}'
Response:
{
"success": true
}