Expand description
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 impl_runtime_apis
.
Every Substrate runtime needs to implement the Core
runtime api. This api provides the basic
functionality that every runtime needs to export.
Besides the macros and the Core
runtime api, this crates provides the Metadata
runtime
api, the ApiExt
trait, the CallApiAt
trait and the ConstructRuntimeApi
trait.
On a meta level this implies, the client calls the generated API from the client perspective.
Macros
Declares given traits as runtime apis.
Tags given trait implementations as runtime apis.
Mocks given trait implementations as runtime apis.
Structs
An error describing which API call failed.
Auxiliary wrapper that holds an api instance and binds it to the given lifetime.
Parameters for CallApiAt::call_api_at
.
Enums
Before calling any runtime api function, the runtime need to be initialized
at the requested block. However, some functions like execute_block
or
initialize_block
itself don’t require to have the runtime initialized
at the requested block.
Constants
Maximum nesting level for extrinsics.
Traits
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.
The Core
runtime api that every Substrate runtime needs to implement.
The Metadata
api trait that returns metadata for the runtime.
Something that provides a runtime api.
Something that provides information about a runtime api.
Type Definitions
Extracts the Api::Error
for a type that provides 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 ProvideRuntimeApi
.
A type that is used as cache for the storage transactions.
Extract the state backend transaction type for a type that implements ProvideRuntimeApi
.