Introduction

The Year Of Crypto
















That's what I thought in 2017

2017 best year
















Slum Doge Millionaire

Slumdoge Millionaire

Which I later learned after making this slide, he unironically calls himself slumdoge millionaire

Slumdoge Millionaire Unironic
















Now you have me talking to you about crypto

Just excuse the lambo.

Why am I doing this?

I am not going to sell you on anything. I am not going to tell you that crypto is 100% the future. I have no idea what the future will be and crypto is a very interesting topic to say the least. From a personal stand point, I think its just interesting. I think every developer should at least play with it and see how it goes.

  • It very well may disrupt everything that we understand today.
  • It very well may never go anywhere















The goal of this course

The goal of this course is not to be another how to build an ethereum React app. Instead I want this to be a well rounded introduction into writing and interacting with the ethereum blockchain.

  • I want you to walk away and be able to build anything you want.















Who Am I?

  • What I am best known for is my speed using vim.
    • Did I mention I use vim?
  • Twitch: ThePrimeagen
  • YT: ThePrimeagen
  • I work at a startup, we ship dvd's around the country.















The Course Outline.

P1. The Foundation
  • The "Hello, Universe" contract.
    • building a HelloWorld contract.
    • Testing It
    • Deploying it.
    • Communicating from the browser.
P2. Understanding Solidity
  • A slightly more complex contract with reading and writing.
  • On Rinkeby
P3. Complex Contract
  • Core concepts.
    • Arrays
    • Mappings
    • Bits
      • What does this mean?
        • a & b == b
        • (0x1 << 3) - 1
      • We will get you good at bits.
    • Testing, Deploying, Communicating.
P4. Solve the needing to update your contract
  • Things we will a bit complicated here. But it is a must for any developer.

Yes I Will, Nick
















Ready?

We are going to something a bit different than the usual course. We are going to start by simply writing, deploying, and testing a contract.

Why code first?

I firmly believe that the best way to become good at anything is to do said thing. I could spend a significant amount of time going through the following:

  • declaring variables
  • if statements
  • for loops
  • inheritance

Why Ethereum?

  • Its really the best place to start.
    • Language is simple
    • The concepts are not that hard
    • Its extremely popular

Some Basic Assumptions

  • I assume you understand programming
  • I assume you are mildly familiar with typescript and its echo system.

Why not use the ethereum IDE for dev?

I really think that it is best to understand your enviroment before you use things that abstract it away from you.

console.log

Yes, there will be times we will use this as our primary debugging tool. Most of it will be on purpose, definitely never on accident.

But the most important part...
















First Try
















I will be moving fast, and so can you

A lot of the reasons why I move so fast is because I have spent a lot of time making my system as optimal as possible.

Vim Vim

Developer Productivity Devolper productivity
















Pacing

We will start off by assuming you know nothing about smart contract development, but we will speed up significantly towards the end.