
Blockchain Revolution
- Blockchain Intro
- Why Blockchain?
- Influence of Blockchain
- Blockchain Overview
Message Signature
- Sign and Verify a Message
- Generate Private Public Keys using a Wallet Address
- Sign a Message
- Verify a Message Signature
Bitcoin Core Testnet
- Bitcoin Core
- Networks
- Mainnet vs Testnet
- Testnet vs Regression
- Testing
- Data Warnings and
- Bitcoin.config Setup
- Wallet Overview
- Network Demonstration
- Get Testnet Coins
- Testnet Wallet Transactions
- Block Explorer
Blockchain Identity
- Blockchain Fundamentals
- Financial Transactions
- Introduction to Bitcoin
- Hashing
- Practice Hashing
- Blocks
- Distributed Peer-to-Peer
- Network
- Memory Pool
- Consensus
- Proof of Work
- Proof of Stake
- Delegated Byzantine Fault Tolerance
Bitcoin Debug Console
- Terminal Overview
- Debug Console
- Blockchain Commands
- Hash Commands
- Block Commands
- Wallet Commands
- Mempool Commands
- Transaction Commands
- Signature Commands
- Network Commands
- Mining Commands
- Bitcoin-CLI
Blockchain Data
- Blockchain as a Dataset
- Blockchain vs Traditional Databases
- Blockchain Types
- P2P Network vs Client-
- Server Model
- Explore Blockchain Data
- Explore Bitcoin’s Codebase
- BIPs and Forks
Blockchain Data
- Blockchain Data Models Overview
- Transactions – Inputs and Outputs
- Transaction Data Models
Bitcoin Scripts - Opcodes
- Attributes of Script
- Raw Transaction Review
- Create Raw Transaction
- Create a Transaction
- Embedding Data in Transactions
- Embedding Data in Bitcoin Core
- Ethics of Embedding Data
Private Blockchains
- Public and Private Blockchains
- Build a Simple Private Blockchain
- Working with Your Workspace
- Block Data Model
- Create New Blocks
- Store Blocks
- Link Blocks
- Block Height and Timestamp
- LevelDB to Persist Data
- Practice LevelDB and
- Promises
Blockchain Web Services
- What’s a Web Service?
- Web Service with Blockchain Considerations
- Planning Web Services with
- Our Private Blockchain
- Web Services with Node.js
- Node.js Intro, Setup, Components
- Node.js Client and Server Features
- Practice Client-Server Features
- Mock Data Set
- Testing endpoints
Web Services with Node.js
- RESTful APIs with Node.js Frameworks
- Express.js
- Practice Express.js
- Hapi.js
- Practice Hapi.js
- Sails.js
- Third-Party Libraries with Bitcoin Core
- Security – Third-Party Libraries and MultiSig
Digital Assets
- Digital Assets
- Encode and Decode Basics
- Encode and Decode from Terminal
- Encode and Decode with Node.js
- Proof of Existence
- Securing Assets Using Your Digital Identity
- Blockchain Generations
- Build a Private Blockchain Notary Service
Identity and Smart Contracts
- Introduction to Ethereum
- Ethereum Tools and Community
- Introduction to DApps
- Ethereum Network Connection
- Investigate Ethereum Accounts
- Create a Local Blockchain
- Connect to Your Local
- Ethereum Blockchains
- Ethereum Transactions
- Gas and Fees
Solidity and Creating a Token
- Smart Contracts and Solidity Introduction
- Remix Online Tool
- Memory Management in Solidity
- Elementary Data Types in Solidity
- Type Conversion in Solidity
- Complex Data Types
- Arrays, String and Bytes Types
- Mappings, Enums, Structs
- Solidity Global Variables and Ether Units
- Functions in Solidity
- Error Handling in Solidity
- Inheritance in Solidity
- Events in Solidity
- What are Tokens?
- ERC Token Standards
- Creating ERC-20 using Remix
- Creating ERC-20 using OpenZeppelin
Smart Contracts and Solidity
- Smart Contracts
- Solidity Introduction
- Identity & Smart Contracts
- Building a Star Notary Service
- Deploying Smart Contract – Ganache
- Deploying Smart Contract Review
- Interact with a Smart
- Contract from a Webpage
- Using Events from a Smart Contract
Tooling for Smart Contracts
- MetaMask Introduction
- Unit tests in Javascript and Solidity with Truffle
- Star Notary as ERC-721
- Transform Star Notary into a Non-Fungible Token
- Getting Started with Infura
Decentralized Star Notary
- Write a smart contract
- Test smart contract code coverage
- Deploy smart contract on a public test network
- Modify client code to
- interact with smart contract