Substrate runtime api
The Substrate runtime api is the crucial interface between the node and the runtime.
Every call that goes into the runtime is done with a runtime api. The runtime apis are not fixed.
Every Substrate user can define its own apis with
decl_runtime_apis and implement them in
the runtime with
Every Substrate runtime needs to implement the
Core runtime api. This api provides the basic
functionality that every runtime needs to export.
On a meta level this implies, the client calls the generated API from the client perspective.
Declares given traits as runtime apis.
Tags given trait implementations as runtime apis.
Mocks given trait implementations as runtime apis.
An error describing which API call failed.
Auxiliary wrapper that holds an api instance and binds it to the given lifetime.
Before calling any runtime api function, the runtime need to be initialized
at the requested block. However, some functions like
Maximum nesting level for extrinsics.
Extends the runtime api traits with an associated error type. This trait is given as super trait to every runtime api trait.
Extends the runtime api implementation with some common functionality.
Something that can call into the an api at a given block.
Something that can be constructed to a runtime api.
Something that provides a runtime api.
Something that provides information about a runtime api.
A type that records all accessed trie nodes and generates a proof out of it.
Extract the state backend type for a type that implements
A type that is used as cache for the storage transactions.
Extract the state backend transaction type for a type that implements