Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Move RPC server to a new process #1857
This solves #1827
The RPC server has now been moved to a new executable. If
There are no API changes required as the current JSON requests are simply passed via IPC transport mechanism to be handled inside the node now. This required removing anything related to the node from the RPC process as they are now separate services and don't know about each other (theoretically).
A new json file has been created (rpc_config.json) for it and upon upgrade the settings from config.json are migrated.
The dependencies of a few things were a bit messed up, causing me all sorts of issues.
A few IPC connections are made, defaulting to 8 on the live network which is user configurable with the rpc_config.json option "num_ipc_connections". The new class
Seems like all handlers are now in
Would it be possible to factor out all the handler stuff and detach that from IPC? json_handler.cpp or something like that, and then IPC forwards the request there if it has the proper encoding.
In the future we may have non-JSON handlers, like protobuf, flatbuffer and whatnot.