-
Notifications
You must be signed in to change notification settings - Fork 637
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decouple Chain
from networking
#381
Comments
Alternatively, the |
ping @gsalgado thoughts? |
So, IIUC the |
After some experimentation yesterday, I think I've changed my stance on this, but it's still unclear what the path forward is. Complication 1Consider the following split.
Separating The JSON-RPC server needs access to the Conclusion: Whatever |
Complication 2Assuming that we keep the
|
replaced by https://github.com/ethereum/py-evm/issues/501 |
What is wrong?
The
evm.p2p.lightchain.LightChain
extends theChain
class. This is looking to be problematic as I implement the various processes intrinity
. The JSON-RPC server needs access to theChain
object. In order to do that as things are written, we'd need to setup amultiprocessing.Manager
in the networking process to expose the various chain methods for the JSON-RPC process.This is problematic because it allows for requests to the JSON-RPC server to compete with the execution of the networking processes.
How can it be fixed
I would like to create a new class type to contain the networking specific code that currently lives in the
LightChain
class. Maybe something likeChainNetwork
orNetworkManager
. This class can then interact with theChain
using a proxy object, much the same way that it interacts with theChainDB
object.The text was updated successfully, but these errors were encountered: