diff --git a/.github/workflows/check-pr-links.yml b/.github/workflows/check-pr-links.yml index e8e2faf..786321c 100644 --- a/.github/workflows/check-pr-links.yml +++ b/.github/workflows/check-pr-links.yml @@ -5,7 +5,7 @@ on: branches: - master paths: - - '**/*.md' + - "**/*.md" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -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 diff --git a/.lycheeignore b/.lycheeignore index 3211c93..5c06c79 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -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/ diff --git a/README.md b/README.md index 903d550..d96b637 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,24 @@ # 🌟 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: image +- 👉 [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/). @@ -28,13 +26,14 @@ For comprehensive information about all available support channels in Polkadot, 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 diff --git a/polkadot-hub-devs.md b/polkadot-hub-devs.md index 75a8dbf..bf31d79 100644 --- a/polkadot-hub-devs.md +++ b/polkadot-hub-devs.md @@ -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.* @@ -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!** — 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!** — 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 @@ -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 @@ -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. diff --git a/tinkerer-materials/quickstarters.md b/tinkerer-materials/quickstarters.md index a360f50..0085992 100644 --- a/tinkerer-materials/quickstarters.md +++ b/tinkerer-materials/quickstarters.md @@ -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)* | @@ -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 diff --git a/tinkerer-materials/solution-matrix.md b/tinkerer-materials/solution-matrix.md index be8e58d..fe2425e 100644 --- a/tinkerer-materials/solution-matrix.md +++ b/tinkerer-materials/solution-matrix.md @@ -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** | | @@ -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) \ No newline at end of file +- **Chains**: **Asset Hub** (ticket NFTs), **Unique Network** (advanced NFT features like nested NFTs for combo tickets)