Inspiration
ink!lings was inspired by the ink! workshops we hosted in Kisumu and Nairobi, Kenya, for the Polkadot developer community. There is a need for a tool that allows developers to practice what they learn programmatically and encourages them to write ink! code that breaks and learn from their mistakes.
What it does
ink!lings provides an interactive platform for developers to learn ink! smart contracts through practical coding exercises. The platform offers:
- CLI Tool: Developers can work through exercises directly from their terminal, integrating learning into their normal development workflow
- Web Application: A browser-based interface for completing exercises
- Progressive Learning: Exercises with
todo()placeholders guide learners step-by-step through concepts - Progress Tracking: In both the CLI tool and the web application, learners can see how many exercises they have completed and measure how much progress they have made.
- Immediate Feedback: Compile-time validation shows learners if their solutions work correctly
- Reference Solutions: Complete solutions available for each exercise to help learners understand best practices
How we built it
We curated a comprehensive curriculum of ink! exercises, each with strategic todo() markers where learners implement specific concepts. The exercises cover fundamental topics like contract structure, storage, messages, events, and error handling, progressing from basic to intermediate complexity.
For the CLI tool, we built a Rust-based command-line interface that allows developers to:
- Browse available exercises
- Run compilation checks on their solutions
- Verify their code against expected outcomes
- Access solution files when needed
For the web application, we developed a Next.js-based platform that provides:
- An intuitive code editor interface
- In-browser compilation feedback
- Exercise navigation and progress tracking
- No local setup required thus lowering the barrier to entry for new learners
All exercises include complete solutions that demonstrate best practices and idiomatic ink! code patterns.
Accomplishments that we're proud of
- Launched an MVP with a complete first batch of exercises covering fundamental ink! concepts with both a CLI tool and a web application
What's next for ink!lings
- Add new exercises covering advanced topics including cross-contract calls, upgradeable contracts, gas optimization and contract deployment.
Built With
- clap
- ink!
- javascript
- rust
- serde
- subxt
- tokio
- typescript




Log in or sign up for Devpost to join the conversation.