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.
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:
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
The tools we use
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.
A very interesting video to watch in order to understand CDOs and how the crisis of credit really worked: http://crisisofcredit.com/
Test conversion checklist:
replace all the vars by let or const
transform the it() function into an async fat arrow function
replace all then() blocks with awaits
web3.eth.getBalance() is now asynchronous, so you can precede it with await
Replace all occurrences of web3.toWei() by web3.utils.toWei(), and web3.fromWei() by web3.utils.fromWei()
convert ether amounts into BNs at initialization
remove all calls to web3.toBigNumber()
convert BNs into strings everywhere we compare them with assert.equal()
remove all calls to toNumber() on getBalance() return values
call parseFloat() around calls to web3.eth.getBalance() to convert strings into javascript numbers for calculation
convert article prices back into numbers for calculations, using BN.toNumber()
Test conversion checklist:
replace all the vars by let or const
transform the it() function into an async fat arrow function
replace all then() blocks with awaits
web3.eth.getBalance() is now asynchronous, so you can precede it with await
Replace all occurrences of web3.toWei() by web3.utils.toWei(), and web3.fromWei() by web3.utils.fromWei()
convert ether amounts into BNs at initialization
remove all calls to web3.toBigNumber()
convert BNs into strings everywhere we compare them with assert.equal()
remove all calls to toNumber() on getBalance() return values
call parseFloat() around calls to web3.eth.getBalance() to convert strings into javascript numbers for calculation
convert article prices back into numbers for calculations, using BN.toNumber()
encapsulate all contract function calls expected to throw an exception into try/catch blocks
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.