Courses for Developers

Blockchain Developer Program (BDP)


Description

In this course, we start off by teaching you about the underpinnings of blockchain technology and show how it all comes together to allow us to build the next generation of web applications. The earlier modules have more video and provide more of an overview of the relevant technology, while later modules get technical and have more hands-on coding exercises and walk-throughs. We will explore the Solidity, a programming language for Smart Contracts that lets you interact with the Ethereum Virtual Machine. We will walk you through many types of smart contract code, introduce you to key development tools, and show you all the best practices for smart contract development, all to prepare you for the final project towards the end of the course.



Key Takeaways


  • Well-structured content to provide a basic knowledge of blockchain technology
  • The most up-to-date topics and the latest advancements in the field
  • Lots of programming exercises, quizzes, and tests to sharpen your development skills and comprehend the concepts
  • A wide range of examples and training videos to help you better understand the topics in a more engaging way
  • Use Cases to expand your understanding of blockchain implementations

Audience


Developers and innovation architects with programming experience in JavaScript, HTML, object oriented programming and general web development.

Estimated Time


It will take you approximately 30 hours to complete this course.

Format


This course consists of 11 self-paced modules.

Content Access


1-year access to the course content from the date that you sign up.

Recommended Experience


The ideal learner has at least 1 year of programming experience, will be an experienced and passionate Object-Oriented Programmer (preferably Python) and is familiar with general web development, JavaScript, HTML, and Git.

Certification


This program does not include the cost of certification.

Cancellation


We offer full refunds up to two weeks after signing up for the course.

Pay With Cryptocurrency


If you would like to pay with cryptocurrency, please follow this link. We do not have automated enrollment capability for students paying with cryptocurrency, so please allow several 1-2 business days for us to manually enroll you. You will receive an email with your login details.

Note: The content for this course is based upon the Blockchain Developer Bootcamp course, but this is not as comprehensive of an experience. The Blockchain Developer Bootcamp offers full mentor support and the benefits of learning in a peer group. The Bootcamp course includes the cost of certification whereas this course does not.

If you have any questions, feel free to reach out to us at developerprogram@consensys.net.

Best wishes and happy learning!
The ConsenSys Academy team.

Content
  • Introduction
  • Welcome!
  • About You
  • Promotional Material Opt-in
  • How to be successful in this course
  • Tools for the course
  • Chat via Slack
  • Github
  • Visual Studio Code
  • Oracle VM VirtualBox
  • External Resources
  • Request for Lessons
  • Module 1: Review of Blockchain Techonlogy
  • Welcome to Module 1: Review of Blockchain Technology
  • Module 1 Pre-Assessment (Not Graded)
  • Contextualizing Blockchain
  • 1.1 Distributed Ledgers
  • 1.2 Consensus Mechanisms
  • 1.3 Mining in Ethereum
  • 1.4 Public and Private Blockchains
  • 1.5 Distributed Ledger Platforms
  • Module 1 Test (Graded)
  • Module 1 Recap
  • Module 2: Blockchain Primitives
  • Welcome to Module 2: Blockchain Primitives
  • Module 2 Pre-Assessment (Not Graded)
  • 2.1 Cryptographic Hash Functions
  • 2.1.1 Playing with Cryptographic Hash Functions
  • 2.2 Public Key Cryptography
  • 2.3 Merkle Trees
  • 2.4 Blockchain Structure
  • 2.5 Smart Contracts
  • 2.5.1 Smart contracts - Additional Reading
  • 2.6 Nodes
  • 2.7 Blockchain Forks
  • Module 2 Test (Graded)
  • Module 3: Ethereum Basics
  • Welcome to Module 3: Ethereum Basics
  • Module 3 Pre-Assessment (Not Graded)
  • 3.1 Accounts
  • 3.2 Transactions
  • 3.3 Gas and Fees
  • 3.4 Ethereum Structure
  • Module 3 Test (Graded)
  • Module 3 Recap
  • Up to Module 3 Feedback
  • Module 4: Traditional and Decentralized Application Development
  • Welcome to Module 4: Traditional and Decentralized Application Development
  • Module 4 Pre-Assessment (Not Graded)
  • 4.1 Decentralized Application Development
  • 4.2 Similarities and Differences
  • 4.3 Development Environment Setup Options
  • 4.4 Key Developer Tools
  • 4.5 Installing Geth
  • 4.6 Connecting to a testnet
  • 4.7 Geth PoA Private Network Tutorial
  • Module 4 Test (Graded)
  • Module 4 Recap
  • Module 5: Development Frameworks and Environment
  • Welcome to Module 5: Development Frameworks and Environment
  • Module 5 Pre-Assessment
  • Introducing Metamask
  • Interview with Dan Finlay from Metamask
  • 5.1 Development Workflow: A Low Level Overview
  • 5.2 Development Workflow: Ganache CLI
  • 5.3 The Truffle Development Environment
  • 5.4 Installing Truffle
  • 5.5 The Structure of a Truffle Project
  • 5.6 The Ethereum Package Manager
  • 5.7 Ganache GUI
  • Module 5 Recap
  • Up to Module 5 Feedback
  • Module 6: Solidity Fundamentals
  • Welcome to Module 6: Solidity Fundamentals
  • Module 6 Pre-Assessment (Not Graded)
  • 6.1 Data Types and Variables
  • 6.2 Functions
  • 6.3 Storage and Memory
  • 6.4 Contract Structure
  • 6.5 Reading Smart Contracts
  • 6.6 Smart Contract ABI
  • 6.7 Events and Logs
  • 6.8 Factory Contracts
  • 6.9 Remix Deep Dive
  • Module 6 Test (Graded)
  • Module 6 Recap
  • Module 7: Writing Smart Contracts
  • Welcome to Module 7: Writing Smart Contracts
  • Module 7 Pre-Assessment
  • 7.1 Introductory Smart Contracts
  • 7.2 Inter-Contract Execution
  • 7.3 Inheritance
  • 7.4 Libraries and the Ethereum Package Manager
  • 7.5 Smart Contract System Design
  • 7.6 Writing a Smart Contract
  • 7.7 Deeper into Smart Contracts
  • 7.8 Debugging Truffle Tests
  • 7.9 Practice Writing Smart Contracts
  • Module 7 Test (Graded)
  • Module 7 Recap
  • Up to Module 7 Feedback
  • Module 8: Ethereum and the End User
  • Welcome to Module 8: Ethereum and the End User
  • Module 8 Pre-Assessment
  • 8.1 Introduction to Web 3.0
  • 8.1.1 Web3.js JavaScript Library
  • 8.1.2 Connecting Web3.js to a Contract
  • 8.2 Building Truffle for the Web
  • 8.2.1 Updates to Metamask
  • 8.3 Integrating with React
  • 8.3.1 Rimble UI
  • 8.4 Generating Ethereum Addresses
  • Module 8 Test (Graded)
  • Module 8 Recap
  • Module 9: Smart Contracts Pitfalls, Testing and Debugging
  • Welcome to Module 9: Smart Contract Pitfalls, Testing and Debugging
  • Module 9 Pre-Assessment
  • 9.1 Writing Tests
  • 9.1.1 Catching Solidity Errors in Truffle Tests
  • 9.2 Smart Contract Best Practices
  • 9.3 Exploits and Dangers
  • 9.4 Optimizing Gas
  • 9.5 Safety Checklist
  • 9.6 Security Analysis Tools
  • 9.7 tx.origin Attack Demo
  • 9.7.1 Denial of Service Attack Example
  • 9.7.2 Reentrancy Attack Example
  • 9.7.3 Integer Over/Underflow Example
  • Module 9 Test (Graded)
  • Module 9 Recap
  • Up to Module 9 Feedback
  • Module 10: Advanced Topics
  • Welcome to Module 10: Ethereum Advanced Topics
  • 10.1 Smart Contract Design Patterns
  • 10.2 The Ethereum Name Service
  • 10.3 Introduction to IPFS
  • 10.4 Upgradable Contracts
  • 10.5 Oracles with Rhombus
  • 10.5.1 Rhombus Network
  • 10.5.2 Rhombus Network Tutorial
  • 10.6 Formal Verification
  • 10.7 Zero Knowledge Proofs
  • Module 10 Recap
  • Module 11: Additional Topics
  • Welcome to Module 11: Additional Topics
  • 11.1 LLL
  • 11.2 Introduction to Vyper
  • 11.2.1 Writing Ethereum Smart Contracts in Vyper
  • 11.3 Ethereum Improvement Proposals (EIPs)
  • Certification
  • Certification Information
Completion rules
  • All units must be completed