UNPKG

cactus-agent

Version:
198 lines (178 loc) 4.29 kB
# Harvester RPC API ## Usage You need to create RPC connection before actually sending rpc request to the service. Please remember that all rpc API is provided as an async function. ```js const {RPCAgent} = require("cactus-agent"); const {add_plot_directory} = require("cactus-agent/api/rpc/harvester"); const agent = new RPCAgent({ service: "harvester", // connect to local harvester mservice using config file. }); // Then call RPC function const response = await add_plot_directory(agent, {...}); /* * You can instantiate `agent` with hostname/port. * See https://github.com/Cactus-Network/cactus-agent/blob/main/src/rpc/index.ts */ const agent = new RPCAgent({ protocol: "https", host: "aaa.bbb.ccc", port: 11559, ca_cert: fs.readFileSync(...), client_cert: fs.readFileSync(...), client_key: fs.readFileSync(...), }); ``` --- ## `get_plots(agent)` ### Usage ```js const {RPCAgent} = require("cactus-agent"); const {get_plots} = require("cactus-agent/api/rpc/harvester"); const agent = new RPCAgent({service: "harvester"}); const response = await get_plots(agent); ``` ### response: ```typescript { plots: Plot[]; failed_to_open_filenames: str[]; not_found_filenames: str[]; } ``` For content of `Plot`, see https://github.com/Cactus-Network/cactus-agent/blob/main/src/api/cactus/harvester/harvester.ts --- ## `refresh_plots(agent)` ### Usage ```js const {RPCAgent} = require("cactus-agent"); const {refresh_plots} = require("cactus-agent/api/rpc/harvester"); const agent = new RPCAgent({service: "harvester"}); const response = await refresh_plots(agent); ``` ### response ```typescript {} ``` --- ## `delete_plot(agent, params)` ### Usage ```js const {RPCAgent} = require("cactus-agent"); const {delete_plot} = require("cactus-agent/api/rpc/harvester"); const agent = new RPCAgent({service: "harvester"}); const response = await delete_plot(agent, params); ``` ### params: ```typescript { filename: str; } ``` ### response ```typescript {} ``` --- ## `add_plot_directory(agent, params)` ### Usage ```js const {RPCAgent} = require("cactus-agent"); const {add_plot_directory} = require("cactus-agent/api/rpc/harvester"); const agent = new RPCAgent({service: "harvester"}); const response = await add_plot_directory(agent, params); ``` ### params: ```typescript { dirname: str; } ``` ### response ```typescript {} ``` --- ## `get_plot_directories(agent)` ### Usage ```js const {RPCAgent} = require("cactus-agent"); const {get_plot_directories} = require("cactus-agent/api/rpc/harvester"); const agent = new RPCAgent({service: "harvester"}); const response = await get_plot_directories(agent); ``` ### response ```typescript { directories: str[]; } ``` --- ## `remove_plot_directory(agent, params)` ### Usage ```js const {RPCAgent} = require("cactus-agent"); const {remove_plot_directory} = require("cactus-agent/api/rpc/harvester"); const agent = new RPCAgent({service: "harvester"}); const response = await remove_plot_directory(agent, params); ``` ### params ```typescript { dirname: str; } ``` ### response ```typescript {} ``` --- ## `get_harvester_config(agent)` ### Usage ```js const {RPCAgent} = require("cactus-agent"); const {get_harvester_config} = require("cactus-agent/api/rpc/harvester"); const agent = new RPCAgent({service: "harvester"}); const response = await get_harvester_config(agent); ``` ### response ```typescript { success: True; use_gpu_harvesting: bool; gpu_index: int; enforce_gpu_index: bool; disable_cpu_affinity: bool; parallel_decompressor_count: int; decompressor_thread_count: int; recursive_plot_scan: bool; refresh_parameter_interval_seconds: int; } ``` --- ## `update_harvester_config(agent, params)` ### Usage ```js const {RPCAgent} = require("cactus-agent"); const {update_harvester_config} = require("cactus-agent/api/rpc/harvester"); const agent = new RPCAgent({service: "harvester"}); const response = await update_harvester_config(agent, params); ``` ### params ```typescript { use_gpu_harvesting?: bool; gpu_index?: int; enforce_gpu_index?: bool; disable_cpu_affinity?: bool; parallel_decompressor_count?: int; decompressor_thread_count?: int; recursive_plot_scan?: bool; refresh_parameter_interval_seconds?: uint32; } ``` ### response ```typescript {} ```