Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

try-runtime: RPC endpoint / Node Integration #13563

Closed

Description

@kianenigma

When we do follow-chain, it would be useful to have the basic RPCs implemented and exposed on a specific port, so that you can connect PJS Apps to your fake chain.

An alternative for this is to actually integrate this in the node. #12537 envisioned that you would be able to run a node that is normally syncing, but instead of calling Core_execute_block, it would call into TryRuntime_execute_block. This would give us a fully working client.

Activity

  1. kianenigma commented on Mar 8, 2023

    @kianenigma
    ContributorAuthor

    not sure yet which is worthwhile, if any.

  2. added
    Z4-involvedCan be fixed by an expert coder with good knowledge of the codebase.
    on Mar 8, 2023
  3. kianenigma commented on Mar 14, 2023

    @kianenigma
    ContributorAuthor

    atm it has to be either:

    • native
    • wasm-override
  4. kianenigma commented on Apr 6, 2023

    @kianenigma
    ContributorAuthor

    the scenario that he is interested in is:

    You run execute-block or fast-forward, and once the block have all executed, you want to inspect the state.

    one way to approach this is to make try-runtime cli programmable, so you can define more tests to be written, but this is a holy PITA in Rust.

    an easier way, which Alan from Moonbeam is also asking is, to make the try-runtime cli capable of implementing a few important RPCs like state_getStorage and so on, and then we query it with Polkadot JS api/apps.

    in principle, I think this is not hard, but I have no idea how hard it is.

    So, imagine the try-runtime CLI being able to return a value to a subset of the RPC requests, namely all of the ones that can be answered by having a state.

    because end of the day, try-runtime-cli is just a wrapper for remote-externalities, which is a "test state".

    the problem though is that the underlying remote-ext can have a partial state etc. So there are a lot of edge cases that we may not be able to handle, and developers might confuse themselves.

    For example, you would run:

    try-runtime fast-forward 1000 --rpc and this will run 1000 empty blocks for you, and the process is still running, hosting an RPC server.

  5. moved this from Backlog to To Do in Runtime / FRAMEon Apr 12, 2023
  6. moved this from To Do to Backlog in Runtime / FRAMEon Apr 12, 2023
  7. moved this from Backlog to To Do in Runtime / FRAMEon Apr 12, 2023
  8. moved this from To Do to Backlog in Runtime / FRAMEon Apr 12, 2023
  9. added
    T1-runtimeThis PR/Issue is related to the topic “runtime”.
    on Jun 7, 2023
  10. liamaharon commented on Aug 14, 2023

    @liamaharon
    Contributor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    J2-unconfirmedIssue might be valid, but it’s not yet known.T1-runtimeThis PR/Issue is related to the topic “runtime”.Z4-involvedCan be fixed by an expert coder with good knowledge of the codebase.

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions