---
category: Tooling
description: Developer SDKs and tools including PAPI, Polkadot.js, subxt, light clients, and testing frameworks.
page_count: 50
token_estimate: 8406
updated: '2026-06-25T12:38:13.291384+00:00'
---

## Block Explorers
https://docs.polkadot.com/smart-contracts/explorers.md

Access block explorers like Subscan and BlockScout to track transactions, analyze contracts, and view on-chain data from smart contracts.

### Sections
- Introduction `#introduction`
- Core Functionality `#core-functionality`
- Available Block Explorers `#available-block-explorers`
- BlockScout `#blockscout`
- Subscan `#subscan`

---

## Calculate Transaction Fees
https://docs.polkadot.com/chain-interactions/send-transactions/calculate-transaction-fees.md

Learn how to calculate transaction fees on Polkadot using Polkadot-API, Polkadot.js API, and the Polkadot.js Apps UI to estimate transfer costs.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Polkadot-API (PAPI) `#polkadot-api-papi`
- Polkadot.js API `#polkadotjs-api`
- Polkadot.js Apps Interface `#polkadotjs-apps-interface`
- Estimate Fees via Transfer Interface `#estimate-fees-via-transfer-interface`
- Where to Go Next `#where-to-go-next`

---

## Chopsticks
https://docs.polkadot.com/reference/tools/chopsticks.md

Chopsticks is a versatile tool for forking live Polkadot SDK chains, enabling local testing, block replay, and XCM simulation without deploying to live networks.

### Sections
- Introduction `#introduction`
- Key Features `#key-features`
- Prerequisites `#prerequisites`
- Installation `#installation`
- Global Installation `#global-installation`
- Local Installation `#local-installation`
- Get Started `#get-started`
- Configuration Options `#configuration-options`
- Configuration File `#configuration-file`
- Create a Fork `#create-a-fork`
- Interact with a Fork `#interact-with-a-fork`
- Replay Blocks `#replay-blocks`
- Test XCM `#test-xcm`
- WebSocket Commands `#websocket-commands`
- Where to Go Next `#where-to-go-next`

---

## Convert Assets on Asset Hub
https://docs.polkadot.com/chain-interactions/token-operations/convert-assets.md

A guide detailing the step-by-step process of converting assets on Asset Hub, helping users efficiently navigate asset management on the platform.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Create a Liquidity Pool `#create-a-liquidity-pool`
- Add Liquidity to a Pool `#add-liquidity-to-a-pool`
- Swap Assets `#swap-assets`
- Swap from an Exact Amount of Tokens `#swap-from-an-exact-amount-of-tokens`
- Swap to an Exact Amount of Tokens `#swap-to-an-exact-amount-of-tokens`
- Withdraw Liquidity from a Pool `#withdraw-liquidity-from-a-pool`
- Test Environment Setup `#test-environment-setup`

---

## Dedot
https://docs.polkadot.com/reference/tools/dedot.md

Dedot is a next-gen JavaScript client for Polkadot and Polkadot SDK-based blockchains, offering lightweight, tree-shakable APIs with strong TypeScript support.

### Sections
- Introduction `#introduction`
- Key Features `#key-features`
- Installation `#installation`
- Get Started `#get-started`
- Initialize a Client Instance `#initialize-a-client-instance`
- Enable Type and API Suggestions `#enable-type-and-api-suggestions`
- Read On-Chain Data `#read-on-chain-data`
- Sign and Send Transactions `#sign-and-send-transactions`
- Where to Go Next `#where-to-go-next`

---

## Deploy Contracts to Polkadot Hub with Ethers.js
https://docs.polkadot.com/smart-contracts/libraries/ethers-js.md

Learn how to interact with Polkadot Hub using Ethers.js, from compiling and deploying Solidity contracts to interacting with deployed smart contracts.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Project Structure `#project-structure`
- Set Up the Project `#set-up-the-project`
- Install Dependencies `#install-dependencies`
- Set Up the Ethers.js Provider `#set-up-the-ethersjs-provider`
- Compile Contracts `#compile-contracts`
- Sample Storage Smart Contract `#sample-storage-smart-contract`
- Compile the Smart Contract `#compile-the-smart-contract`
- Deploy the Compiled Contract `#deploy-the-compiled-contract`
- Interact with the Contract `#interact-with-the-contract`
- Where to Go Next `#where-to-go-next`

---

## Deploy Contracts to Polkadot Hub with Web3.js
https://docs.polkadot.com/smart-contracts/libraries/web3-js.md

Learn how to interact with Polkadot Hub using Web3.js, from compiling and deploying Solidity contracts to interacting with deployed smart contracts.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Project Structure `#project-structure`
- Set Up the Project `#set-up-the-project`
- Install Dependencies `#install-dependencies`
- Set Up the Web3 Provider `#set-up-the-web3-provider`
- Compile Contracts `#compile-contracts`
- Sample Storage Smart Contract `#sample-storage-smart-contract`
- Compile the Smart Contract `#compile-the-smart-contract`
- Deploy the Compiled Contract `#deploy-the-compiled-contract`
- Interact with the Contract `#interact-with-the-contract`
- Where to Go Next `#where-to-go-next`

---

## Deploying Uniswap V2 Core on Polkadot
https://docs.polkadot.com/smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md

Learn how to deploy and test Uniswap V2 Core on Polkadot Hub using Hardhat, bringing AMM-based token swaps to the Polkadot ecosystem.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Set Up the Project `#set-up-the-project`
- Understanding Uniswap V2 Architecture `#understanding-uniswap-v2-architecture`
- Test the Contracts `#test-the-contracts`
- Deploy the Contracts `#deploy-the-contracts`
- Conclusion `#conclusion`

---

## E2E Testing with Moonwall
https://docs.polkadot.com/reference/tools/moonwall.md

Enhance blockchain end-to-end testing with Moonwall's standardized environment setup, comprehensive configuration management, and simple network interactions.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Install Moonwall `#install-moonwall`
- Global Installation `#global-installation`
- Local Installation `#local-installation`
- Initialize Moonwall `#initialize-moonwall`
- Writing Tests `#writing-tests`
- Running the Tests `#running-the-tests`
- Where to Go Next `#where-to-go-next`

---

## Fork a Parachain Using Chopsticks
https://docs.polkadot.com/parachains/testing/fork-a-parachain.md

Simplify Polkadot SDK development with Chopsticks. Learn essential features, how to install Chopsticks, and how to configure local blockchain forks.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Install Chopsticks `#install-chopsticks`
- Global Installation `#global-installation`
- Local Installation `#local-installation`
- Configure Chopsticks `#configure-chopsticks`
- Configuration File `#configuration-file`
- CLI Flags `#cli-flags`
- WebSocket Commands `#websocket-commands`
- Where to Go Next `#where-to-go-next`

---

## Indexers
https://docs.polkadot.com/parachains/integrations/indexers.md

Discover blockchain indexers. Enhance data access, enable fast and complex queries, and optimize blockchain data for seamless app performance.

### Sections
- The Challenge of Blockchain Data Access `#the-challenge-of-blockchain-data-access`
- What is a Blockchain Indexer? `#what-is-a-blockchain-indexer`
- Indexer Implementations `#indexer-implementations`

---

## Install Polkadot SDK
https://docs.polkadot.com/parachains/install-polkadot-sdk.md

Install all required Polkadot SDK dependencies, set up the SDK itself, and verify that it runs correctly on your machine.

### Sections
- Install Dependencies: macOS `#install-dependencies-macos`
- Before You Begin {: #before-you-begin-mac-os } `#before-you-begin-before-you-begin-mac-os`
- Install Command Line Tools `#install-command-line-tools`
- Install Homebrew `#install-homebrew`
- Support for Apple Silicon `#support-for-apple-silicon`
- Install Required Packages and Rust {: #install-required-packages-and-rust-mac-os } `#install-required-packages-and-rust-install-required-packages-and-rust-mac-os`
- Install Dependencies: Linux `#install-dependencies-linux`
- Before You Begin {: #before-you-begin-linux } `#before-you-begin-before-you-begin-linux`
- Install Required Packages and Rust {: #install-required-packages-and-rust-linux } `#install-required-packages-and-rust-install-required-packages-and-rust-linux`
- Install Dependencies: Windows (WSL) `#install-dependencies-windows-wsl`
- Before You Begin {: #before-you-begin-windows-wls } `#before-you-begin-before-you-begin-windows-wls`
- Set Up Windows Subsystem for Linux `#set-up-windows-subsystem-for-linux`
- Install Required Packages and Rust {: #install-required-packages-and-rust-windows-wls } `#install-required-packages-and-rust-install-required-packages-and-rust-windows-wls`
- Build the Polkadot SDK `#build-the-polkadot-sdk`
- Clone the Polkadot SDK `#clone-the-polkadot-sdk`
- Compile the Polkadot SDK `#compile-the-polkadot-sdk`
- Verify the Build `#verify-the-build`
- Optional: Run the Kitchensink Node `#optional-run-the-kitchensink-node`
- Run the Kitchensink Node in Development Mode `#run-the-kitchensink-node-in-development-mode`
- Interact with the Kitchensink Node `#interact-with-the-kitchensink-node`
- Where to Go Next `#where-to-go-next`

---

## Light Clients
https://docs.polkadot.com/reference/tools/light-clients.md

Light clients enable secure and efficient blockchain interaction without running a full node. Learn everything you need to know about light clients on Polkadot.

### Sections
- Introduction `#introduction`
- Light Clients Workflow `#light-clients-workflow`
- JSON-RPC and Light Client Comparison `#json-rpc-and-light-client-comparison`
- Using Light Clients `#using-light-clients`
- PAPI Light Client Support `#papi-light-client-support`
- Substrate Connect - Browser Extension `#substrate-connect-browser-extension`
- Resources `#resources`

---

## Oracles
https://docs.polkadot.com/parachains/integrations/oracles.md

Learn about blockchain oracles, the essential bridges connecting blockchains with real-world data for decentralized applications in the Polkadot ecosystem.

### Sections
- What is a Blockchain Oracle? `#what-is-a-blockchain-oracle`
- Oracle Implementations `#oracle-implementations`

---

## ParaSpell XCM SDK
https://docs.polkadot.com/reference/tools/paraspell.md

A powerful open-source library that simplifies XCM integration, enabling developers to easily build interoperable dApps on Polkadot.

### Sections
- Introduction `#introduction`
- ParaSpell XCM SDK `#paraspell-xcm-sdk`
- Install ParaSpell `#install-paraspell`
- Where to Go Next `#where-to-go-next`

---

## Pay Transaction Fees with Different Tokens
https://docs.polkadot.com/chain-interactions/send-transactions/pay-fees-with-different-tokens.md

Learn how to send a DOT transfer transaction while paying the fees using a different token on Polkadot Hub using multiple SDKs.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Local Polkadot Hub Setup `#local-polkadot-hub-setup`
- Set Up Your Project `#set-up-your-project`
- Implementation `#implementation`
- Import Dependencies and Define Constants `#import-dependencies-and-define-constants`
- Create a Signer and Connect `#create-a-signer-and-connect`
- Create the Transaction `#create-the-transaction`
- Sign and Submit with Alternative Fee Payment `#sign-and-submit-with-alternative-fee-payment`
- Full Code `#full-code`
- Run the Script `#run-the-script`
- Expected Output `#expected-output`
- Conclusion `#conclusion`
- Where to Go Next `#where-to-go-next`

---

## Polkadart
https://docs.polkadot.com/reference/tools/polkadart.md

Polkadart is a type-safe, native Dart, SDK for Polkadot and any compatible Polkadot-SDK blockchain network.

### Sections
- Installation `#installation`
- Get Started `#get-started`
- Type Generation `#type-generation`
- Run Generator `#run-generator`
- Use Generated Types `#use-generated-types`
- Creating an API Instance `#creating-an-api-instance`
- Reading Chain Data `#reading-chain-data`
- Subscribe to New Blocks `#subscribe-to-new-blocks`
- Send a Transaction `#send-a-transaction`
- Where to Go Next `#where-to-go-next`

---

## Polkadot Omni Node
https://docs.polkadot.com/reference/tools/omninode.md

Run parachain nodes easily with the polkadot-omni-node, a white-labeled binary that can run parachain nodes using a single pre-built solution.

### Sections
- Introduction `#introduction`
- Install Polkadot Omni Node `#install-polkadot-omni-node`
- Obtain Chain Specifications `#obtain-chain-specifications`
- Run a Parachain Full Node `#run-a-parachain-full-node`
- Interact with the Node `#interact-with-the-node`
- Parachain Compatibility `#parachain-compatibility`
- Required Runtime APIs `#required-runtime-apis`
- Required Pallets `#required-pallets`

---

## Polkadot Utilities
https://docs.polkadot.com/tools.md

Interactive encoding, hashing, and address utility tools for Polkadot development. Convert strings, balances, and numbers to hex, hash inputs with Blake2 and XXHash, and derive or re-encode Polkadot addresses.

### Sections
- Encoding & Decoding `#encoding-decoding`
- Hashing `#hashing`
- Address Utilities `#address-utilities`
- Asset ID to ERC20 Address `#asset-id-to-erc20-address`

---

## Polkadot-API
https://docs.polkadot.com/reference/tools/papi.md

Polkadot-API (PAPI) is a modular, composable library set designed for efficient interaction with Polkadot chains, prioritizing a "light-client first" approach.

### Sections
- Introduction `#introduction`
- Get Started `#get-started`
- API Instantiation `#api-instantiation`
- Reading Chain Data `#reading-chain-data`
- Sending Transactions `#sending-transactions`
- Where to Go Next `#where-to-go-next`

---

## Polkadot.js API
https://docs.polkadot.com/reference/tools/polkadot-js-api.md

Interact with Polkadot SDK-based chains easily using the Polkadot.js API. Query chain data, submit transactions, and more via JavaScript or Typescript.

### Sections
- Introduction `#introduction`
- Dynamic API Generation `#dynamic-api-generation`
- Available API Categories `#available-api-categories`
- Installation `#installation`
- Get Started `#get-started`
- Creating an API Instance `#creating-an-api-instance`
- Reading Chain Data `#reading-chain-data`
- Sending Transactions `#sending-transactions`
- Where to Go Next `#where-to-go-next`

---

## Python Substrate Interface
https://docs.polkadot.com/reference/tools/py-substrate-interface.md

Learn how to connect to Polkadot SDK-based nodes, query data, submit transactions, and manage blockchain interactions using the Python Substrate Interface.

### Sections
- Introduction `#introduction`
- Installation `#installation`
- Get Started `#get-started`
- Establishing Connection `#establishing-connection`
- Reading Chain State `#reading-chain-state`
- Submitting Transactions `#submitting-transactions`
- Where to Go Next `#where-to-go-next`

---

## Query Account Information with SDKs
https://docs.polkadot.com/chain-interactions/accounts/query-accounts.md

Learn how to query account information using five popular SDKs—Polkadot API (PAPI), Polkadot.js API, Dedot, Python Substrate Interface, and Subxt.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Query Account Information `#query-account-information`
- Understanding Account Data `#understanding-account-data`
- Where to Go Next `#where-to-go-next`

---

## Query On-Chain State with SDKs
https://docs.polkadot.com/chain-interactions/query-data/query-sdks.md

Learn how to query on-chain storage data on Polkadot Hub using PAPI, Polkadot.js, Dedot, Python Substrate Interface, and Subxt.

### Sections
- Introduction `#introduction`
- Query On-Chain Data `#query-on-chain-data`
- Where to Go Next `#where-to-go-next`

---

## Query On-Chain State with Sidecar REST API
https://docs.polkadot.com/chain-interactions/query-data/query-rest.md

Learn how to query on-chain state on Polkadot using the Sidecar REST API with curl, including account balances, asset data, and block information.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Running Sidecar Locally `#running-sidecar-locally`
- Public Sidecar Endpoints `#public-sidecar-endpoints`
- Query Account Balance `#query-account-balance`
- Query Asset Balances `#query-asset-balances`
- Query Asset Metadata `#query-asset-metadata`
- Query Asset Details `#query-asset-details`
- Query Foreign Asset Balances `#query-foreign-asset-balances`
- Query Block Information `#query-block-information`
- API Reference `#api-reference`
- Where to Go Next `#where-to-go-next`

---

## Quickstart Parachain Development with Pop CLI
https://docs.polkadot.com/reference/tools/pop-cli.md

Quickly bootstrap parachain projects, scaffold templates, deploy local networks, and streamline development workflows using Pop CLI.

### Sections
- Introduction `#introduction`
- Install Pop CLI `#install-pop-cli`
- Set Up Your Development Environment `#set-up-your-development-environment`
- Initialize a Project `#initialize-a-project`
- Where to Go Next `#where-to-go-next`

---

## Replay and Dry Run XCMs
https://docs.polkadot.com/chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md

Replay and dry-run XCMs using Chopsticks with full logging enabled. Diagnose issues, trace message flow, and debug complex cross-chain interactions.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Set Up Your Project `#set-up-your-project`
- Capture the XCM to Replay `#capture-the-xcm-to-replay`
- Fork the Relevant Chains `#fork-the-relevant-chains`
- Set the Block Numbers `#set-the-block-numbers`
- Enable Logging and Wasm Override `#enable-logging-and-wasm-override`
- Identify and Extract the XCM `#identify-and-extract-the-xcm`
- Replay the XCM `#replay-the-xcm`
- Add the Polkadot Hub Descriptor `#add-the-polkadot-hub-descriptor`
- Create a Replay Script `#create-a-replay-script`
- Execute the Replay Script `#execute-the-replay-script`
- Expected Output `#expected-output`
- Dry Run the XCM `#dry-run-the-xcm`
- Create a Dry Run Script `#create-a-dry-run-script`
- Execute the Dry Run Script `#execute-the-dry-run-script`
- Review and Debug `#review-and-debug`
- Where to Go Next `#where-to-go-next`

---

## Run a Parachain Network
https://docs.polkadot.com/parachains/testing/run-a-parachain-network.md

Learn how to deploy a local parachain test network using Zombienet, including building a custom collator and verifying block production.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Set Up the Parachain Template `#set-up-the-parachain-template`
- Download Relay Chain Binaries `#download-relay-chain-binaries`
- Generate a Paseo Local Chain Spec `#generate-a-paseo-local-chain-spec`
- Configure the Network `#configure-the-network`
- Spawn the Network `#spawn-the-network`
- Verify the Network `#verify-the-network`
- Where to Go Next `#where-to-go-next`

---

## Runtime API Calls
https://docs.polkadot.com/chain-interactions/query-data/runtime-api-calls.md

Learn how to call Polkadot runtime APIs to access the Wasm runtime and retrieve computed results using PAPI, Polkadot.js, Dedot, Python, and Subxt.

### Sections
- Introduction `#introduction`
- Call Runtime APIs `#call-runtime-apis`
- Available Runtime APIs `#available-runtime-apis`
- Where to Go Next `#where-to-go-next`

---

## Send Transactions with SDKs
https://docs.polkadot.com/chain-interactions/send-transactions/with-sdks.md

Learn how to construct, sign, and submit transactions using PAPI, Polkadot.js, Dedot, Python Substrate Interface, and Subxt.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Send Transactions `#send-transactions`
- Where to Go Next `#where-to-go-next`

---

## Sidecar REST API
https://docs.polkadot.com/reference/tools/sidecar.md

Learn about Substrate API Sidecar, a REST service that provides endpoints for interacting with Polkadot SDK-based chains and simplifies blockchain interactions.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Installation `#installation`
- Usage `#usage`
- Endpoints `#endpoints`
- Where to Go Next `#where-to-go-next`

---

## Subxt Rust API
https://docs.polkadot.com/reference/tools/subxt.md

Subxt is a Rust library for type-safe interaction with Polkadot SDK blockchains, enabling transactions, state queries, runtime API access, and more.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Installation `#installation`
- Get Started `#get-started`
- Download Chain Metadata `#download-chain-metadata`
- Generate Type-Safe Interfaces `#generate-type-safe-interfaces`
- Initialize the Subxt Client `#initialize-the-subxt-client`
- Read Chain Data `#read-chain-data`
- Submit Transactions `#submit-transactions`
- Where to Go Next `#where-to-go-next`

---

## Uniswap V2 Core with EVM on Polkadot
https://docs.polkadot.com/smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md

Deploy and test unmodified Uniswap V2 Core contracts on Polkadot Hub using standard Hardhat and TypeScript with the EVM execution path.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Set Up the Project `#set-up-the-project`
- Configure Secure Key Management `#configure-secure-key-management`
- Uniswap V2 Core Architecture `#uniswap-v2-core-architecture`
- Test the Contracts `#test-the-contracts`
- Deploy the Contracts `#deploy-the-contracts`
- Where to Go Next `#where-to-go-next`

---

## Uniswap V2 on Polkadot
https://docs.polkadot.com/smart-contracts/cookbook/eth-dapps/uniswap-v2.md

Deploy and test the full Uniswap V2 stack on Polkadot Hub — from core AMM contracts to periphery router interfaces — using standard Ethereum tooling.

### Sections
- Tutorials `#tutorials`

---

## Uniswap V2 Periphery with EVM on Polkadot
https://docs.polkadot.com/smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md

Deploy and test unmodified Uniswap V2 Periphery Router contracts on Polkadot Hub using standard Hardhat and TypeScript with the EVM execution path.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Set Up the Project `#set-up-the-project`
- Configure Secure Key Management `#configure-secure-key-management`
- Uniswap V2 Periphery Architecture `#uniswap-v2-periphery-architecture`
- Test the Contracts `#test-the-contracts`
- Deploy the Contracts `#deploy-the-contracts`
- Where to Go Next `#where-to-go-next`

---

## Uniswap V3 Core with EVM on Polkadot Hub
https://docs.polkadot.com/smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md

Deploy and test unmodified Uniswap V3 Core contracts on Polkadot Hub using standard Hardhat and TypeScript with the EVM execution path.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Set Up the Project `#set-up-the-project`
- Configure Secure Key Management `#configure-secure-key-management`
- V3-Specific Configuration `#v3-specific-configuration`
- Uniswap V3 Core Architecture `#uniswap-v3-core-architecture`
- Concentrated Liquidity and Fee Tiers `#concentrated-liquidity-and-fee-tiers`
- Tick System and Price Math `#tick-system-and-price-math`
- Core Contracts `#core-contracts`
- Math Libraries `#math-libraries`
- Project Structure `#project-structure`
- Test the Contracts `#test-the-contracts`
- Deploy the Contracts `#deploy-the-contracts`
- Where to Go Next `#where-to-go-next`

---

## Uniswap V3 on Polkadot
https://docs.polkadot.com/smart-contracts/cookbook/eth-dapps/uniswap-v3.md

Deploy and test Uniswap V3 Core contracts on Polkadot Hub with concentrated liquidity, multiple fee tiers, and TWAP oracles using standard Ethereum tooling.

### Sections
- Tutorials `#tutorials`

---

## Uniswap V3 Periphery with EVM on Polkadot Hub
https://docs.polkadot.com/smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md

Deploy and test unmodified Uniswap V3 Periphery contracts, SwapRouter and NonfungiblePositionManager, on Polkadot Hub using standard Hardhat and TypeScript with the EVM execution path.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Set Up the Project `#set-up-the-project`
- Configure Secure Key Management `#configure-secure-key-management`
- V3-Specific Configuration `#v3-specific-configuration`
- Uniswap V3 Periphery Architecture `#uniswap-v3-periphery-architecture`
- Concentrated Liquidity and LP Positions `#concentrated-liquidity-and-lp-positions`
- SwapRouter `#swaprouter`
- NonfungiblePositionManager `#nonfungiblepositionmanager`
- Project Structure `#project-structure`
- Test the Contracts `#test-the-contracts`
- Deploy the Contracts `#deploy-the-contracts`
- Where to Go Next `#where-to-go-next`

---

## Use Foundry with Polkadot Hub
https://docs.polkadot.com/smart-contracts/dev-environments/foundry.md

Learn how to create, compile, test, deploy, and verify smart contracts on Polkadot Hub using Foundry, a fast and portable Ethereum toolkit.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Install Foundry `#install-foundry`
- Initialize a Foundry Project `#initialize-a-foundry-project`
- Compile Contracts `#compile-contracts`
- Configure Foundry for Polkadot Hub `#configure-foundry-for-polkadot-hub`
- Available Networks and RPC Endpoints `#available-networks-and-rpc-endpoints`
- Deploy a Contract `#deploy-a-contract`
- Set Up Environment Variables `#set-up-environment-variables`
- Deploy Using Forge `#deploy-using-forge`
- Deploy Using Scripts `#deploy-using-scripts`
- Verify a Contract `#verify-a-contract`
- Basic Verification `#basic-verification`
- Verification with Constructor Arguments `#verification-with-constructor-arguments`
- Interact with Contracts `#interact-with-contracts`
- Using Cast `#using-cast`
- Using Forge Scripts `#using-forge-scripts`
- Run Tests `#run-tests`
- Additional Resources `#additional-resources`
- Where to Go Next `#where-to-go-next`

---

## Use Hardhat with Polkadot Hub
https://docs.polkadot.com/smart-contracts/dev-environments/hardhat-polkadot.md

Learn how to set up, configure, and use Hardhat Polkadot to create, compile, test, and deploy Solidity smart contracts on Polkadot Hub using the PVM runtime.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Initialize a Hardhat Project `#initialize-a-hardhat-project`
- Compile Your Contract `#compile-your-contract`
- Test Your Contract Locally `#test-your-contract-locally`
- Start a Local Node `#start-a-local-node`
- Run Tests `#run-tests`
- Deploy to Local Node `#deploy-to-local-node`
- Deploy to Polkadot Hub TestNet `#deploy-to-polkadot-hub-testnet`
- Common Issues `#common-issues`
- Where to Go Next `#where-to-go-next`

---

## Use Hardhat with Polkadot Hub
https://docs.polkadot.com/smart-contracts/dev-environments/hardhat.md

Learn how to create, compile, test, and deploy smart contracts on Polkadot Hub using Hardhat, a powerful development environment for blockchain developers.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Initialize a Hardhat Project `#initialize-a-hardhat-project`
- Configure Hardhat for Polkadot Hub `#configure-hardhat-for-polkadot-hub`
- Verify a Contract `#verify-a-contract`
- Install the Verification Plugin `#install-the-verification-plugin`
- Add Verification Config `#add-verification-config`
- Basic Verification `#basic-verification`
- Verification with Constructor Arguments `#verification-with-constructor-arguments`
- Where to Go Next `#where-to-go-next`

---

## Use the Remix IDE on Polkadot Hub
https://docs.polkadot.com/smart-contracts/dev-environments/remix.md

Explore the smart contract development and deployment process on Polkadot Hub using Remix IDE, a visual IDE for blockchain developers.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Access Remix IDE `#access-remix-ide`
- Connect Remix to Polkadot `#connect-remix-to-polkadot`
- Where to Go Next `#where-to-go-next`

---

## viem for Polkadot Hub Smart Contracts
https://docs.polkadot.com/smart-contracts/libraries/viem.md

This guide covers deploying and interacting with contracts on Polkadot Hub using viem, a TypeScript library for Ethereum-compatible chains.

### Sections
- Introduction `#introduction`
- Prerequisites `#prerequisites`
- Project Structure `#project-structure`
- Set Up the Project `#set-up-the-project`
- Install Dependencies `#install-dependencies`
- Initialize Project `#initialize-project`
- Set Up the Chain Configuration `#set-up-the-chain-configuration`
- Set Up the viem Client `#set-up-the-viem-client`
- Set Up a Wallet `#set-up-a-wallet`
- Sample Smart Contract `#sample-smart-contract`
- Compile the Contract `#compile-the-contract`
- Deploy the Contract `#deploy-the-contract`
- Interact with the Contract `#interact-with-the-contract`
- Where to Go Next `#where-to-go-next`

---

## Wagmi for Polkadot Hub Smart Contracts
https://docs.polkadot.com/smart-contracts/libraries/wagmi.md

Learn how to use Wagmi React Hooks to fetch and interact with smart contracts on Polkadot Hub for seamless dApp integration.

### Sections
- Introduction `#introduction`
- Set Up the Project `#set-up-the-project`
- Install Dependencies `#install-dependencies`
- Configure Wagmi for Polkadot Hub `#configure-wagmi-for-polkadot-hub`
- Set Up the Wagmi Provider `#set-up-the-wagmi-provider`
- Connect a Wallet `#connect-a-wallet`
- Fetch Blockchain Data `#fetch-blockchain-data`
- Interact with Deployed Contract `#interact-with-deployed-contract`
- Integrate Components `#integrate-components`
- Where to Go Next `#where-to-go-next`

---

## Wallets
https://docs.polkadot.com/parachains/integrations/wallets.md

Explore blockchain wallets. Securely manage digital assets with hot wallets for online access or cold wallets for offline, enhanced security.

### Sections
- What is a Blockchain Wallet? `#what-is-a-blockchain-wallet`
- Hot Wallets `#hot-wallets`
- Cold Wallets `#cold-wallets`
- Wallet Tools `#wallet-tools`

---

## Wallets for Polkadot Hub
https://docs.polkadot.com/smart-contracts/integrations/wallets.md

Comprehensive guide to connecting and managing wallets for Polkadot Hub, covering step-by-step instructions for interacting with the ecosystem.

### Sections
- Introduction `#introduction`
- Connect Your Wallet `#connect-your-wallet`
- MetaMask `#metamask`
- Talisman `#talisman`
- Conclusion `#conclusion`

---

## Web3.py
https://docs.polkadot.com/smart-contracts/libraries/web3-py.md

Learn how to interact with Polkadot Hub using the Web3 python library, deploying Solidity contracts, and interacting with deployed smart contracts.

### Sections
- Introduction `#introduction`
- Set Up the Project `#set-up-the-project`
- Set Up the Web3 Provider `#set-up-the-web3-provider`
- Compile Contracts `#compile-contracts`
- Sample Storage Smart Contract `#sample-storage-smart-contract`
- Compile the Smart Contract `#compile-the-smart-contract`
- Contract Deployment `#contract-deployment`
- Interact with the Contract `#interact-with-the-contract`
- Where to Go Next `#where-to-go-next`

---

## XCM Tools
https://docs.polkadot.com/reference/tools/xcm-tools.md

Explore essential XCM tools across Polkadot, crafted to enhance cross-chain functionality and integration within the ecosystem.

### Sections
- Introduction `#introduction`
- Popular XCM Tools `#popular-xcm-tools`
- Moonsong Labs XCM Tools `#moonsong-labs-xcm-tools`
- ParaSpell `#paraspell`
- Astar XCM Tools `#astar-xcm-tools`
- Chopsticks `#chopsticks`
- Moonbeam XCM SDK `#moonbeam-xcm-sdk`

---

## Zero to Hero Smart Contract DApp
https://docs.polkadot.com/smart-contracts/cookbook/dapps/zero-to-hero.md

Learn how to build a decentralized application on Polkadot Hub using Viem and Next.js by creating a simple dApp that interacts with a smart contract.

### Sections
- Prerequisites `#prerequisites`
- Project Overview `#project-overview`
- Create and Deploy the Storage Contract `#create-and-deploy-the-storage-contract`
- Set Up Hardhat Project `#set-up-hardhat-project`
- Create the Storage Contract `#create-the-storage-contract`
- Configure Hardhat for Polkadot Hub `#configure-hardhat-for-polkadot-hub`
- Compile the Contract `#compile-the-contract`
- Deploy the Contract `#deploy-the-contract`
- Export the Contract ABI `#export-the-contract-abi`
- Set Up the DApp Project `#set-up-the-dapp-project`
- Install Dependencies `#install-dependencies`
- Connect to Polkadot Hub `#connect-to-polkadot-hub`
- Set Up the Smart Contract Interface `#set-up-the-smart-contract-interface`
- Create the Wallet Connection Component `#create-the-wallet-connection-component`
- Create the Read Contract Component `#create-the-read-contract-component`
- Create the Write Contract Component `#create-the-write-contract-component`
- How It Works `#how-it-works`
- Wallet Connection `#wallet-connection`
- Data Reads `#data-reads`
- Data Writes `#data-writes`
- Conclusion `#conclusion`
- Where to Go Next `#where-to-go-next`

---

## Zombienet
https://docs.polkadot.com/reference/tools/zombienet.md

Zombienet is a testing framework for Polkadot SDK-based blockchain networks, enabling developers to deploy and test ephemeral environments across various platforms.

### Sections
- Introduction `#introduction`
- Install Zombienet `#install-zombienet`
- Providers `#providers`
- Kubernetes `#kubernetes`
- Podman `#podman`
- Native `#native`
- Configure Zombienet `#configure-zombienet`
- Basic Configuration `#basic-configuration`
- CLI Commands `#cli-commands`
- Settings `#settings`
- Relay Chain Configuration `#relay-chain-configuration`
- Parachain Configuration `#parachain-configuration`
- XCM Configuration `#xcm-configuration`
- Spawn a Network `#spawn-a-network`
- Write Tests `#write-tests`
- Test File Structure `#test-file-structure`
- Run Tests `#run-tests`
- Common Assertions `#common-assertions`
- Configuration Reference `#configuration-reference`
- Where to Go Next `#where-to-go-next`
