Skip to main content

System

Calls

fillBlock

A dispatch that will fill the block weight up to the given ratio.

Namespace

api.tx.system.fillBlock

Type

function fillBlock(
ratio: Perbill
)

killPrefix

Kill all storage items with a key that starts with the given prefix.

NOTE: We rely on the Root origin to provide us the number of subkeys under the prefix we are removing to accurately calculate the weight of this function.

Namespace

api.tx.system.killPrefix

Type

function killPrefix(
prefix: Bytes,
subkeys: u32
)

killStorage

Kill some items from storage.

Namespace

api.tx.system.killStorage

Type

function killStorage(
keys: Vec<Bytes>
)

remark

Make some on-chain remark.

Namespace

api.tx.system.remark

Type

function remark(
remark: Bytes
)

remarkWithEvent

Make some on-chain remark and emit event.

Namespace

api.tx.system.remarkWithEvent

Type

function remarkWithEvent(
remark: Bytes
)

setCode

Set the new runtime code.

Namespace

api.tx.system.setCode

Type

function setCode(
code: Bytes
)

setCodeWithoutChecks

Set the new runtime code without doing any checks of the given code.

Namespace

api.tx.system.setCodeWithoutChecks

Type

function setCodeWithoutChecks(
code: Bytes
)

setHeapPages

Set the number of pages in the WebAssembly environment's heap.

Namespace

api.tx.system.setHeapPages

Type

function setHeapPages(
pages: u64
)

setStorage

Set some items of storage.

Namespace

api.tx.system.setStorage

Type

function setStorage(
items: Vec<(Bytes,Bytes)>
)

Storage

account

The full account information for a particular account ID.

Namespace

api.query.system.account

Type

function account(
SeedPrimitivesSignatureAccountId20
): FrameSystemAccountInfo

allExtrinsicsLen

Total length (in bytes) for all extrinsics put together, for the current block.

Namespace

api.query.system.allExtrinsicsLen

Type

function allExtrinsicsLen(

): Option<u32>

blockHash

Map of block numbers to block hashes.

Namespace

api.query.system.blockHash

Type

function blockHash(
u32
): H256

blockWeight

The current weight for the block.

Namespace

api.query.system.blockWeight

Type

function blockWeight(

): FrameSupportDispatchPerDispatchClassWeight

digest

Digest of the current block, also part of the block header.

Namespace

api.query.system.digest

Type

function digest(

): SpRuntimeDigest

eventCount

The number of events in the Events<T> list.

Namespace

api.query.system.eventCount

Type

function eventCount(

): u32

events

Events deposited for the current block.

NOTE: The item is unbound and should therefore never be read on chain. It could otherwise inflate the PoV size of a block.

Events have a large in-memory size. Box the events to not go out-of-memory just in case someone still reads them from within the runtime.

Namespace

api.query.system.events

Type

function events(

): Vec<FrameSystemEventRecord>

eventTopics

Mapping between a topic (represented by T::Hash) and a vector of indexes of events in the <Events<T>> list.

All topic vectors have deterministic storage locations depending on the topic. This allows light-clients to leverage the changes trie storage tracking mechanism and in case of changes fetch the list of events of interest.

The value has the type (T::BlockNumber, EventIndex) because if we used only just the EventIndex then in case if the topic has the same contents on the next block no notification will be triggered thus the event might be lost.

Namespace

api.query.system.eventTopics

Type

function eventTopics(
H256
): Vec<(u32,u32)>

executionPhase

The execution phase of the block.

Namespace

api.query.system.executionPhase

Type

function executionPhase(

): Option<FrameSystemPhase>

extrinsicCount

Total extrinsics count for the current block.

Namespace

api.query.system.extrinsicCount

Type

function extrinsicCount(

): Option<u32>

extrinsicData

Extrinsics data for the current block (maps an extrinsic's index to its data).

Namespace

api.query.system.extrinsicData

Type

function extrinsicData(
u32
): Bytes

lastRuntimeUpgrade

Stores the spec_version and spec_name of when the last runtime upgrade happened.

Namespace

api.query.system.lastRuntimeUpgrade

Type

function lastRuntimeUpgrade(

): Option<FrameSystemLastRuntimeUpgradeInfo>

number

The current block number being processed. Set by execute_block.

Namespace

api.query.system.number

Type

function number(

): u32

parentHash

Hash of the previous block.

Namespace

api.query.system.parentHash

Type

function parentHash(

): H256

upgradedToTripleRefCount

True if we have upgraded so that AccountInfo contains three types of RefCount. False (default) if not.

Namespace

api.query.system.upgradedToTripleRefCount

Type

function upgradedToTripleRefCount(

): bool

upgradedToU32RefCount

True if we have upgraded so that type RefCount is u32. False (default) if not.

Namespace

api.query.system.upgradedToU32RefCount

Type

function upgradedToU32RefCount(

): bool

Events

CodeUpdated

:code was updated.

Namespace

api.events.system.CodeUpdated

Type

type CodeUpdated = {

}

ExtrinsicFailed

An extrinsic failed.

Namespace

api.events.system.ExtrinsicFailed

Type

type ExtrinsicFailed = {
dispatch_error: SpRuntimeDispatchError,
dispatch_info: FrameSupportDispatchDispatchInfo
}

ExtrinsicSuccess

An extrinsic completed successfully.

Namespace

api.events.system.ExtrinsicSuccess

Type

type ExtrinsicSuccess = {
dispatch_info: FrameSupportDispatchDispatchInfo
}

KilledAccount

An account was reaped.

Namespace

api.events.system.KilledAccount

Type

type KilledAccount = {
account: SeedPrimitivesSignatureAccountId20
}

NewAccount

A new account was created.

Namespace

api.events.system.NewAccount

Type

type NewAccount = {
account: SeedPrimitivesSignatureAccountId20
}

Remarked

On on-chain remark happened.

Namespace

api.events.system.Remarked

Type

type Remarked = {
sender: SeedPrimitivesSignatureAccountId20,
hash: H256
}

Errors

CallFiltered

The origin filter prevent the call to be dispatched.

Namespace

api.errors.system.CallFiltered

FailedToExtractRuntimeVersion

Failed to extract the runtime version from the new runtime.

Either calling Core_version or decoding RuntimeVersion failed.

Namespace

api.errors.system.FailedToExtractRuntimeVersion

InvalidSpecName

The name of specification does not match between the current runtime and the new runtime.

Namespace

api.errors.system.InvalidSpecName

NonDefaultComposite

Suicide called when the account has non-default composite data.

Namespace

api.errors.system.NonDefaultComposite

NonZeroRefCount

There is a non-zero reference count preventing the account from being purged.

Namespace

api.errors.system.NonZeroRefCount

SpecVersionNeedsToIncrease

The specification version is not allowed to decrease between the current runtime and the new runtime.

Namespace

api.errors.system.SpecVersionNeedsToIncrease

Constants

blockHashCount

Maximum number of block number to block hash mappings to keep (oldest pruned first).

Namespace

api.consts.system.blockHashCount

Type

type blockHashCount = u32

blockLength

The maximum length of a block (in bytes).

Namespace

api.consts.system.blockLength

Type

type blockLength = FrameSystemLimitsBlockLength

blockWeights

Block & extrinsics weights: base values and limits.

Namespace

api.consts.system.blockWeights

Type

type blockWeights = FrameSystemLimitsBlockWeights

dbWeight

The weight of runtime database operations the runtime can invoke.

Namespace

api.consts.system.dbWeight

Type

type dbWeight = SpWeightsRuntimeDbWeight

ss58Prefix

The designated SS58 prefix of this chain.

This replaces the "ss58Format" property declared in the chain spec. Reason is that the runtime should know about the prefix in order to make use of it as an identifier of the chain.

Namespace

api.consts.system.ss58Prefix

Type

type ss58Prefix = u16

version

Get the chain's current version.

Namespace

api.consts.system.version

Type

type version = SpVersionRuntimeVersion

JSON-RPC Methods

accountNextIndex

Retrieves the next accountIndex as available on the node

Interface

api.rpc.system.accountNextIndex(accountId: AccountId): Index

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_accountNextIndex", "params":[accountId: AccountId] }

addLogFilter

Adds the supplied directives to the current log filter

info

This method is only active with appropriate flags

Interface

api.rpc.system.addLogFilter(directives: Text): Null

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_addLogFilter", "params":[directives: Text] }

addReservedPeer

Adds a reserved peer

info

This method is only active with appropriate flags

Interface

api.rpc.system.addReservedPeer(peer: Text): Text

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_addReservedPeer", "params":[peer: Text] }

chain

Retrieves the chain

Interface

api.rpc.system.chain(): Text

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_chain", "params":[] }

chainType

Retrieves the chain type

Interface

api.rpc.system.chainType(): ChainType

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_chainType", "params":[] }

dryRun

Dry run an extrinsic at a given block

info

This method is only active with appropriate flags

Interface

api.rpc.system.dryRun(extrinsic: Bytes, at?: BlockHash): ApplyExtrinsicResult

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_dryRun", "params":[extrinsic: Bytes, at?: BlockHash] }

health

Return health status of the node

Interface

api.rpc.system.health(): Health

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_health", "params":[] }

localListenAddresses

The addresses include a trailing /p2p/ with the local PeerId, and are thus suitable to be passed to addReservedPeer or as a bootnode address for example

Interface

api.rpc.system.localListenAddresses(): Vec<Text>

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_localListenAddresses", "params":[] }

localPeerId

Returns the base58-encoded PeerId of the node

Interface

api.rpc.system.localPeerId(): Text

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_localPeerId", "params":[] }

name

Retrieves the node name

Interface

api.rpc.system.name(): Text

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_name", "params":[] }

nodeRoles

Returns the roles the node is running as

Interface

api.rpc.system.nodeRoles(): Vec<NodeRole>

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_nodeRoles", "params":[] }

peers

Returns the currently connected peers

info

This method is only active with appropriate flags

Interface

api.rpc.system.peers(): Vec<PeerInfo>

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_peers", "params":[] }

properties

Get a custom set of properties as a JSON object, defined in the chain spec

Interface

api.rpc.system.properties(): ChainProperties

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_properties", "params":[] }

removeReservedPeer

Remove a reserved peer

info

This method is only active with appropriate flags

Interface

api.rpc.system.removeReservedPeer(peerId: Text): Text

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_removeReservedPeer", "params":[peerId: Text] }

reservedPeers

Returns the list of reserved peers

Interface

api.rpc.system.reservedPeers(): Vec<Text>

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_reservedPeers", "params":[] }

resetLogFilter

Resets the log filter to Substrate defaults

info

This method is only active with appropriate flags

Interface

api.rpc.system.resetLogFilter(): Null

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_resetLogFilter", "params":[] }

syncState

Returns the state of the syncing of the node

Interface

api.rpc.system.syncState(): SyncState

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_syncState", "params":[] }

version

Retrieves the version of the node

Interface

api.rpc.system.version(): Text

JSON

{ "id":1, "jsonrpc":"2.0", "method":"system_version", "params":[] }