Course Guide

Welcome! #

Welcome to the best starting point for developers looking to learn web3 and blockchain!

What is web 3? #

Typically, in older systems, people interact with each other through third-party platforms:

  • User accounts are stored on large platforms like Google, X (formerly known as Twitter), and Meta (Facebook, Instagram). These accounts can be removed at will by the companies, and items 'owned' by these accounts may be lost forever.

  • Accounts that store and transfer value - like payment cards, bank accounts, and stock trading accounts - are handled by large platforms like credit card companies, money transfer organizations, and stock exchanges. In many cases, these companies take a piece (around 1% - 3%) of every transaction that occurs on their platforms. They may often slow transaction settlement down, to benefit the organization. In some cases the item being transferred may not belong to the recipient at all but is rather held on the recipient's behalf.

Web3 is an evolution of the internet that allows people to transact directly with each other:

  • Users own their accounts, represented by their wallet.

  • Transfers of value can occur directly between users.

  • Tokens - representing currencies, digital art, event tickets, real estate, or whatever else - are fully under the custody of the user.

Common uses of web3 include:

  • Selling goods and services online with near-zero fees and instant settlement.

  • Selling digital or physical items, ensuring that each item is genuine and that copies are distinguishable from original items.

  • Instant global payments, without the time and expense of traditional money transfer companies.

What is Solana? #

Solana allows people to transact directly with each other instantly at almost no cost.

Compared to older platforms like Bitcoin and Ethereum, Solana is:

  • Significantly faster - most transactions complete in a second or two.

  • Massively cheaper - transaction fees (referred to as 'gas fees' in older networks) are typically $0.00025 (much less than one penny) regardless of the value of what's being transferred.

  • Highly decentralized, having one of the highest Nakamoto coefficients (decentralization score) of any proof-of-stake network.

Many of the common use cases on Solana are only possible on Solana, due to the high costs and slow translation times of older blockchains.

What do I need before I start? #

You don't need previous blockchain experience, or Rust knowledge, to follow this course! You do need:

  • A Linux, Mac or Windows computer.
    • Windows machines should have Windows Terminal and WSL installed.
    • Have node.js 20 installed. Windows machines should install node.js inside WSL2.
  • Basic TypeScript programming experience.
  • Basic use of the command line
  • Basic use of git (either via the command line or your favorite GUI)

How do I use the course effectively? #

This course is broken down into individual lessons. Each lesson has three sections:

  • Overview - the overview contains explanatory text, examples, and code snippets. You are not expected to code along with any of the examples shown here. The goal is to simply read through and get initial exposure to the lesson topics.

  • Lab - a practical project you absolutely should code along with. This is your second exposure to the content as well as your first opportunity to dive in and do the thing.

  • Challenge - another project, with just a few simple prompts that you should take and implement independently.

The lessons here are very effective, but everyone comes from different backgrounds and aptitudes that can't be taken into account by static content. With that in mind, here are three recommendations for how to get the most out of the course:

  1. Be brutally honest with yourself - this may sound a little vague, but being honest with yourself about how well you understand a certain topic is essential to mastering it. It's really easy to read a thing and think "yeah, yeah I get it," only to realize later that you actually didn't. Be honest with yourself while going through each lesson. Please don't hesitate to repeat sections if you need to or do outside research when the lesson phrasing doesn't quite work for you.

  2. Do every lab and challenge - this supports the first point. It's pretty tough to lie to yourself about how well you know something when you make yourself try to do it. Do every lab and every challenge to test where you're at and repeat them as needed. We provide solution code for every lab, but be sure to use it as a helpful resource rather than a crutch.

  3. Go above and beyond - this sounds cliche, but don't just stop at what the lab and challenges ask you to do. Get creative! Take the projects and make them your own. Build past them. The more you practice the better you get.

Alright, that's it for the pep talk. Get after it!