PristineCode

Storage Map v334 → v411 Changed in v411

Stored WASM code identified by code hash.

Explore chain
Queried by: developersanalytics

The Big Picture

All contract code lives here, indexed by code_hash. Multiple contracts can share the same code (same hash). This separation allows efficient code reuse and independent code/instance lifecycle.

Use Cases

  • Retrieve contract source code by hash
  • Verify code integrity
  • Analyze uploaded contracts
  • Build code browsers/explorers

From Chain Metadata

A mapping from a contract's code hash to its code.

Purpose & Usage

Purpose

Holds the original WASM bytecode for smart contracts.

Common Query Patterns

  • Query by code_hash to retrieve WASM code
  • Check existence before instantiation

Query Keys

#NameTypeDescription
1
codeHash
raw: key1
[u8; 32] [32] key1 ([u8; 32])

Stored Value

value (BoundedVec)

Relationships

Code Examples

import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443

const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);

// Query PristineCode storage
const key1 = "0x0000000000000000000000000000000000000000000000000000000000000000";

const result = await api.query.Contracts.PristineCode.getValue(key1);
console.log("PristineCode:", result);

Version History

v334 block 6,811,690 Added
v353–v360 · runtime versions skipped on chain (never deployed)
v361 block 7,063,679 Internal re-bind
v363–v364 · runtime versions skipped on chain (never deployed)
v365 block 7,135,419 Internal re-bind
v378–v384 · runtime versions skipped on chain (never deployed)
v385 block 7,782,670 Internal re-bind
v386–v390 · runtime versions skipped on chain (never deployed)
v391 block 7,782,857 Internal re-bind
v394–v400 · runtime versions skipped on chain (never deployed)
v401 block 8,036,576 Internal re-bind
v403–v410 · runtime versions skipped on chain (never deployed)
v411 block 8,283,784 Internal re-bind Current

Runtime Info

Pallet
Contracts
Storage Kind
Map
First Version
v334
Current Version
v411