166 const std::string& data_dir,
167 const std::string& tree_heights_json,
168 const std::string& tree_prefill_json,
169 const std::string& map_sizes_json,
171 uint32_t initial_header_generator_point,
172 const std::string& prefilled_public_data_json,
173 const std::string& prefilled_nullifiers_json,
174 uint64_t genesis_timestamp,
175 size_t request_ring_size,
176 size_t response_ring_size)
181 auto tree_height = parse_tree_uint32_map(tree_heights_json);
182 auto tree_prefill = parse_tree_index_map(tree_prefill_json);
191 if (!map_sizes_json.empty()) {
192 auto parsed = parse_tree_uint64_map(map_sizes_json);
193 for (
const auto& [k, v] : parsed) {
200 if (!prefilled_public_data_json.empty()) {
201 prefilled_public_data = parse_prefilled_public_data(prefilled_public_data_json);
202 std::cerr <<
"Parsed " << prefilled_public_data.size() <<
" prefilled public data entries" <<
'\n';
207 std::vector<bb::fr> prefilled_nullifiers;
208 if (!prefilled_nullifiers_json.empty()) {
209 prefilled_nullifiers = parse_prefilled_nullifiers(prefilled_nullifiers_json);
210 std::cerr <<
"Parsed " << prefilled_nullifiers.size() <<
" prefilled nullifiers" <<
'\n';
214 std::cerr <<
"Creating WorldState at " << data_dir <<
" with " << threads <<
" threads" <<
'\n';
220 prefilled_public_data,
221 prefilled_nullifiers,
222 initial_header_generator_point,
230 ipc::ServerOptions opts;
235 opts.max_shm_clients = 8;
236 opts.shm_request_ring_size = request_ring_size;
237 opts.shm_response_ring_size = response_ring_size;
238 auto server = ipc::make_server(input_path, opts);
240 std::cerr <<
"Error: --input path must end with .sock or .shm: " << input_path <<
'\n';
243 std::cerr <<
"aztec-wsdb listening on " << input_path <<
'\n';
244 ipc::install_default_signal_handlers(*server);
246 if (!server->listen()) {
247 std::cerr <<
"Error: Could not start IPC server" <<
'\n';
251 std::cerr <<
"aztec-wsdb IPC server ready" <<
'\n';
273 request.scheduler = scheduler.get();
278 auto handler = make_wsdb_handler(request);
int execute_wsdb_server(const std::string &input_path, const std::string &data_dir, const std::string &tree_heights_json, const std::string &tree_prefill_json, const std::string &map_sizes_json, uint32_t threads, uint32_t initial_header_generator_point, const std::string &prefilled_public_data_json, const std::string &prefilled_nullifiers_json, uint64_t genesis_timestamp, size_t request_ring_size, size_t response_ring_size)
Start the aztec-wsdb IPC server.