Introduction
The Year Of Crypto
That's what I thought in 2017
Slum Doge Millionaire
Which I later learned after making this slide, he unironically calls himself slumdoge millionaire
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.
- building a
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.
- What does this mean?
- 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.
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.
Developer Productivity
Pacing
We will start off by assuming you know nothing about smart contract development, but we will speed up significantly towards the end.