/ud-blockchain-nd

All Projects of Udacity's Blockchain Nanodegree ⚡

Primary LanguageJavaScript

image

Blockchain-Developer-Nanodegree-Udacity

Completed coursework from Udacity's Blockchain Developer Nanodegree program: https://www.udacity.com/course/blockchain-developer-nanodegree--nd1309

Blockchain Developer

Learn the fundamentals of the blockchain platform. Create your own private blockchain, and secure a digital asset using blockchain identity. Explore the Ethereum platform, and use Solidity and smart contracts to develop your own decentralized app.

PREREQUISITE KNOWLEDGE

You should be comfortable with object-oriented programming, and developing web apps in Javascript.

  • 1+ years of experience with object-oriented programming
  • Experience developing web applications with the Javascript language using node.js (asynchronous JavaScript code)
  • Knowledge of how to build a server and use the client-server model in software architecture
  • Proficiency creating and consuming data using a remote API
  • Developing the front end and back end of a web application with JavaScript

image

Section 1: Blockchain Fundamentals

Learn the basics of how the blockchain data model works by creating your own private blockchain using Node.js and Leveldb.

A blockchain is a shared database that features added immutability as a safe and accurate alternative to existing data storage methods. You’ll learn the basics of how the blockchain data model works by creating your own private blockchain using Node.js and Leveldb.

In this project, you’ll learn the fundamentals of architecting a collection of data into a blockchain data model. You'll configure how each block stores data, validate blocks, add new blocks to the chain, and create methods to validate the chain integrity.

You'll then create a back-end API web service, and migrate your private blockchain to the web service. In the process, you'll learn how to post new blocks to the blockchain via a RESTful web client. You’ll then encrypt and decrypt the unique digital collectibles on a private blockchain.

Key Lessons:

  • Blockchain basics
  • Managing blockchain transactions
  • Bitcoin Core Testnet
  • Blockchain data
  • Private blockchains
  • Digital assets on the blockchain

Section 2: Ethereum Smart Contracts, Tokens and Dapps

Advance your blockchain skillset to the second generation of blockchain services with smart contracts utilizing the Ethereum network.

With Project 2, your focus moves from Bitcoin to Ethereum blockchain. You’ll begin by building a decentralized app (Dapp) that allows you to create, sell, and transfer ownership of unique star token (CryptoStar) on the Ethereum blockchain using smart contracts and the non-fungible (ERC721) token standard. This service is designed to demonstrate how to claim and transfer ownership of unique digital asset ( e.g. document, deed, agreement, media, etc.) on Ethereum blockchain.

You’ll build the back-end infrastructure for the CryptoStar with a pre-developed front end. This will enable you to render the service on any modern web clients.

Key Lessons:

  • Ethereum fundamentals and development tools
  • Smart contracts with solidity
  • Ethereum Dapps

Section 3: Blockchain Architecture

Learn blockchain architecture and advanced concepts such as privacy, security and decentralized file management.

By the completion of Project 2, you’ll have learned the importance of Proof of Existence, which is used to verify whether a digital asset is authentic and can be trusted. In this project, you’ll scale up to architect a solution that verifies authenticity for a product when multiple actors are involved.

You’ll build a supply chain system on Ethereum blockchain that allows users to verify the authenticity of an item as it passes through different hands. You will architect a Dapp (Decentralized Application) authenticity management system backed by the Ethereum platform. To do so, you’ll scope out the needs of the various actors in the supply chain and create smart contracts that help track product origination and verify product authenticity. You’ll then tie this all together with a simple front-end that allows users to manage the product life-cycle as the product moves through the supply chain.

Key Lessons:

  • Planning blockchain solutions
  • Privacy
  • Security & maintenance
  • Distributed file system

Section 4: Dapp with autonomous smart contracts and oracles

Advance your blockchain skill set by developing a decentralized application (Dapp) that will perform actions based on external triggers, and handle payments.

In the real-world, many smart contracts perform actions based on external triggers. These triggers can be caused by our actions, or by data received from outside sources using what are known as “oracles.” To make real-world decentralized applications, smart contracts need to respond autonomously to these triggers, thereby making these applications more interactive. In this project, you'll build a decentralized application for a use case in which you have airlines that offer flight delay insurance, and passengers who carry this insurance, and who get paid in the event their flight is delayed. You’ll build multiple smart contracts which are autonomously triggered by external sources, and which handle payments based on flight delay scenarios.

Key Lessons:

  • Multiparty control and payments with smart contracts
  • Oracles
  • Handling smart contract payments

Section 5: Capstone

For your capstone project, you’ll use all the new skills you’ve acquired to build decentralized property listing application.

Here, you’ll use all the new skills you’ve acquired to build decentralized property listing application.

In this project, you will represent your ownership of the property using ZK-SNARKs and then mint tokens to represent your claim to the property. You will then make these tokens available for sale on blockchain marketplace.

Key Lessons:

  • ZK-SNARKs
  • Zokarates framework

image