Skip to content

Commit

Permalink
Merge pull request #10 from mikemaccana/1.2
Browse files Browse the repository at this point in the history
Release 1.2
  • Loading branch information
nickfrosty authored Nov 13, 2024
2 parents 1e40961 + d26ab7c commit e2b4639
Show file tree
Hide file tree
Showing 56 changed files with 5,180 additions and 426 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
.env
addresses.ts
.anchor
target
.DS_Store
12 changes: 9 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
# Changelog

## 1.2 (WIP)
Note: prior versions all have their own branchs on GitHub.

- Make unit tests for Lab 7 escrow using new helper.
- Add more animations
## 1.2 Nov 13 2024

- Move to token extensions for tokens
- Significantly animations for DeFi examples, clean up display of PDAs for Anchor with tokens
- Add newer Anchor debugging strategies and remove ones that have been fixed in 0.30.1.
- Remove the NFT section temporarily - Metaplex tools from 1.1 are deprecated, we will upgrade to using Token Extensions when we move to Agave 2.x (which contains the necessary Token Group extension). See my bootcamp chapter if you want to [make NFTs with Metaplex and Umi](https://youtu.be/amAq-WHAFs8?t=13752)
- Add example of using Phantom Wallet on devnet alongside existing Solflare one, in order to avoid favoring any particular ecosystem technology.
- Better documentation around software versions and product offerings.

## 1.1 May 28 2024

Expand Down
37 changes: 26 additions & 11 deletions EVENT-PLANNING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,34 @@ The venue needs to be quiet (ie not in the middle of a loud event like a Hacker

Confirm seating arrangements:

- Desks and chairs facing the instructor
- Projectors or equivalents
- Desks and chairs facing the instructor. Nobody wants to type while looking sideways sideways.
- Projectors or equivalents:
- Multiple 90-inch monitor/TVs (one closer to back) as projector equivalents.
- You can use an HDMI splitter or have an iPad to show Keynote slides on each additional monitor.
- Actual projectors are generally preferable to monitors as the text size is larger.
- Clicker.
- Clicker.

Ideal but not essential: the presenter has two laptops - one for Keynote, the other for their own use during class. Eg, while the students code from a display, the instructor can look up documentation in answer to specific student requests.

#### Before you create graphics

You're welcome to create your own graphics, but please note:

> Nothing should be credited to “Solana.” Be specific! Solana refers to a blockchain protocol, not any particular organisation. Anything coming from a Solana Foundation-run account is coming from Solana Foundation.
If you are using logos, use your own logo and the [Solana Foundation logo](https://solana.org/branding). Don't use the Solana logo!

#### Luma page up

Create the Luma page by following these steps:

##### Description

Note: if you have ran events previously, use **More** -> **Clone Event** in Luma

From a previous event, update accordingly based on your organization and location!

> ​​[YOUR ORGANIZATION] is inviting developers to a 4-day Solana professional training session.
> ​​[YOUR ORGANIZATION] is inviting developers to a [MODIFY DEPENDING ON OFFERING]
> [MODIFY DEPENDENING ON TRAINING OFFERING]The training covers cryptography fundamentals, blockchain, and Solana from the ground up, with frequent hands-on labs. By the end of the bootcamp, attendees will be able to create and transfer tokens, mint NFTs, and build on-chain applications on Solana, the fastest, cheapest, and most scalable blockchain.
>
Expand All @@ -51,11 +62,11 @@ From a previous event, update accordingly based on your organization and locatio
> Requirements:
>
> - Proficient in TypeScript
> - This is a hands on course, so you'll need a laptop. A Mac or Linux laptop, Windows is fine too but you must have WSL2 and Microsoft Terminal installed.
> - This is a hands on course, so you'll need a laptop. A Mac or Linux laptop is great, Windows is fine too but you must have WSL2 and Microsoft Terminal installed before class starts.
> We're expecting a large demand for this course, so we've added a few questions during registration. Registering does not guarantee acceptance into the training. If you're accepted we'll see you there!
See previous events: [May 28, 2024](https://lu.ma/850szocc), [Mar 24, 2023](https://lu.ma/ah0v9gwb), [Sep 6 2024](https://lu.ma/wea0og3i)
See previous events: [Nov 2 2024](https://lu.ma/zpoafkgh), [Sep 6 2024](https://lu.ma/wea0og3i), [May 28, 2024](https://lu.ma/850szocc), [Mar 24, 2024](https://lu.ma/ah0v9gwb).

#### Options

Expand Down Expand Up @@ -105,11 +116,15 @@ Confirm room layout, eg:
2 developers fit on a standard (30x72) table. You can physically fit three, but it won't be comfortable. Use two.

```plaintext
Instructor + TV
Instructor + TV1
[ table ][ table ] [ table ][ table ]
[ table ][ table ] [ table ][ table ]
TV2 [ table ][ table ] [ table ][ table ] TV3
[ table ][ table ] [ table ][ table ]
[ table ][ table ] [ table ][ table ]
[ table ][ table ] [ table ][ table ]
[ table ] [ table ]
[ table ] [ table ]
[ table ] [ table ]
```

### 2 weeks
Expand Down Expand Up @@ -233,7 +248,7 @@ It's also advantageous to use large mouse cursors when presenting (to stop 'losi

#### VSCode settings

Turn off GitHub Copilot - you don't want Copilot suggesting incorrect things while the instructor types and distracting students.
Turn off GitHub Copilot - you don't want Copilot suggesting incorrect things while the instructor types and distracting students.

#### Common causes of students having trouble with the labs:

Expand Down
57 changes: 48 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,70 @@
# 🧑🏼‍🎓 Solana Professional Education

The Solana Professional Education repo has everything you need for running a training event and instructing the course.
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 [Instructor presentation](./Solana%20Professional%20Education.key). We use Keynote as there are animations in some slides, and other presentation tools don't have Keynote's 'magic move' or SVG support. There is also a [web version of the instructor presentation](https://www.icloud.com/keynote/001TXNMStPSD91jj5cS33eSbw#Solana_Professional_Education).
- The files in [`labs`](./labs) are working solutions to each lesson's labs.
- The [Agenda](./AGENDA.md) for local and remote training sessions
- The [Event planning playbook](./EVENT-PLANNING.md)
- The [syllabus] - what is considered base knowledge to be able to build software on Solana.
- The [Instructor presentations](./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](./labs), following the [Solana Foundation style guide](https://github.com/solana-developers/program-examples/blob/main/CONTRIBUTING.md).
- The [Agenda](./AGENDA.md) for local and remote training sessions

You can also [contact Mike MacCana](mailto:[email protected]) 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](https://x.com/solana_devs), and we'll let you know when the next course is running in a city near you or on Zoom!
## Versions

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.

## Training Offerings

| Timeframe | Audience | Outcome | Content |
| ---------------------------------------------------------------------------- | ------------------------------------------- | ---------------------------------------------------------------------- | ------------ |
| 40 minutes - one hour | Technical audience | Understand operation of Solana smart contracts | Contact Mike |
| One day | Prior experience of strictly typed language | Build a solana smart contract from scratch | Contact Mike |
| **Four days **full-time** in-classroom**, or **12 x 2-hour remote lessons**. | Prior experience of strictly typed language | Create and transfer tokens, build a solana smart contract from scratch | This repo |
### Main course

**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](https://github.com/solana-developers/professional-education/blob/main/README.md#aims-of-the-training).

**Outcome**: Create and transfer tokens, build a solana smart contract from scratch

**Content**: [Solana Professional Education presentation](presentations/Solana%20Professional%20Education.key)

**Prior setup**: Laptop with node.js 22 or newer, Windows machines much have WSL2 and Windows terminal installed.

### One day Smart Contract Intensive

**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](presentations/Solana%20Professional%20Education.key), 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.

### One hour blockchain / smart contract overview

**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](presentations/Build%20your%20first%20DeFi%20app%20in%2030%20minutes.key)

**Prior setup**: Laptop with node.js 22 or newer, Windows machines much have WSL2 and Windows terminal installed.

## Standard details for all offerings

**Student time** is 10 AM to 4 PM.

**Instructor time** is 9 AM to 5 PM.
Expand Down
Binary file added images/IMG_3387.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Luma - NYC Education.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/img_4436.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/photo_2024-11-02_16-58-38.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 0 additions & 40 deletions labs/create-associated-token-accounts.ts

This file was deleted.

37 changes: 0 additions & 37 deletions labs/create-token-account.ts

This file was deleted.

96 changes: 0 additions & 96 deletions labs/create-token-mint-with-metadata.ts

This file was deleted.

Loading

0 comments on commit e2b4639

Please sign in to comment.