Python, JS, & React | Build a Blockchain & Cryptocurrency
4.7 (178 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,418 students enrolled

Python, JS, & React | Build a Blockchain & Cryptocurrency

Build a blockchain and cryptocurrency with Python, JavaScript, and React! Backend and frontend web development included!
Bestseller
4.7 (178 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,418 students enrolled
Created by David Joseph Katz
Last updated 3/2020
English
English [Auto-generated]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 14.5 hours on-demand video
  • 18 articles
  • 3 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • How to build a blockchain and cryptocurrency system from scratch.
  • The fundamentals of python - data structures, object-oriented programming, modules, and more.
  • The ins and outs of hashing and sha256.
  • Encoding and decoding in utf-8.
  • Testing Python applications with pytest.
  • Python virtual environments.
  • The concept of proof of work, and how it pertains to mining blocks.
  • Conversion between hexadecimal to binary.
  • HTTP APIs and requests.
  • How to create APIs with Python Flask.
  • The publish/subscribe pattern to set up networks.
  • When to apply the concepts of serialization and deserialization.
  • Public/private keypairs and generating data signatures.
  • The fundamentals of JavaScript.
  • Frontend web development and how web applications are constructed.
  • The core concepts of React and React hooks.
  • How the React engine works under the hood, and how React applies hooks.
  • CORS - and how to get over the CORS error properly.
  • How to build a pagination system.
Course content
Expand all 133 lectures 15:04:38
+ Python Fundamentals
11 lectures 01:03:44
Section Preview: Python Fundamentals
02:25
Set up Python and other Software Installations (Mac, Linux, and Windows)
01:57
Python Interpreter and Fundamentals
04:11
Strings and Variables
07:05
Functions
08:51
Control Flow: Booleans, Comparison Operators, and If Statements
07:13
Loops: While and For
05:55
Data Structures: Lists, Sets, and Dictionaries
09:14
Overview: Classes and Object-Oriented Programming
04:21
Code: Classes and Object-Oriented Programming
11:13
Section Summary: Python Fundamentals
01:19
+ Start the Blockchain Application
12 lectures 01:05:50
Course Repository
00:16
Mining Blocks and the Genesis Block
08:52
Update add_block and Static Methods
06:00
The Hashing Algorithm Part 1
07:09
Hashing and SHA-256
03:04
Encoding and Decoding in UTF-8 | An Overview
03:27
The Hashing Algorithm Part 2, and Lambda Functions
09:38
Section Summary: Start the Blockchain Application
01:42
+ Test the Application
6 lectures 34:23
Section Preview: Test the Application
01:15
Virtual Environments, Pip, and Pytest
07:44
Organize the Application into Packages
05:46
Test the Application
05:17
Test the Blockchain
13:17
Section Summary: Test the Application
01:04
+ Proof of work
9 lectures 01:01:45
Section Preview: Proof of Work
00:28
Proof of Work and the 51% Attack
08:22
Difficulty and the Nonce Value
09:38
Dynamic Difficulty and the Mine Rate
09:13
Test Adjust Difficulty
08:11
Proof of Work System | Average Work Script
07:58
Hex to Binary Conversion
13:05
Test hex_to_binary
03:35
Section Summary: Proof of Work
01:15
+ Preparing the Blockchain for Collaboration
7 lectures 53:57
Section Preview: Preparing the Blockchain for Collaboration
00:49
Chain Validation and Replacement Overview
03:34
Validate a Block
12:23
Test is_valid_block
12:53
Chain Validation
13:45
Chain Replacement
09:39
Section Summary: Preparing the Blockchain for Collaboration
00:54
+ The Blockchain Network - Flask API and Pub/Sub
14 lectures 01:34:10
Section Preview: The Blockchain Network
01:01
APIs, HTTP, and Flask Overview
02:51
Set Up Flask
09:40
GET the Blockchain Data
03:42
Respond with the blockchain as JSON
10:04
Mine Block Request
04:54
Real-Time Messaging Network through Pub/Sub
03:29
Set up PubNub
14:51
PubSub Class
05:55
Peer Instances
06:59
Broadcast Blocks
06:40
Add Received Blocks
12:02
Synchronize a Peer on Startup
10:46
Section Summary: The Blockchain Network
01:16
+ The Cryptocurrency: Wallets, Keys, and Transactions
12 lectures 01:19:13
Section Preview: The Cryptocurrency
00:45
Wallets, Keys, and Transactions Overview
06:52
Wallets and Cryptography Module
12:24
Sign Data
06:21
Verify Signatures
06:04
Test the Wallet
04:13
Transactions
12:33
Test Transactions
07:26
Transaction Updates
03:56
Test Transaction Updates
08:30
Validate Transactions
08:31
Section Summary: The Cryptocurrency
01:38
+ Transactions on the Network
10 lectures 01:06:53
Section Preview: Transactions on the Network
00:39
Download Postman
00:16
Transact Endpoint
11:59
Serialize the Wallet Public Key
11:44
Encode the Signature and a Successful POST Transact
08:19
Transaction Pool: Overview
01:51
Transaction Pool: Code
05:02
Broadcast Transactions
16:22
Transaction Updates in the API and Truthy/Falsy values
09:26
Section Summary: Transactions on the Network
01:15
+ Connect the Blockchain and Cryptocurrency
14 lectures 01:48:07
Section Preview: Connect the Blockchain and Cryptocurrency
01:20
Mine Transactions
06:36
Test App Script
11:18
Clear Blockchain Transactions
13:32
Calculate Wallet Balances: Overview
03:03
Calculate Wallet Balances: Code
05:22
Test Calculate Wallet Balance
07:36
Balance Property and Wallet Info Endpoint
09:18
Mining Reward
08:51
Validate Mining Rewards
07:32
Transaction Chain Validations
07:51
Test Transaction Chain Validations
12:14
Check Historic Balances
12:16
Section Summary: Connect the Blockchain and Cryptocurrency
01:18
Requirements
  • You can be new to Python.
  • You can be new to JavaScript.
  • You can be new to blockchains and cryptocurrencies.
  • You can be new to React.
  • If you are a complete beginner to programming, you may find this course fast paced. Everything is explained from scratch. But, there's a lot of concepts: Python, the blockchain, JavaScript, React, and more. It might help to do a couple introductory programming tutorials first.
Description

Why should you take this course?

Let me put on my salesman hat, and respond that the real question is "why shouldn't you take this course"?

The course includes Python, Blockchains, Cryptocurrencies, Web Development (Backend and Frontend), JavaScript, React JS, React Hooks and more. By investing in this course, you're really getting your bang for you buck.

Want to add learn software programming, while adding relevant languages/technologies to your portfolio? This course is perfect. According to stackoverflow (2019 developer survey), Python is the fastest-growing major programming language today. React.js is the most loved web framework. And there's no doubt that blockchains and cryptocurrencies are on the cutting edge of modern technology.

Want to learn Python and/or JavaScript? This course is for all levels. If you're a newcomer, you'll get a from-scratch experience. But the course journey is completely in your hands. If you're more experienced, feel free to skip the introductory sections for Python and JavaScript to get right into building the project.

The course is designed to help you achieve three main goals:

  • Learn Python and Backend Web Development.

  • Build a Blockchain and Cryptocurrency Project that you can add to your portfolio.

  • Learn JavaScript, Frontend Web Development, React.js, and React Hooks.

The course's main project is to build a blockchain and cryptocurrency. With a blockchain and cryptocurrency system as the main goal, you will go through a course journey that starts with backend development using Python. Then, you will transaction to frontend web development with JavaScript, React.js, and React Hooks.

Here's an overview of the overall course journey:

  • Get an introduction of the Python Fundamentals.

  • Begin building the Blockchain Application with Python.

  • Test the Application using Pytest.

  • Incorporate the crucial concept of Proof of Work into the Blockchain.

  • Enhance the application to prepare for networking.

  • Create the Blockchain network using Flask and Pub/Sub.

  • Integrate the Cryptocurrency, building Wallets, Keys, and Transactions.

  • Extend the network implementation with the cryptocurrency.

  • Transition from Python to JavaScript with a "From Python to JavaScript" introduction.

  • Establish frontend web development skills and begin coding with React.js.

  • Create the frontend portion for the blockchain portion of the system.

  • Complete the frontend by building a UI for the cryptocurrency portion of the system.

In addition, here are the skills that you'll gain from the course:

  • How to build a blockchain and cryptocurrency system from scratch.

  • The fundamentals of python - data structures, object-oriented programming, modules, and more.

  • The ins and outs of hashing and sha256.

  • Encoding and decoding in utf-8.

  • Testing Python applications with pytest.

  • Python virtual environments.

  • The concept of proof of work, and how it pertains to mining blocks.

  • Conversion between hexadecimal to binary.

  • HTTP APIs and requests.

  • How to create APIs with Python Flask.

  • The publish/subscribe pattern to set up networks.

  • When to apply the concepts of serialization and deserialization.

  • Public/private keypairs and generating data signatures.

  • The fundamentals of JavaScript.

  • Frontend web development and how web applications are constructed.

  • The core concepts of React and React hooks.

  • How the React engine works under the hood, and how React applies hooks.

  • CORS - and how to get over the CORS error properly.

  • How to build a pagination system.

***

Question(s) you may have:

Can this course help me find employment?

Taking this course will turn you into both a software engineer, and a specialized blockchain engineer. This position is a new one in the software industry. And the demand is high. But the supply is low. So open a ton of doors by becoming an in-demand engineer with a fully deployed blockchain and cryptocurrency in your portfolio!

Can I use the course project for my own software product?

Yes! Feel free to use the course project as the foundation for your own software product/company. The course code is open source. And I'm happy to provide advice via the Q&A section, or direct messages.

What is the difference between this course and your other courses on building a blockchain and cryptocurrency?

This is a remastered version of my other blockchain courses, using Python this time! I realize Python is a language that many students on the Udemy platform interested in learning or deepening their skills in. So, this course is here to offer a blockchain and cryptocurrency learning experience with Python as a main emphasis.

In addition, a lot of the blockchain logic has been improved, with additional methods and concepts! This version of the project is definitely more secure, more thorough, and more complete.


***

Here are snippets from what students have said about my blockchain and cryptocurrency courses in the past:

"Outstanding course - I have a fully working and tested blockchain thanks to this course! David was super helpful in the Q&A, and did an excellent job of breaking everything down." - M.R.

"Excellent! The basic blockchain code is introduced early on. Explanations are very clear" - D.A"

"David has done such an amazing job with this course! He is patient and walks you through blockchain concepts from start to finish… A very solid foundation!" - K.I.


***

Ultimately, this course is a learning experience like no other. It's packed with languages and technologies from Python, to the blockchain, to React.js, and everything in between. On top of that. It’s an opportunity to become a pioneer in such a young and promising field.

So, hopefully, I'll see you in the course!

Who this course is for:
  • Those looking to add Python, JavaScript, or React to their programming skill set.
  • Rising engineers searching for an interesting project to add to their software portfolio.
  • Entrepreneurs researching the foundation for their next product.
  • Anyone looking for supplementary materials for other Python, JavaScript, blockchain, or general programming courses.
  • Python developers wanting to learn about the blockchain, cryptocurrencies, and/or React and JavaScript.
  • Students of any of my previous blockchain courses, who want to leverage their knowledge to learn Python.