Skip to content

Latest commit

 

History

History

README.md

Polkadot Docs Verification

This folder contains verified, reproducible tests for guides from docs.polkadot.com. Each guide is a self-contained project that can be cloned and run to verify the documentation works as described.

Purpose

This repository serves as the source of truth that Polkadot documentation works. When tests pass here, we can confidently link to these verified guides from the official docs.

Verified Guides

Parachains

Guide Status Source
Install Polkadot SDK Install Polkadot SDK docs.polkadot.com
Set Up Parachain Template Set Up Parachain Template docs.polkadot.com
Add Existing Pallets Add Existing Pallets docs.polkadot.com
Add Pallet Instances Add Pallet Instances docs.polkadot.com
Create a Custom Pallet Create a Custom Pallet docs.polkadot.com
Mock Your Runtime Mock Your Runtime docs.polkadot.com
Unit Test Pallets Unit Test Pallets docs.polkadot.com
Benchmark Pallets Benchmark Pallets docs.polkadot.com
Channels Between Parachains Channels Between Parachains docs.polkadot.com
Channels with System Parachains Channels with System Parachains docs.polkadot.com
Runtime Upgrades Runtime Upgrades docs.polkadot.com

Networks

Guide Status Source
Run a Parachain Network Run a Parachain Network docs.polkadot.com
Fork a Parachain Fork a Parachain docs.polkadot.com

Chain Interactions

Guide Status Source
Create an Account Create an Account docs.polkadot.com
Query Account Information Query Account Information docs.polkadot.com
Query On-Chain State with SDKs Query On-Chain State with SDKs docs.polkadot.com
Query On-Chain State with Sidecar REST API Query On-Chain State with Sidecar REST API docs.polkadot.com
Runtime API Calls Runtime API Calls docs.polkadot.com
Send Transactions with SDKs Send Transactions with SDKs docs.polkadot.com
Calculate Transaction Fees Calculate Transaction Fees docs.polkadot.com
Pay Fees with Different Tokens Pay Fees with Different Tokens docs.polkadot.com
Transfer Assets Between Parachains Transfer Assets Between Parachains docs.polkadot.com
Transfer Assets from Ethereum into Polkadot Transfer Assets from Ethereum into Polkadot docs.polkadot.com
XCM Fee Estimation XCM Fee Estimation docs.polkadot.com
Convert Assets on Asset Hub Convert Assets on Asset Hub docs.polkadot.com
Register a Foreign Asset Register a Foreign Asset docs.polkadot.com
Register a Local Asset Register a Local Asset docs.polkadot.com

Smart Contracts

Guide Status Source
Local Development Node Local Development Node docs.polkadot.com
Basic Contract with Hardhat Basic Contract with Hardhat docs.polkadot.com
ERC-20 with Hardhat ERC-20 with Hardhat docs.polkadot.com
ERC-721 with Hardhat ERC-721 with Hardhat docs.polkadot.com
Zero to Hero DApp Zero to Hero DApp docs.polkadot.com
Use Foundry with Polkadot Hub Use Foundry with Polkadot Hub docs.polkadot.com
Uniswap V2 Core with Hardhat Uniswap V2 Core with Hardhat docs.polkadot.com
Uniswap V2 Periphery with Hardhat Uniswap V2 Periphery with Hardhat docs.polkadot.com
Uniswap V3 Core with Hardhat Uniswap V3 Core with Hardhat docs.polkadot.com
Uniswap V3 Periphery with Hardhat Uniswap V3 Periphery with Hardhat docs.polkadot.com

How It Works

Each guide folder contains:

  • README.md - Guide description and exact replication steps
  • rust-toolchain.toml - Pinned Rust version
  • package.json + package-lock.json - Pinned npm dependencies
  • tests/ - Verification tests that run with dot test

Running Tests

# Navigate to a guide
cd polkadot-docs/parachains/set-up-parachain-template

# Install dependencies (uses lock files for reproducibility)
npm ci

# Run verification tests
dot test

Reproducibility

All guides use locked dependencies to ensure reproducible builds:

  • cargo build --locked - Uses exact crate versions from Cargo.lock
  • npm ci - Uses exact npm versions from package-lock.json
  • rust-toolchain.toml - Pins exact Rust version

If tests pass in CI, they should pass on your machine with the same versions.

Contributing

When adding a new guide:

  1. Create a folder mirroring the docs.polkadot.com URL structure
  2. Copy rust-toolchain.toml from repo root
  3. Add package.json with test dependencies
  4. Write tests that verify each step of the guide
  5. Commit lock file (package-lock.json)