Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 2 additions & 35 deletions .github/workflows/check-pr-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
branches:
- master
paths:
- '**/*.md'
- "**/*.md"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -16,40 +16,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Clone repository
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{github.event.pull_request.head.ref}}
repository: ${{github.event.pull_request.head.repo.full_name}}

- name: Check out base branch
run: git checkout ${{github.event.pull_request.base.ref}}

- name: Dump all links from ${{github.event.pull_request.base.ref}}
uses: lycheeverse/lychee-action@v2
with:
args: |
--dump
--include-fragments
.
output: ./existing-links.txt
continue-on-error: true # Don't fail if base branch check has issues

- name: Stash untracked files
run: git stash push --include-untracked

- name: Check out feature branch
run: git checkout ${{ github.head_ref }}

- name: Apply stashed changes
run: git stash pop || true

- name: Update ignore file
run: |
if [ -f "existing-links.txt" ]; then
cat existing-links.txt >> .lycheeignore
fi
- uses: actions/checkout@v4

- name: Check links
uses: lycheeverse/lychee-action@v2
Expand Down
2 changes: 1 addition & 1 deletion .lycheeignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
https://www.npmjs.com/package/create-polkadot-dapp
https://www.npmjs.com/package/create-polkadot-dapp?activeTab=readme
https://www.npmjs.com/package/create-dot-app
https://polkadot.js.org/extension/
23 changes: 11 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,39 @@
# 🌟 Polkadot Hackathon Survival Guide 🌟

Welcome to the **Polkadot Hackathon Survival Guide** curated by Web3 Foundation, Parity Technologies and the Polkadot Ecosystem DevRel teams! Whether you're a **blockchain pro** or just starting with **Polkadot**, this guide has all the essential info, tips, and resources to help you in your journey building on Polkadot. ✨
Welcome to the **Polkadot Hackathon Survival Guide** curated by Web3 Foundation, Parity Technologies and the Polkadot Ecosystem DevRel teams! Whether you're a **blockchain pro** or just starting with **Polkadot**, this guide has all the essential info, tips, and resources to help you in your journey building on Polkadot. ✨

From setting up your **development environment** to **presenting your project**, we’ve got you covered. The Polkadot ecosystem provides **multiple** development pathways:

<img width="1109" alt="image" src="https://github.com/user-attachments/assets/5c5bf50a-1906-4f04-9478-0d3bcc70649b" />

- 👉 [Build a smart contract](./polkadot-hub-devs.md) instructions

- 👉 For builders looking to deploy smart contract based applications to Polkadot, head straight to the [resource page for Polkadot Hub developers](./polkadot-hub-devs.md)
- 👉 [Build a parachain](./polkadot-parachain-devs.md) guide

- 👉 [Explore what's possible](./polkadot-tinkerers.md), experiment and build something fun

- 👉 For builders looking to create custom blockchains with the Polkadot SDK, check out the dedicated [resource for parachain developers](./polkadot-parachain-devs.md).

- 👉 For tinkerers looking to explore what is possible, experiment and build something fun, have a look at the [resources page for Polkadot tinkerers](./polkadot-tinkerers.md).

## 🤝 Get Support

Need help during the hackathon? The Polkadot community offers multiple support channels to assist you:

- **Technical questions** and development guidance
- **Community forums** for discussions and networking
- **Developer chat channels** for real-time help
- **Documentation** and troubleshooting resources
- **Technical questions** and development guidance: official [Telegram](https://t.me/substratedevs) and [Discord](https://polkadot-discord.w3f.tools/) channels
- **Community forums** for discussions and networking: [Polkadot Forum](https://forum.polkadot.network/) and [StackExchange](https://polkadot.stackexchange.com/)
- **Documentation** and troubleshooting resources: [Polkadot Docs](https://docs.polkadot.com/)

For comprehensive information about all available support channels in Polkadot, refer to the [Get Support page](https://docs.polkadot.com/get-support/).

## 🎓 More Resources

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

- [**Polkadot Open Source Stack**](https://wiki.polkadot.network/general/build-open-source/) 🌟 - a list of open-source tools, libraries, and frameworks that were funded by [Web3 Foundation grants program](https://grants.web3.foundation/) and the Polkadot treasury
- [**Polkadot Open Source Stack**](https://wiki.polkadot.network/general/build-open-source/) 🌟 - a list of open-source tools, libraries, and frameworks that were funded by [Web3 Foundation grants program](https://grants.web3.foundation/) and the Polkadot treasury
- [**Awesome DOT Repository**](https://github.com/haquefardeen/awesome-dot) 📚 - a list of resources and projects of the Polkadot and Kusama ecosystem
- [**Free Infrastructure Tooling**](https://blog.onfinality.io/onfinality-joins-the-polkadot-cloud-builder-party/) - OnFinality is providing free access to their Polkadot Indexing, Network Prototyping, RPC Endpoints, and AI Agents to all participants.
- [**Free Infrastructure Tooling**](https://blog.onfinality.io/onfinality-joins-the-polkadot-cloud-builder-party/) - OnFinality is providing free access to Polkadot Indexing, Network Prototyping, RPC Endpoints, and AI Agents infra

## 💰 Post-hackathon support

Looking to get funding post-hackathon? Here's a list of different grant opportunities in the Polkadot:

- [W3F Grants](https://grants.web3.foundation/docs/Process/how-to-apply): up to >$100k in funding
- [Opensource grants](https://github.com/PolkadotOpenSourceGrants): up to $30k in funding
- [Fast grants](https://github.com/Polkadot-Fast-Grants/apply): up to $10k in funding
Expand Down
13 changes: 7 additions & 6 deletions polkadot-hub-devs.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
## 🚀 Smart Contract Development on Polkadot

Polkadot enables **smart contract deployment** via **PolkaVM**. This allows using familiar **Ethereum tools** and **libraries** while leveraging Polkadot’s robust ecosystem. **PolkaVM** is live on Passet Hub, the Polkadot community testnet. ✅
Polkadot enables **smart contract deployment** via **PolkaVM**. This allows using familiar **Ethereum tools** and **libraries** while leveraging Polkadot’s robust ecosystem. **PolkaVM** is live on the Polkadot TestNet. ✅

Please provide **feedback** on your experience deploying smart contracts on Polkadot using this [feedback form](https://forms.gle/BhL5ZCaFMUvSipos8).
Please provide **feedback** on your experience deploying smart contracts on Polkadot using this [feedback form](https://forms.gle/BhL5ZCaFMUvSipos8).

*Refer to the [**known issues**](https://docs.google.com/document/d/1j5hnQZRqlbVagW28dC24OVAF8uRih5jWubBxy5PlMYc/edit?usp=sharing) document if you're running into issues deploying contracts or using any of the tools below. If you have a new bug or problem, please raise an issue in the [Contracts Bug tracker](https://github.com/paritytech/contract-issues) on Github.*

Expand All @@ -23,11 +23,12 @@ There are multiple development environments already available for Polkadot smart
- 🖥️ [**Polkadot Remix IDE**](https://docs.polkadot.com/develop/smart-contracts/dev-environments/remix/) - a web-based IDE that allows you to write, test, and deploy smart contracts directly in your browser. It's integrated with compatible chains: you can deploy right from the browser

- ⚒️ [**Hardhat**](https://docs.polkadot.com/develop/smart-contracts/dev-environments/hardhat/) - a popular Ethereum development environment that can be used for Polkadot smart contract development with the help of custom plugins
- 🤠 [**Foundry**](https://docs.polkadot.com/develop/smart-contracts/dev-environments/foundry/) - a smart contract development toolchain that manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with thec ontracts.

- 🤠 [**Foundry**](https://docs.polkadot.com/develop/smart-contracts/dev-environments/foundry/) - a smart contract development toolchain that manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with the contracts.

### 🦀 Rust Contracts

Besides **Solidity**, you can also write smart contracts in Rust using **ink!** &mdash; the go-to language for Rust-based smart contract development on Polkadot. Check out the [**ink! Docs**](https://use.ink/6.x) (compatible with PolkaVM from v6 ) to get started.
Besides **Solidity**, you can also write smart contracts in Rust using **ink!** &mdash; the go-to language for Rust-based smart contract development on Polkadot. Check out the [**ink! Docs**](https://use.ink/6.x) to get started.

### 👨‍💻 Contract Interaction Libraries

Expand Down Expand Up @@ -97,7 +98,7 @@ Need **testnet tokens**? Get some from the [**Testnet Faucet**](https://faucet.p

Jumpstart your **smart contract dApp** with these templates:

- [**create-polkadot-dapp**](https://www.npmjs.com/package/create-polkadot-dapp?activeTab=readme) - 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
- [**create-polkadot-dapp**](https://www.npmjs.com/package/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

- [**create-dot-app**](https://www.npmjs.com/package/create-dot-app) - a comprehensive scaffolding tool with Solidity templates for both **React** and **Vue**, making it easy to get started with smart contract development on Polkadot

Expand All @@ -108,4 +109,4 @@ Jumpstart your **smart contract dApp** with these templates:

- If using AI tools like LLMs, remember to direct them to use the most [up-to-date documentation](https://docs.polkadot.com/).

- Especially if you are using Claude, [this document](https://www.kusamahub.com/downloads/LLMCONTRACTS.md) contains configuration settings for using the testnet to deploy smart contracts, and we recommend informing your LLM to refer to it.
- Especially if you are using Claude, [this document](https://www.kusamahub.com/downloads/LLMCONTRACTS.md) contains configuration settings for using the testnet to deploy smart contracts, and we recommend informing your LLM to refer to it.
4 changes: 2 additions & 2 deletions tinkerer-materials/quickstarters.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ They typically feature wallet integration, real-time chain data display, and tra
|---|---|---|---|---|---|---|
| **Polkadot-API (PAPI)** | TypeScript library for making dApps or CLI tools | Building web apps with wallet integration and need full type safety | https://papi.how/ | `npx create-dot-app` (choose PAPI) or [Polkadot API TS Boilerplate](https://github.com/polkadot-developers/polkadot-api-ts-boilerplate) | [EduNews (Vue + PAPI)](https://github.com/CrackTheCode016/edunews), [Sample CLI ("You Got Mail!")](https://github.com/polkadot-developers/polkadot-api-example-cli) | [PAPI Account Watcher](https://docs.polkadot.com/tutorials/dapps/remark-tutorial/) |
| **DeDot** | Lightweight TypeScript library for Polkadot chains | Need minimal bundle size and only basic chain interactions | [DeDot Developer Docs](https://docs.dedot.dev/)| `npx create-dot-app` (choose DeDot) | [Working Examples using DeDot](https://docs.dedot.dev/help-and-faq/built-with-dedot) | [Develop ink! dApp using Typink](https://docs.dedot.dev/help-and-faq/tutorials/develop-ink-dapp-using-typink) |
| **Polkadot UI (beta)** | React component library for Polkadot dApps | Building polished UIs with pre-built wallet integration and chain components | https://polkadot-ui.com/docs | `npx polkadot-ui@latest list` | | [Getting Started Guide](https://polkadot-ui.com/docs/getting-started) |
| **Polkadot UI (beta)** | React component library for Polkadot dApps | Building polished UIs with pre-built wallet integration and chain components | https://polkadot-ui.com/docs | `npx polkadot-ui@latest list` | | [Getting Started Guide](https://polkadot-ui.com/docs/getting-started) |
| **ParaSpell (XCM SDK)** | Cross-chain transfer library | Building cross-chain features without complex XCM setup | https://paraspell.github.io/docs/ | *(use within PAPI app / boilerplate)* | | |
| **create-dot-app** | Project scaffolding tool | Quick project setup with modern frameworks and best practices | https://github.com/preschian/create-dot-app | `npx create-dot-app` (choose PAPI/DeDot) | [Question Board](https://0xdevcult.github.io/workshop-fun/) | *(n/a)* |

Expand All @@ -41,7 +41,7 @@ They typically feature wallet integration, real-time chain data display, and tra
| SDK | What it's for | When should I use this? | Docs (URL) | Starter / Template (URL) | Working Example(s) | Tutorial(s) |
|---|---|---|---|---|---|---|
| **Sidecar** | REST API for blockchain data | Need HTTP API access or integrating with non-blockchain systems | https://github.com/paritytech/substrate-api-sidecar | `docker compose` from repo | Use any starter, like Next.js, and make REST calls | [Sidecar Block Explorer Example ](https://github.com/w3f/sidecar-example) |
| **DotLake (Community)** | Data analytics platform | Building dashboards and need historical data analysis | https://github.com/paritytech/dotlake-community |`docker compose` from repo| https://data.parity.io/home | *(n/a)* |
| **DotLake (Community)** | Data analytics platform | Building dashboards and need historical data analysis | https://github.com/paritytech/dotlake-community |`docker compose` from repo| https://data.parity.io | *(n/a)* |
| **SubQuery** | Blockchain indexer with GraphQL | Building activity feeds, notifications, or complex data queries | https://academy.subquery.network | use the [SubQuery starter project](https://github.com/polkadot-developers/subquery-starter-example), or use the `npx @subql/cli init test --networkFamily Polkadot` command to bootstrap a project | [Running the Polkadot Multi chain Starter Project using SubQuery](https://www.youtube.com/watch?v=as2aUJLMlos)| [Polkadot SubQuery Quickstart](https://subquery.network/doc/indexer/quickstart/quickstart_chains/polkadot.html) |

### Infrastructure / Local chain deployments
Expand Down
4 changes: 2 additions & 2 deletions tinkerer-materials/solution-matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The following table showcases how different pallets, which may be deployed on di
| **Supply chain / provenance** | `pallet-nft`, `pallet-assets` | | **Asset Hub**, **People Chain** | |
| **Cross‑chain asset routing** | XCM v5 (`pallet-xcm`), `xcm-executor`, `pallet-xtokens` (ORML) | Paraspell SDK, Paraspell API, Paraspell XCM playground, Polkadot.js, PAPI | **Bridge Hub**, **Asset Hub**, **Moonbeam** (XC‑20)| Use buy‑execution/fee payment assets carefully; prefer assets registered on Asset Hub for widespread acceptance. |
| **Ethereum ↔ Polkadot bridging** | `snowbridge-pallet-system`, `snowbridge-pallet-ethereum-client`, `snowbridge-pallet-outbound-queue`, `snowbridge-pallet-inbound-queue` | [Turtle.cool](https://turtle.cool/) | [Snowbridge](https://docs.snowbridge.network/) (ETH↔Polkadot), **Bridge Hub** | |
| **Universal interoperability / Multi-chain bridging** | `pallet-ismp` (Interoperable State Machine Protocol) | [Hyperbridge SDK](https://docs.hyperbridge.network/developers/integration), cross-chain messaging APIs | [**Hyperbridge**](https://docs.hyperbridge.network/) (universal interoperability hub), **Bridge Hub** | Hyperbridge enables trustless communication between any blockchain networks, not limited to Ethereum-Polkadot |
| **Universal interoperability / Multi-chain bridging** | `pallet-ismp` (Interoperable State Machine Protocol) | cross-chain messaging APIs | [**Hyperbridge**](https://docs.hyperbridge.network/) (universal interoperability hub), **Bridge Hub** | Hyperbridge enables trustless communication between any blockchain networks, not limited to Ethereum-Polkadot |
| **Identity & KYC / credentials** | `pallet-identity`, `pallet-membership`, `pallet-registrar` | https://w3n.id/, off‑chain verifiers | **People chain** (DIDs & verifiable credentials), **KILT** | Keep PII off‑chain; store hashes/attestations on‑chain, present credentials off‑chain when possible. |
| **DAO / Governance (OpenGov)** | `pallet-collective`, `pallet-treasury`, `pallet-conviction-voting`, `pallet-proxy` | Polkassembly, Subsquare, Referenda dashboards | **Collectives**, OpenGov | |
| **Smart contracts (Rust)** | `pallet-revive` (ink!), weights/benchmarking | ink! toolchain, POP CLI, create-polkadot-app | **Astar** (Wasm), **Phala** (off‑chain compute for contracts), **Aleph Zero** | |
Expand Down Expand Up @@ -45,4 +45,4 @@ The following table showcases how different pallets, which may be deployed on di
- **Core Pallets**: `pallet-nft` (unique tickets with metadata, or VIP tier tickets NFTs),`pallet-collective` (event organizer DAOs)
- **Implementation**: Each ticket as NFT with embedded QR codes and event metadata. VIP tiers represented as special NFTs with different attributes/metadata granting special privileges. Event organizers use collective pallets for multi-signature event management and revenue sharing.
- **Tools**: QR code generation libraries, mobile wallet integration, IPFS for event media
- **Chains**: **Asset Hub** (ticket NFTs), **Unique Network** (advanced NFT features like nested NFTs for combo tickets)
- **Chains**: **Asset Hub** (ticket NFTs), **Unique Network** (advanced NFT features like nested NFTs for combo tickets)