The Solana Professional Education repo has everything you need for running Solana training events and instructing the courses.
The training covers cryptography fundamentals, blockchain, and Solana from the ground up, with frequent hands-on labs. By the end of the training, students will be able to create and transfer tokens, mint NFTs, and build DeFi programs using Anchor on Rust.
This repo has everything you need to plan and teach the course:
- The Event planning playbook
- The [syllabus] - what is considered base knowledge to be able to build software on Solana.
- The Instructor presentations. We use Keynote as there are animations in some slides, and other presentation tools don't have Keynote's 'magic move' or SVG support. For those on Linux or Windows we can produce web-based versions of the presentation on demand.
- Working solutions to each lesson's labs, following the Solana Foundation style guide.
- The Agenda for local and remote training sessions
You can also contact Mike MacCana for help.
Note
If you want to attend a training event and learn Solana (rather than run a training event yourself), follow @solana_devs on X, and we'll let you know when the next course is running in a city near you or on Zoom!
The training is written and tested with the following software. Students should avoid using older or newer software - the objective of the course is to understand Solana rather than
- node.js 22
- Solana CLI 1.18.x (whichever the latest 1.18 release is)
- Anchor 0.30.1.
Timeframe: Four days full-time in-classroom, or 12 x 2-hour remote lessons.
Audience: anyone proficient in TypeScript who wants to learn blockchain. Prior knowledge of cryptography, blockchain, Rust or Anchor is not required - see aims of the training.
Outcome: Create and transfer tokens, build a solana smart contract from scratch
Content: Solana Professional Education presentation
Prior setup: Laptop with node.js 22 or newer, Windows machines much have WSL2 and Windows terminal installed.
Timeframe: One day
Audience: Prior experience of strictly typed language, and basic understanding of Solana itself
Outcome: Build a solana smart contract from scratch
Content: Solana Professional Education presentation, with lessons 1-4 without labs, then straight into Lab 6, Anchor.
Prior setup: Laptop with node.js 22 or newer, Windows machines much have WSL2 and Windows terminal installed. Solana CLI 1.18 and Anchor 0.30.1.
Timeframe: 40 minutes - one hour
Audience: Technical audience
Outcome: Understand operation of Solana smart contracts
Content: see Build your first DeFi app in 30 minutes keynote presentation
Prior setup: Laptop with node.js 22 or newer, Windows machines much have WSL2 and Windows terminal installed.
Student time is 10 AM to 4 PM.
Instructor time is 9 AM to 5 PM.
Class sizes:
- In person, between 10 and 15 people, you want to spend time with every student, and larger class sizes are difficult for a single instructor to manage.
- Online: no maximum. Personalized attention will be limited for larger events.
Lead time: 1-month minimum, ideally six weeks
You may want to visit the Agenda or Event planning playbook now.
The training requirements are simple: any developer with TypeScript experience. Specifically, no cryptography, blockchain, or Rust experience is required. We chose TypeScript because it's the language of the JS/TS SDKs, and because understanding strictly typed languages is considered necessary to learn Rust.
The course is not a beginner course. Just because the course has low prerequisites does not mean it is only for beginners. As part of the course, students will write Anchor / Rust code from scratch and deploy that code to Solana devnet.
Students have a limited amount of attention, and their learning should be focused on the requirements for the next task. Anything that isn't relevant to their next task should be removed. For example, if the next task is sending tokens, and JSON RPC knowledge isn't required to perform this task (which it isn't), remove the JSON RPC content.
We don't need to discuss Solana's benefits. If a student is attending the course, they likely already know that Solana is fast and cheap and has considerable developer and financial activity. We can show the benefits of Solana live on devnet.
Students must be able to create their own projects after finishing the course. This means:
- Using the students' own computers rather than sandbox applications like Solana Playground.
- Creating projects srarting with a blank file or
anchor init
- Using public, tested open source modules rather than cloning existing repos.
Student drop-off - high even in some of the best-regarded ecosystem training - often happens when the class moves faster than individual students, and those students become so far behind the rest of the group they can't keep up. Smaller steps allow the class to proceed as a group, enable the group to discuss each step in detail, and increase the chances of everyone getting through every exercise.
Many existing Solana courses are slowed down unnecessarily due to issues that have nothing to do with Solana. The Solana Professional Training program is not a course in JavaScript frameworks, mobile development, IIFEs (;(async function(){})();
), or any other topic.
-
Please make sure you've read and understood 'Aims of the Training' above. Specifically, make sure to keep the focus on practice over theory. Students learn more from building than they do from having someone present to them. Don't add unnecessary theory that slows down the time taken to get to the next lab, and adds cognitive overload - if something isn't necessary to understand the next lab, it shouldn't be there.
-
If training remotely, you may prefer Google Classroom over zoom. It has breakout rooms, which allow individual students to and staff to break out into rooms together.
-
Sometimes some students finish before others. In a physical room, give students that complete fast a challenge of helping other students that need it. In a virtual room, you can use Google Classroom. This keeps fast students entertained while helping slower students catch up.
Check out the pick an event to run and start planning to run it.