Call Workflow
This diagram shows the call execution flow: starting with remark, passing through validation
(signature, nonce, mortality, fee payment), then pre-dispatch checks, followed by dispatch which emits events: Remarked, and finally post-dispatch where ExtrinsicSuccess is emitted and fees are settled.
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
Click items to navigate. Pan and zoom to explore.
Used by: developersanalytics
The Big Picture
The remark call stores arbitrary data in a block without modifying state. Useful for timestamping and audit trails.
Use Cases
- Timestamping documents
- Proof of existence
- Embedding metadata in blocks
From Chain Metadata
Make some on-chain remark. ## Complexity `O(1)`
Input Parameters
| # | Name | Type | Description |
|---|---|---|---|
| 0 | remark | Vec<u8> Vec | remark (Vec<u8>) |
Permissions
Origin
Unknown
Required Role
Requirements
- Signed by any account
- Sufficient balance for transaction fee
Effects
Events Emitted
Postconditions
- Data included in block (not in storage)
- No events emitted
Side Effects
- Data permanently anchored to blockchain
Code Examples
import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";
const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });
// Build remark call
const remark = 0;
const call = api.tx[stringCamelCase("System")][stringCamelCase("remark")](
remark
);Runtime Info
- Pallet Index
- 0
- Call Index
- 0
- First Version
- v101
- Current Version
- v393