Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Meditation Personal Transformation Life Purpose Emotional Intelligence CBT
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Software Engineering Blockchain

Blockchain Programming

Build a blockchain and cryptocurrency from scratch using Python
Rating: 4.1 out of 54.1 (260 ratings)
3,310 students
Created by Levi Barnes, NerdBarn Learning
Last updated 9/2019
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • Build a cryptocoin from scratch using Python
  • Digitally sign messages and verify signatures
  • Design and build a tamper-proof blockchain to store any kind of data
  • Secure your blockchain with a proof-of-work requirement
  • Open sockets to communicate transactions and block with peers
  • Build a wallet and miner for your cryptocoin

Course content

9 sections • 83 lectures • 13h 55m total length

  • Preview03:53
  • Preview06:32
  • Python Basics: Functions, Loops, If Statements and Modules
    08:55
  • Preview03:16
  • Python Basics: Classes
    07:21
  • Python Basics: Inheritance
    05:46
  • Python Basics: Catching Errors with Try/Except
    04:13

  • Preview02:39
  • Preview02:39
  • Signatures for Cryptocurrencies
    01:07
  • Digital Signatures
    1 question
  • Preview01:38
  • Installing modules with pip
    01:54
  • Preview05:17
  • Preview08:57
  • Solution: Part 2
    04:03
  • Strings or Bytes
    04:45

  • Hash functions
    03:13
  • Crytographic hashing
    2 questions
  • Computing hash functions with Python
    03:02
  • Block Chains
    01:42
  • Assignment: Blockchain for general data
    08:53
  • Solution
    11:37

  • Transactions
    01:48
  • Multiple output addresses
    00:58
  • Multi-signature transactions
    01:50
  • Transactions
    1 question
  • Assignment: Transaction class Part 1
    09:10
  • Assignment: Transaction class Part 2
    07:04
  • Solution: Part 1
    09:40
  • Solution: Part 2
    09:36

  • Securing a public transactions ledger
    03:19
  • Preview01:13
  • Assignment 1: Save and restore with pickle
    08:15
  • Assignment 1: Solution
    18:13
  • Assignment 2: The TxBlock class
    14:18
  • Assignment 2: Solution
    16:03

  • Decentralization
    01:36
  • The Dark Side of Decentralization
    01:53
  • Proof-of-Work
    05:18
  • Nonces
    06:13
  • Proof-of-Work Quiz
    4 questions
  • Assignment 1: Mining rewards
    09:27
  • Assignment 1: Solution
    13:24
  • Assignment 2: Nonce requirement
    07:42
  • Additional Python tips and tricks
    11:11
  • Assignment 2: Solution
    29:13

  • Dragons!
    01:24
  • Internet basics
    06:08
  • Client and Server
    02:45
  • Building a server
    03:59
  • Building a client
    00:52
  • Non-blocking server
    03:42
  • Client-server code along
    19:28
  • Pickling data for communication
    06:11
  • Finishing up client-server
    08:40
  • Miner and Wallet
    02:37
  • Building a socket communication utility
    07:18
  • Assignment: Build a Miner
    17:10
  • Solution
    26:13
  • Placing the new block
    12:34

  • Basic Threading
    13:41
  • Assignment 1: Test Miner Using Threads
    16:59
  • Assignment 1: Solution
    09:24
  • Assignment 2: Wallet client and server
    17:40
  • Assignment 2: Solution
    23:11
  • Coding Best Practices
    11:09
  • Assignment 3: Saving and Restoring Keys
    07:42
  • Assignment 3: Solution
    14:32
  • Save and Restore Blocks and Transactions
    13:47

  • Potpourri
    03:02
  • Assignment 1: Load and save states
    15:11
  • Assignment 1: Solution
    30:35
  • Assignment 2: Limit block size
    15:51
  • Assignment 2: Solution
    12:29
  • Assignment 3: Checking account balances
    06:12
  • Assignment 3: Solution
    13:25
  • Assignment 4: Blockchain branching
    09:58
  • Assignment 4: Solution
    10:28
  • Assignment 5: Replay Attacks
    17:17
  • Assignment 5: Solution
    01:19:53
  • Approaches to replay attacks
    07:28
  • Assignment 6: Multiple miners
    14:58
  • Assignment 6: Solution
    30:19
  • Hardness and emission rate
    10:56
  • Hardness quiz
    4 questions
  • Preview07:19
  • Preview14:38
  • Final code base
    1 question

Requirements

  • Beginning knowledge of any programming language
  • Python 3.x
  • A text editor

Description

You'll learn the ins and outs of blockchain like only a blockchain programmer knows. Using only a few Python libraries, we'll build a cryptocurrency from the ground up. Even if you have very little programming experience we can help you through it!

You'll learn about digital signatures, hashing and proof-of-work mining. We'll design and build a scheme for decentralized consensus including communicating over TCP/IP sockets. Bring your basic knowledge of Python, and you'll emerge on the other side with a grasp of cryptocurrencies better than 99% of your peers and with a working prototype you can build on. 

You'll make smarter cryptocurrency investment decisions, launch a career in blockchain programming or just be the smartest crypto-junkie in the room. Clear your weekend, click the enroll button and let's go!

Who this course is for:

  • Programmers of all skill levels who want to learn cryptocurrencies from the inside
  • Crypto-junkies who want to learn some programming

Featured review

Shayan Ahmed
Shayan Ahmed
13 courses
2 reviews
Rating: 5.0 out of 5a year ago
This is one of the best course I ever had, what a perfect balance of lecture and hands-on exercises! Instructor pauses the course at the right point, to give you time to practice and in case you are stuck and ask questions, he is ever ready to reply and that too very quickly... Thanks Levi, wonderful course with great content and delivery.

Instructors

Levi Barnes
High Performance Programmer
Levi Barnes
  • 4.1 Instructor Rating
  • 260 Reviews
  • 3,310 Students
  • 1 Course

After a PhD in experimental physics I switched to scientific programming 14 years ago. My specialty is high performance scientific simulation on GPUs using CUDA and other tools. I also dabble in blockchain programming, chess, machine learning and cryptography. In my free time, I play soccer and chase my four magnificent children in Portland, Oregon.

NerdBarn Learning
Technical Instruction
NerdBarn Learning
  • 4.1 Instructor Rating
  • 260 Reviews
  • 3,310 Students
  • 1 Course

NerdBarn provides self-paced online education for busy nerds worldwide.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.