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.

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.