Navigate:
Polkadot SDK
~$POSD0.4%

Polkadot SDK: Multi-chain blockchain development framework

Complete development kit for building blockchains and parachains on the Polkadot network ecosystem.

LIVE RANKINGS • 03:09 AM • STEADY
OVERALL
#249
198
CRYPTO
#8
32
30 DAY RANKING TREND
ovr#249
·Crypt#8
STARS
2.7K
FORKS
1.1K
7D STARS
+10
7D FORKS
+7
Tags:
See Repo:
Share:

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.

Polkadot SDK

1

Multi-chain Architecture

Built specifically for Polkadot's parachain ecosystem, enabling blockchains to interoperate and share information securely.

2

Modular Framework

Combines Substrate, FRAME, Cumulus, and XCM components in a single SDK for comprehensive blockchain development.

3

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(())
        }
    }
}


vpolkadot-stable2512-1

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
vpolkadot-stable2509-4

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`
vpolkadot-stable2506-7

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

Loading tweets...


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers