Getting Started with Web3 Development
- Description
- Curriculum
- FAQ
- Reviews
February 2018 Update
We released the first version of this course in September 2017. Back then, the latest version of Truffle was version 3, and the best Ethereum node emulator was testrpc, on the command line.
Then, in November 2017, the Truffle team released both Truffle 4 and a new user interface for testrpc called Ganache. Those tools had a big impact on the development lifecycle, so we took this opportunity to completely rewrite and re-shoot the practical part of this course.
We also took this opportunity to integrate most of the comments and feedbacks we got in the Q&A section of this course. So all the details you needed to troubleshoot issues are now part of the content.
This results in a consequent update with quite a few improvements:
- Full Truffle 4 coverage, including Truffle debug and Truffle develop
- Full Ganache coverage
- MetaMask workarounds, tips and tricks
- All the content has been tested on MacOS, Linux and Windows (PowerShell)
- Code is not copy-pasted anymore, we type everything live to make it easier to follow along
Note that the old content will remain online for a few weeks, and then we will unpublish them so that students don’t need to watch all the old content to complete the course and get the Udemy certificate.
If you notice any issue, bug, outdated content, missing link or resource, please let us know in the Q&A section of this course.
Welcome to “Become a Blockchain Developer with Ethereum and Solidity”!
This course is a complete introduction to decentralized application (Dapp) development on the Ethereum blockchain using the Solidity language and the Truffle build framework.
No need to know anything about the blockchain, you should just have some basic software development experience. Whether you have already written some code for backend, web or mobile applications, it should be enough to become a blockchain developer thanks to this course.
The blockchain is all the rage these days, and there is a lot of theoretical or anticipative talk around it, but this course will help you get your hands dirty with actual code in order to build your first decentralized application. This is the kind of skill that can get you an actual job as a blockchain developer, something that is in skyrocketing demand right now.
Have you ever looked back on the nineties, thinking you would have loved to be a part of the web revolution. Well, stop dreaming: the blockchain is here and it promises to be even bigger than the web or even the mobile revolution.
What we cover
- We briefly cover the philosophy of the blockchain, both as a crypto-currency system and as a development platform
- Then we will explain how blockchains work, what are their main components and how its ecosystem is structured
- After that we quickly go over the main cryptographic tools you need to understand
- We continue with a description of the perfect development environment, including tools that are used by most professional blockchain developers
- And the biggest part of the course is dedicated to guiding you through the iterative creation, development, testing and deployment of the ChainList decentralized application
The tools we use
- Ethereum of course
- The Metamask Chrome extension
- The Solidity smart contract language
- The Truffle build and test framework (Truffle 4)
- The Ganache Ethereum node emulator
- Github Pages
- Atom (text editor)
- The Rinkeby test network
We deliberately don’t reinvent the wheel or develop our own build tools because it didn’t seem very pragmatic to do that. That’s why we demonstrate the use of development tools like Truffle and Ganache that offer a lot of very powerful features, even though they evolve very often.
Most of the videos were shot on a Mac, but we give detailed instructions on how to set up your environment on Linux and Windows, and all the other lessons have been tested and adapted with a few OS-specific instructions.
-
16Course Update for Truffle 5
-
17MacOS environment setup
-
18Installing Ganache on Windows 8
-
19Windows environment setup
-
20Linux environment setup
-
21Setting up a private node on MacOS
-
22Setting up a private node on Windows
-
23Setting up a private node on Linux
-
24Troubleshooting your private node
-
25Setting up MetaMask on all environments
-
26Deploying a smart contract without Truffle (1/2)
-
27Deploying a smart contract without Truffle (2/2)
-
28Working around the truffle init error in the next lesson
-
29Deploying a smart contract with Truffle (1/3)
-
30Deploying a smart contract with Truffle (2/3)
-
31Deploying a smart contract with Truffle (3/3)
-
32Blocks and transactions
-
33Gas
-
34OpCodes
-
35Sending ether
-
36ChainList application preview
-
37Sell an article: smart contract (1/2)
-
38Sell an article: smart contract (2/2)
-
39Sell an article: tests (1/2)
-
40Sell an article: tests (2/2)
-
41Sell an article: frontend preparation (1/2)
-
42Sell an article: frontend preparation (2/2)
-
43Sell an article: display article in the frontend (1/3)
-
44Sell an article: display article in the frontend (2/3)
-
45Sell an article: display article in the frontend (3/3)
-
46Sell an article from the frontend (1/2)
-
47Sell an article from the frontend (2/2)
-
48Sell an article through MetaMask
-
49Sell an article: smart contract with event (1/3)
-
50Sell an article: smart contract with event (2/3)
-
51Sell an article: smart contract with event (3/3)
-
52Sell an article: events in the frontend (1/2)
-
53Sell an article: events in the frontend (2/2)
-
54Unknown transaction when migrating with Truffle 4.0.4
-
55Deploy ChainList to a private network (1/3)
-
56Deploy ChainList to a private network (2/3)
-
57Deploy ChainList to a private network (3/3)
-
58Buy an article: smart contract (1/3)
-
59Buy an article: smart contract (2/3)
-
60Buy an article: smart contract (3/3)
-
61Buy an article: tests (1/3)
-
62Buy an article: tests (2/3)
-
63Buy an article: tests (3/3)
-
64Buy an article: frontend (1/3)
-
65Buy an article: frontend (2/3)
-
66Buy an article: frontend (3/3)
-
67List of articles: smart contract (1/4)
-
68List of articles: smart contract (2/4)
-
69List of articles: smart contract (3/4)
-
70List of articles: smart contract (4/4)
-
71List of articles: tests (1/5)
-
72List of articles: tests (2/5)
-
73List of articles: tests (3/5)
-
74List of articles: tests (4/5)
-
75List of articles: tests (5/5)
-
76List of articles: frontend (1/3)
-
77List of articles: frontend (2/3)
-
78List of articles: frontend (3/3)
-
79Smart contract deactivation (1/2)
-
80Smart contract deactivation (2/2)
-
81Function modifiers
-
82Smart contract inheritance
-
83Deploying the frontend
-
84Deploying smart contracts to the Rinkeby test net
-
85Deploying smart contracts to the main net
-
86Deploying to a test node with an Infura remote node