Skip to content

polkadot-developers/hackathon-guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 

Repository files navigation

🌟 Polkadot Hackathon Survival Guide 🌟

πŸ‘‹ Introduction

Welcome to the Polkadot Hackathon Survival Guide! This resource is your go-to companion for navigating the world of Polkadot development during the hackathon.

Whether you're a blockchain pro or just starting with Polkadot, this guide has all the essential info, tips, and resources to help you shine. ✨

From setting up your development environment to presenting your project, we’ve got you covered. The focus of this guide is smart contract development and bootstrapping Polkadot Hub launch, but it also provides guidance for parachain runtime development.

Good luck, and happy hacking! πŸš€

🌟 Development Pathways

Developers can follow different paths to build applications and core blockchain functionality. Each pathway fits different project types and skill levels, all contributing to the broader Polkadot ecosystem.

The Polkadot ecosystem provides multiple development pathways:

image

πŸš€ Smart Contract Development

Polkadot will enable smart contract deployment via PolkaVM. This allows devs to use familiar Ethereum tools and libraries while leveraging Polkadot’s robust ecosystem. PolkaVM is live on the Polkadot testnet Westend. βœ…

πŸ“š Development Environments

There are multiple development environments already available for Polkadot smart contract development. Here are some of the most popular ones:

  • πŸ–₯️ Polkadot Remix IDE - a web-based IDE that allows you to write, test, and deploy smart contracts directly in your browser

  • βš’οΈ Hardhat - a popular Ethereum development environment that can be used for Polkadot smart contract development with the help of custom plugins

πŸ‘¨β€πŸ’» Contract Interaction Libraries

Several libraries can be used to interact with smart contracts deployed on Polkadot:

πŸ“š Tutorials and Guides

Here you can find some useful tutorials and resources to help you get started with smart contract development on Polkadot:

πŸ”‘ How to Connect to Polkadot Hub

You can use any Ethereum-compatible wallet wallet to connect to Polkadot Hub.

For example, you can use MetaMask and connect it to Polkadot Hub by following the Connect your Wallet guide.

πŸ’§ Polkadot Faucet

Need testnet tokens? Get some from the Polkadot Faucet πŸ’§

Note: Use Westend network & select AssetHub chain!

πŸ† Starter Templates

Jumpstart your smart contract dApp with these templates:

  • create-polkadot-dapp - a scaffolding tool to generate project boilerplates. Explore the react-solidity template located in the templates folder which comes pre-configured with React, Tailwind CSS, and Ethers.js for frontend interaction with your smart contracts

πŸ§™ Alternative Smart Contract Languages

Besides Solidity, you can also use Rust to write smart contracts for Polkadot. The ink! library is a popular choice for Rust-based smart contract development.

  • πŸ”— ink! Docs (compatible with Westend/Kusama Asset Hub from v6 )

🌍 Parachain Development

The Polkadot SDK is a powerful and versatile developer kit designed to facilitate building custom blockchains, parachains, generalized rollups, and more.

πŸ’Ύ Installation

Follow the Install Polkadot SDK Dependencies guide.

πŸ“š Getting Started

The Parachain Zero To Hero Tutorials provide developers with a series of step-by-step guides to building, testing, and deploying custom pallets and runtimes using the Polkadot SDK. These tutorials are designed to help you gain hands-on experience and understand the core concepts of parachain development.

🌟 Parachain Templates

Using pre-built templates is an efficient way to begin building a custom blockchain. Templates provide a foundational setup with pre-configured modules, letting developers avoid starting from scratch and instead focus on customization.

Within the Polkadot SDK, the following templates are available to get you started:

  • minimal-template - includes only the essential components necessary for a functioning blockchain. It’s ideal for developers who want to gain familiarity with blockchain basics and test simple customizations before scaling up

  • solochain-template - provides a foundation for creating standalone blockchains with moderate features, including a simple consensus mechanism and several core FRAME pallets. It’s a solid starting point for developers who want a fully functional chain that doesn’t depend on a relay chain

  • parachain-template - designed for connecting to relay chains like Polkadot, Kusama, or Paseo, this template enables a chain to operate as a parachain. For projects aiming to integrate with Polkadot’s ecosystem, this template offers a great starting point

In addition, several external templates offer unique features and can align with specific use cases or developer familiarity:

  • OpenZeppelin - offers two flexible starting points:

    • The generic-runtime-template provides a minimal setup with essential pallets and secure defaults, creating a reliable foundation for custom blockchain development
    • The evm-runtime-template enables EVM compatibility, allowing developers to migrate Solidity contracts and EVM-based dApps. This template is ideal for Ethereum developers looking to leverage Substrate's capabilities
  • Tanssi - provides developers with pre-built templates that can help accelerate the process of creating appchain

  • Pop Network - designed with user-friendliness in mind, Pop Network offers an approachable starting point for new developers, with a simple CLI interface for creating appchains

Choosing a suitable template depends on your project’s unique requirements, level of customization, and integration needs. Starting from a template speeds up development and lets you focus on implementing your chain’s unique features rather than the foundational blockchain setup.

βš™οΈ How to Build a Custom Parachain

Learn how Polkadot SDK’s FRAME framework simplifies blockchain development with modular pallets and support libraries for efficient runtime design.

🧰 Polkadot Toolkit

πŸ’‘ API Libraries

To interact with Polkadot SDK based blockchains, you can use the following API libraries:

  • Polkadot API - a set of libraries built to be modular, composable, and grounded in a β€œlight-client first” approach. Its primary aim is to equip dApp developers with an extensive toolkit for building fully decentralized application
  • Polkadot.js - a JavaScript library for interacting with Polkadot SDK-based chains. It provides a set of tools for building dApps and interacting with the Polkadot network
  • Python Substrate Interface - a Python library for interacting with Polkadot SDK-based chains
  • Subxt - a Rust library designed to interact with Polkadot SDK-based blockchains. It provides a type-safe interface for submitting transactions, querying on-chain state, and performing other blockchain interactions
  • Sidecar REST API - a service that provides a REST interface for interacting with Polkadot SDK-based blockchains

πŸ”Œ Integrations

Polkadot’s ecosystem offers a variety of integrations designed to enhance dApp functionality, improve data management, and bridge the gap between on-chain and off-chain systems.

πŸ› οΈ Testing

The Polkadot SDK provides several tools and libraries to facilitate testing at various levels:

  • πŸ§Ÿβ€β™‚οΈ Zombienet - a robust testing framework designed for Polkadot SDK-based blockchain networks. It enables developers to efficiently deploy and test ephemeral blockchain environments. Check the Spawn a Basic Chain with Zombienet tutorial
  • πŸ₯’ Chopsticks - a versatile tool tailored for developers working on Polkadot SDK-based blockchains. With Chopsticks, you can fork live chains locally, replay blocks to analyze extrinsics, and simulate complex scenarios like XCM interactions all without deploying to a live network. Check the Fork a Chain with Chopsticks tutorial

πŸŽ“ More Resources

Here are some additional resources that can help you during the hackathon:

About

Survival guide for Polkadot Hackathon participants

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published