Polkadot SDK: Multi-chain blockchain development framework
Complete development kit for building blockchains and parachains on the Polkadot network ecosystem.
Learn more about Polkadot SDK
Polkadot SDK is a comprehensive blockchain development framework that provides the components needed to build on the Polkadot multi-chain network. The SDK combines Substrate (blockchain framework), FRAME (runtime development), Cumulus (parachain functionality), and XCM (cross-chain messaging) into a unified toolkit. It supports both WASM and PolkaVM build targets with specialized runtime compilation. The framework is used for creating custom blockchains, parachains that connect to Polkadot, and applications that leverage cross-chain interoperability.
Multi-chain Architecture
Built specifically for Polkadot's parachain ecosystem, enabling blockchains to interoperate and share information securely.
Modular Framework
Combines Substrate, FRAME, Cumulus, and XCM components in a single SDK for comprehensive blockchain development.
Multiple Runtime Targets
Supports both WASM and PolkaVM compilation targets with specialized build configurations for different deployment scenarios.
use frame_support::{
dispatch::DispatchResult,
pallet_prelude::*,
traits::Get,
};
use frame_system::pallet_prelude::*;
use sp_std::vec::Vec;
#[frame_support::pallet]
pub mod pallet {
use super::*;
#[pallet::pallet]
#[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
#[pallet::config]
pub trait Config: frame_system::Config {
type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
type MaxLength: Get<u32>;
}
#[pallet::storage]
#[pallet::getter(fn something)]
pub type Something<T> = StorageValue<_, u32>;
#[pallet::event]
#[pallet::generate_deposit(pub(super) fn deposit_event)]
pub enum Event<T: Config> {
SomethingStored { something: u32, who: T::AccountId },
}
#[pallet::error]
pub enum Error<T> {
NoneValue,
StorageOverflow,
}
#[pallet::call]
impl<T: Config> Pallet<T> {
#[pallet::call_index(0)]
#[pallet::weight(10_000)]
pub fn do_something(origin: OriginFor<T>, something: u32) -> DispatchResult {
let who = ensure_signed(origin)?;
<Something<T>>::put(something);
Self::deposit_event(Event::SomethingStored { something, who });
Ok(())
}
}
}Polkadot stable2512-1
- –pallet-revive-proc-macro@0.7.1
- –sc-network-types@0.20.1
- –pallet-revive-uapi@0.10.1
- –pallet-revive-fixtures@0.9.1
- –sp-staking@42.1.0
Polkadot stable2509-4
- –sp-metadata-ir@0.12.2
- –frame-support@43.0.1
- –substrate-wasm-builder@29.0.1
- –pallet-example-view-functions@0.5.1
- –Rust Stable: `1.88.0`
Polkadot stable2506-7
- –sp-metadata-ir@0.11.1
- –frame-support@41.0.1
- –substrate-wasm-builder@27.0.1
- –pallet-example-view-functions@0.3.1
- –sc-tracing@40.0.2
See how people are using Polkadot SDK
Related Repositories
Discover similar tools and frameworks used by developers
Foundry
A modular toolkit for Ethereum application development that includes compilation, testing, and deployment tools.
Hardhat
Development environment for compiling, deploying, testing, and debugging Ethereum smart contracts and dApps.
NEAR Core
Reference implementation of NEAR Protocol blockchain, providing infrastructure for smart contracts and applications.
Uniswap V3 Core
Core smart contracts for the Uniswap V3 decentralized exchange protocol on Ethereum.
go-libp2p
A modular peer-to-peer networking stack for Go applications, providing transport protocols and network services.