sudo_set_evm_chain_id
Call v216 → current #58Sets the EVM chain ID for the network.
View calls on chainCall Workflow
This diagram shows the call execution flow: starting with sudo_set_evm_chain_id, passing through validation
(signature, nonce, mortality, fee payment), then pre-dispatch checks, followed by dispatch and modifies storage: EVMChainId.ChainId, 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: subnet owners
The Big Picture
EVM chain ID is crucial for transaction signing. Must be unique to prevent cross-chain replay attacks.
Use Cases
- Network identity for EVM
- Preventing replay attacks
From Chain Metadata
Sets the EVM ChainID.
Input Parameters
| # | Name | Type | Description |
|---|---|---|---|
| 0 | chain_id | u64 | chain_id (u64) |
Permissions
Origin
Root
Required Role
Permission data inferred from metadata. May be incomplete.
Requirements
- Caller is root account
Effects
Storage Modified
Postconditions
- EVMChainId updated
Side Effects
- Affects EVM transaction validation
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 sudo_set_evm_chain_id call
const chain_id = 0;
const call = api.tx[stringCamelCase("AdminUtils")][stringCamelCase("sudo_set_evm_chain_id")](
chain_id
);Runtime Info
View Source- Pallet Index
- 19
- Call Index
- 58
- First Version
- v216
- Current Version
- v393