Need for Distributed Record-Keeping, distributed ledger technology, Modeling faults and adversaries, Byzantine Generals problem, Nakamoto’s concept with Blockchain-based cryptocurrency, Transaction: – syntax, structure and validation, Blocks- Structure, Genesis block, and Merkle tree. Mining: -target, hash rates, Consensus mechanisms, forking. Byzantine fault-tolerant distributed computing, coins, wallets, Bitcoin scripting language.
Ethereum smart contract architecture, contract transactions, comparing Bitcoin scripting vs. Ethereum Smart Contracts, Remix IDE, Solidity: – variables, data types, addresses and balances, strings in Solidity, global Msg-Object, mapping, structure, array, require, assert revert, constructor, fallback functions, View/Pure Getter functions. modifier, inheritance, importing of Files, events and return variables, ABI array, debugging libraries .
DApps architecture, blockchain server, Truffle suite: setup and test cases, Web3 SDK, Web3 provider, Ganache, MetaMask integration with web3, channel concept and micropayment channel, web interface for DApps, Deployment to public testnet and mainnet, Network ID, Infura API, private Blockchain, Go-Ethereum, Type of DApps, Oracles, Ethereum improvement proposal(EIP) framework, standard ERC 20 for token Dapps, ERC 721 for non-fungible tokens.
Hyperledger fabric, the plug and play platform and mechanisms in permissioned blockchain Privacy,
Textbooks / References:
- Ramamurthy, Bina. Blockchain in action. Manning Publications, 2020.
- https://web3js.readthedocs.io/en/v1.7.3/
- Merunas Grincalaitis, “Mastering Ethereum: Implement Advanced Blockchain Applications Using Ethereum-supported Tools, Services, and Protocols”, Packt Publishing.