set_code_without_checks

Call v101 → current #3

Set runtime code without validation (root only, dangerous).

View calls on chain

Click items to navigate. Pan and zoom to explore.

Used by: validatorsdevelopers

The Big Picture

Dangerous escape hatch that bypasses version checks. Only use when normal path fails.

Use Cases

  • Emergency fixes
  • Development testing
  • Recovery from broken upgrades

From Chain Metadata

Set the new runtime code without doing any checks of the given `code`. ## Complexity `O(C)` where `C` length of `code`

Input Parameters

#NameTypeDescription
0
code
Vec<u8> Veccode (Vec<u8>)

Permissions

Origin
Unknown
Required Role

Permission data inferred from metadata. May be incomplete.

Requirements

  • Caller is root/sudo
  • Valid WASM code

Effects

Events Emitted

Storage Modified

Postconditions

  • Runtime code deployed regardless of version

Side Effects

  • Bypasses all safety checks
  • Could brick the chain

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 set_code_without_checks call
const code = 0;

const call = api.tx[stringCamelCase("System")][stringCamelCase("set_code_without_checks")](
  code
);

Runtime Info

Pallet Index
0
Call Index
3
First Version
v101
Current Version
v393