Getting Started with Ethereum Solidity Development
4.3 (13 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
82 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Getting Started with Ethereum Solidity Development to your Wishlist.

Add to Wishlist

Getting Started with Ethereum Solidity Development

Develop your first decentralized application from scratch on the Ethereum blockchain
Best Seller
4.3 (13 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
82 students enrolled
Last updated 9/2017
English
Current price: $10 Original price: $195 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 9.5 hours on-demand video
  • 1 Article
  • 9 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand the basic philosophy behind the blockchain and distributed/decentralized applications
  • The basics of how a blockchain generally works, just enough to be able to use it as a development platform
  • Develop a distributed application, from creating a blank project to deploying it in production all the way through writing smart contracts, unit testing them, and creating a user interface for them
  • How to combine the right tools to put together a consistent development environment
  • The fundamentals of the Solidity smart contract language
  • How to use the Truffle build and testing framework
  • How to deploy a decentralized app to various Ethereum instances (testrpc, private chain, test chain, main net)
View Curriculum
Requirements
  • You should already have developed a couple of software applications, backend, frontend or both
  • You need a Mac, Linux or Windows machine to develop the sample application
  • A basic understanding of a programming language like Javascript is definitely a plus
Description

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 will cover

  • We will 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
  • 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 Mist browser
  • The Metamask Chrome extension
  • The Solidity smart contract language
  • The Truffle build and test framework
  • Github Pages
  • Atom (text editor)
  • The Rinkeby test network

All 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 should work exactly the same, with a few OS-specific adaptations.

Who is the target audience?
  • Anybody with a little bit of backend and/or frontend software development experience
Students Who Viewed This Course Also Viewed
Curriculum For This Course
62 Lectures
09:19:30
+
Commencez ici
1 Lecture 02:41
+
Why the Blockchain?
3 Lectures 17:06
How Do You Represent Value?
06:15

A very interesting video to watch in order to understand CDOs and how the crisis of credit really worked: http://crisisofcredit.com/

The Internet of Value
05:36

Blockchain Use Cases
05:15
+
What is a blockchain (and what it's not)?
8 Lectures 59:02
The 3-layer Model
03:24

Blockchain Design Goals
08:01

Blockchain Implementations
09:24

Blockchain Instances
05:08

Public Blockchains as Tricameral Systems
06:33

Blockchain Key Components 1/2
07:17

Blockchain Key Components 2/2
08:03

What a Blockchain Is Not
11:12
+
Cryptography 101
3 Lectures 18:30
Hashing Functions
07:00

Asymmetric Cryptography
06:15

Merkle Trees
05:15
+
Installing the Development Environment
9 Lectures 01:45:04

In summary, here are the commands to install all the tools:

xcode-select --install

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew install node

brew tap ethereum/ethereum

brew install ethereum

npm install -g ethereumjs-testrpc

npm install -g truffle

Download and install Atom from https://atom.io/download/mac

And finally:

apm install language-ethereum


Preview 14:08

In summary, here are the commands we have to run to set up the development environment on an Ubuntu distribution:

sudo apt install curl

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

sudo apt update

sudo apt install -y nodejs

sudo apt install software-properties-common

sudo add-apt-repository -y ppa:ethereum/ethereum

sudo apt update

sudo apt install ethereum

npm install -g ethereumjs-testrpc

npm install -g truffle

sudo add-apt-repository ppa:webupd8team/atom

sudo apt update

sudo apt install atom

apm install language-ethereum

Linux Development Environment
13:18

Windows Development Environment
14:08

Setting Up a Private Network Instance: Initializing the Node (1/3)
10:51

Setting Up a Private Network Instance: Starting the Node (2/3)
08:30

Setting Up a Private Network Instance: Inspecting the Node (3/3)
12:40

Setting Up Mist
14:03

Importing accounts in MetaMask on Linux
00:41

Setting Up MetaMask
16:45
+
My First Smart Contract: Greetings
9 Lectures 01:26:40
Use NodeJS, web3 and solc to compile and deploy your first smart contract (1/3)
05:56

Use NodeJS, web3 and solc to compile and deploy your first smart contract (2/3)
10:12

Use NodeJS, web3 and solc to compile and deploy your first smart contract (3/3)
13:23

Use Truffle to deploy and interact with the Greetings contract
17:57

Transaction and blocks
10:54

Understanding gas (1/2)
08:27

Understanding gas (2/2)
08:30

Gas and opcodes
06:14

Sending ether between accounts
05:07
+
How do you design and developp a decentralized application?
28 Lectures 04:29:02
ChainList Preview
02:15

Create a contract to sell one article
11:36

Test your contract to sell one article
10:10

Prepare the frontend for displaying and selling an article
11:01

Connect your frontend with the ChainList contract (1/2)
10:01

Connect your frontend with the ChainList contract (2/2)
05:48

Sell an article from the frontend
05:20

Here is the command you have to type to start testrpc with pre-determined accounts:

testrpc --account="0x351494a5ae8f9b70a2a2fd482146ab4578f61d4d796685c597ec6683635a940e, 100000000000000000000" --account="0x4cd491f96e6623edb52719a8d4d1110a87d8d83e3fa86f8e14007cb3831c0a2b, 100000000000000000000" --account="0xef40e0d6ada046010b6965d73603cabae1a119ca804f5d9e9a9ce866b0bea7d, 100000000000000000000"

Sell an article using Metamask
08:59

Content of the starttestrpc.sh (or starttestrpc.cmd) script:

testrpc --account="0x351494a5ae8f9b70a2a2fd482146ab4578f61d4d796685c597ec6683635a940e, 100000000000000000000" --account="0x4cd491f96e6623edb52719a8d4d1110a87d8d83e3fa86f8e14007cb3831c0a2b, 100000000000000000000" --account="0xef40e0d6ada046010b6965d73603cabae1a119ca804f5d9e9a9ce866b0bea7d, 100000000000000000000"

Notify watchers when an article goes for sale
05:51

Watch event from Truffle console and test it
10:26

Automatically update the frontend with a new article when event is triggered
07:51

Deploy ChainList to a private network
14:43

Buy an article by sending value (1/2)
08:24

Buy an article by sending value (2/2)
12:15

Test the buy article function (1/2)
07:47

Test the buy article function (2/2)
08:26

Buy an article from the frontend
13:48

Update the contract to sell and buy multiple articles (1/3)
08:53

Update the contract to sell and buy multiple articles (2/3)
03:55

Update the contract to sell and buy multiple articles (3/3)
06:51

Update your test suites to handle multiple articles
11:56

Sell and buy multiple articles from the frontend
12:30

Smart contract deactivation
14:31

Function modifiers
07:39

Contract inheritance
07:32

Deployment to Rinkeby (1/3)
12:57

Deployment to Rinkeby (2/3)
16:15

Deployment to Rinkeby (3/3)
11:22
+
Conclusion
1 Lecture 01:25
Congratulations
01:25
About the Instructor
Sebastien Arbogast
4.3 Average rating
10 Reviews
82 Students
1 Course
Entrepreneur, software developer, speaker and trainer

Sebastien Arbogast is an entrepreneur, fullstack software developer, consultant, speaker and trainer with more than 12 years of experience. He owns his own consulting business and he co-founded the ChainSkills initiative with Said Eloudrhiri in 2016, with a mission to involve more developers in the blockchain ecosystem, as well as develop better tools for blockchain development.

Said Eloudrhiri
4.3 Average rating
10 Reviews
82 Students
1 Course
Blockchain enthusiast * Co-founder of ChainSkills

Hi, I’m Said. I work in IT since 25+ years.
Since the beginning of my career, I‘ve been involved in several projects as a developer, software architect, team leader or agile coach.
As a speaker, I have the pleasure to share my return of experiences about mobile development, agile development or the blockchain. Among them, I had the pleasure to be a speaker in Devoxx conferences with my friend Sébastien Arbogast.
I'm also an enthusiastic trainer that teaches kids to program games and robotics through some initiatives organised by the Wajug or the Devoxx4Kids.
In 2016, I have created the ChainSkills initiative with Sébastien Arbogast to educate people about the power and techniques of open blockchains as a development platform.
Last but not least, I'm a husband and the proud father of three kids.