[LAUNCH] Learn Substrate with Practical Challenges: rust-polkadot-challenges

Hello, Polkadot community!

It is with great pleasure that I announce the launch of a new resource for everyone who wants to work with the Polkadot ecosystem: rust-polkadot-challenges, an open-source project with dozens of Rust programming challenges focused on learning Rust with a focus on Substrate.

What is the goal of this project?

To simplify the learning and specialization journey in Polkadot. We know the learning curve can be steep. This project is designed to solidify your initial knowledge in Rust, applying it to problems that prepare you for the challenges of Substrate development, making the official Polkadot SDK documentation much more accessible. Ideal for those learning Rust with a focus on the Polkadot SDK.

Who are these challenges for?

The challenges are perfect for two main audiences:

  1. For developers who want to learn Rust with a focus on Substrate:

    • Complete learning path: Most challenges are in pure Rust, focusing on building a solid foundation for the ecosystem. The path has 3 levels (Beginner, Intermediate, and Advanced) that take you from the fundamentals, like ownership and structs, to advanced Substrate topics, such as pallets, off-chain workers, XCM, and governance.
    • Build a solid portfolio: By completing the challenges, you will have code that demonstrates your skills to the market.
  2. For companies and teams that need to evaluate talent:

    • Technical assessment tool: Use the challenges as a practical and relevant test in your hiring processes.
    • Skills benchmark: Objectively assess a candidate’s knowledge of Rust and their ability to solve problems in the context of the Polkadot SDK.
    • Identify the best: Filter for candidates who truly master the concepts needed to build on Substrate.

What will you find?

  • 29 progressive challenges, totaling over 19 hours of practical content.
  • For each challenge, you’ll find instructions in a Markdown (.md) file and a reference implementation in the corresponding Rust (.rs) file
  • Automated tests (cargo test) to validate your solution.
  • Boilerplate code to get you started immediately.

Note: The reference implementations (.rs) were developed by me, with little to no use of AI. More robust or idiomatic solutions may exist, and suggestions are always welcome!

How to get started?

It’s simple:

  1. Access the repository: [ GitHub - giorgeabdala/rust-polkadot-challenges ]
  2. Clone the project: git clone
  3. Choose your level and start solving! The instructions are in the README.md.

This is a community-driven project. Contributions, suggestions, and feedback are extremely welcome! Let’s use this thread to discuss solutions, ask questions, and together, strengthen the Polkadot developer ecosystem.

Giorge Abdala

5 Likes