Skip to content

justkawal/polkadart

Repository files navigation

Polkadart

The Complete Dart SDK for Polkadot & Substrate

Build powerful blockchain applications with type-safe Dart & Flutter

Star on Github GitHub Actions Workflow Status Codecov All contributors License: Apache 2

Get started in minutes โ€ข Perfect for Flutter apps โ€ข Production ready


Polkadart is a comprehensive Dart/Flutter SDK that provides everything you need to build decentralized applications on Polkadot, Substrate, and other compatible blockchain networks. With type-safe APIs, automatic code generation, and Flutter-first design, it's the most developer-friendly way to integrate blockchain functionality into your Dart applications.

This library is funded by Web3 Foundation via their Open Grants Program

โœจ Why Polkadart?

๐Ÿš€ Developer-First Experience
  • Type-Safe Everything: Auto-generated types from chain metadata ensure compile-time safety
  • Flutter Ready: Built from the ground up for mobile and cross-platform development
  • Intuitive APIs: Clean, idiomatic Dart interfaces that feel natural to use
  • Comprehensive Docs: Extensive documentation with real-world examples
โšก Feature Complete
  • Universal Compatibility: Works with any Substrate-based blockchain
  • Smart Contracts: Full support for ink! smart contract interactions
  • Real-time Subscriptions: WebSocket support for live blockchain data
  • Complete Cryptography: All signature schemes (sr25519, ed25519, ecdsa) included
  • Advanced Features: Batch transactions, multi-sig, custom RPCs, and more
๐Ÿ”’ Production Ready
  • Battle-Tested: Powers production wallets and dApps with millions of transactions
  • High Performance: Optimized SCALE codec with minimal overhead
  • Security First: Comprehensive key management and secure signing
  • Active Maintenance: Regular updates and active community support
  • Web3 Foundation Backed: Official grant recipient ensuring long-term sustainability

๐Ÿš€ Quick Start

1. Install Polkadart

dependencies:
  polkadart: ^0.7.0
  polkadart_keyring: ^0.7.0

2. Connect & Query

import 'package:polkadart/polkadart.dart';

// Connect to Polkadot
final provider = Provider.fromUri(Uri.parse('wss://rpc.polkadot.io'));
final api = await ApiPromise.create(provider);

// Query account balance
final account = '15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5';
final balance = await api.query.system.account(account);

print('Free balance: ${balance.data.free}');

3. Send Transactions

import 'package:polkadart_keyring/polkadart_keyring.dart';

// Create a wallet
final keyring = Keyring();
final alice = await keyring.fromMnemonic('//Alice');

// Send a transfer
final tx = api.tx.balances.transfer(
  dest: '14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3',
  value: BigInt.from(10).pow(12), // 1 DOT
);

final hash = await tx.signAndSend(alice);
print('Transaction hash: $hash');

๐Ÿ“ฆ Packages

This repository is a monorepo containing the complete Polkadart ecosystem:

Core Packages

Package Description Version
polkadart Main SDK for Substrate/Polkadot interaction version
polkadart_keyring Key management and account handling version

Developer Tools

Package Description Version
polkadart_cli Generate typed APIs from chain metadata version
ink_cli Generate typed interfaces for smart contracts version

Low-Level Primitives

Package Description Version
polkadart_scale_codec SCALE codec implementation version
substrate_metadata Runtime metadata parsing version
ink_abi ink! ABI encoding/decoding version

Cryptography

Package Description Version
sr25519 Schnorrkel signature scheme version
secp256k1_ecdsa ECDSA operations version
ss58 SS58 address encoding version
substrate_bip39 BIP39 mnemonic generation version

๐Ÿ“š Documentation

Getting Started
Advanced Topics
Package Documentation

๐Ÿค Community & Support

Get Help

Showcase

๐ŸŽฏ Contributing

We welcome contributions from developers of all skill levels! Here's how you can help:

๐Ÿ› Report & Fix

  • Report bugs
  • Fix issues
  • Improve tests
  • Update docs

โœจ Enhance

  • Add features
  • Write examples
  • Create tutorials
  • Translate docs

๐Ÿš€ Share

  • Star the repo
  • Share projects
  • Write articles
  • Join discussions

Every contribution matters! Check our Contributing Guide for details.

๐Ÿ‘ฅ Contributors

A heartfelt thank you to all the amazing contributors who have helped build Polkadart! emoji key

Leonardo Custodio
Leonardo Custodio

๐Ÿ’ป โš ๏ธ ๐Ÿ‘€ ๐Ÿ’ฌ ๐Ÿšง ๐Ÿ’ก ๐Ÿ“– ๐Ÿ›
justkawal
justkawal

๐Ÿ’ป โš ๏ธ ๐Ÿ‘€ ๐Ÿšง ๐Ÿ’ก ๐Ÿ›
Lohann Paterno Coutinho Ferreira
Lohann Paterno Coutinho Ferreira

๐Ÿ’ป โš ๏ธ ๐Ÿ‘€ ๐Ÿ’ก ๐Ÿ›
Gabriel Okura
Gabriel Okura

๐Ÿ’ป โš ๏ธ ๐Ÿ’ก
clangenb
clangenb

๐Ÿ’ป โš ๏ธ ๐Ÿ› ๐Ÿ’ฌ
Bruno Pastre
Bruno Pastre

๐Ÿ‘€
weiwei
weiwei

๐Ÿ’ป ๐Ÿ›
Burnww
Burnww

๐Ÿ’ป ๐Ÿ›
Aviv Eyal
Aviv Eyal

๐Ÿ’ป ๐Ÿ›
jpnovochadlo
jpnovochadlo

๐Ÿ’ผ ๐ŸŽจ ๐Ÿ“–
Talles
Talles

๐Ÿ’ป ๐Ÿ“–
Burak
Burak

๐Ÿ’ป
vjrj
vjrj

๐Ÿ’ป

This project follows the all-contributors specification. Contributions of any kind welcome! โค๏ธ

๐Ÿ“œ License

This project is licensed under the Apache 2.0 License

๐Ÿš€ What's Next?

Ready to build your next blockchain application? Here's where to go:


Build the future of Web3 with Dart & Flutter ๐Ÿš€

About

Polkadart is a comprehensive Dart/Flutter SDK that provides everything you need to build decentralized applications on any Polkadot SDK compatible blockchain.

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages