-
Notifications
You must be signed in to change notification settings - Fork 10
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
shim: simulate #53
Comments
Can you elaborate a bit more about how the user is meant to submit commands while the simulation is running? Do you imagine there being multiple processes which communicate with each other somehow? |
I envision that the user (e.g. rollup dev) would spin up the shim simulator, e.g. by running
then would run their rollup
then the user would interact with the simulation by issuing the commands below.
Note those commands are fire-and-forget. Under the hood, the command that is the part of simulate that controls simulation (maybe better described as simctl), must be able to connect to the simulation server, perform a command, and then disconnect (well, unless it's a listener of some kind). That implies that there is some kind of endpoint published by the simulation component that allows controlling the sim. I think normal HTTP/RPC should suffice for that. I guess one take aways from the issue, is that it's probably not worth it to reuse the existing E.g. |
As described here https://github.com/thrumdev/sugondat/issues/24
Mainly it should try to model closely a running sugondat parachain:
The user must be able to interact with the simulation somehow. First of all, there must be functionality comparable to
sugondat-shim query
. That is, the user must be able to submit blobs, inspect blobs, inspect the block contents, at the minimum. Optionally, the user must be able to do some advanced manipulations such as revert blocks.Given that, I think we should duplicate the those controls under simulate. E.g.
simulate serve
– starts the simulation. Optionally, provides a way to store the "blockchain" on disk.simulate submit
– similar toquery
, but operates on the simulation and provides additional settings such as inclusion delay.simulate revert
– reverts the simulated blockchain. I guess for simplicity operates on the running simulation as opposed to locally, although that's up for discussion.simulate get-blob
The text was updated successfully, but these errors were encountered: