Runtime API
The Runtime API subsystem is responsible for providing a single point of access to runtime state data via a set of pre-determined queries. This prevents shared ownership of a blockchain client resource by providing
Protocol
Input: RuntimeApiMessage
Output: None
Functionality
On receipt of RuntimeApiMessage::Request(relay_parent, request)
, answer the request using the post-state of the
relay_parent
provided and provide the response to the side-channel embedded within the request.
Jobs
TODO Don't limit requests based on parent hash, but limit caching. No caching should be done for any requests on
relay_parent
s that are not active based onActiveLeavesUpdate
messages. Maybe with some leeway for things that have just been stopped.