go+ Blockchain Course Outline Blockchainsyllabus course Competitive Advantage Tsinghua University, Microsoft teacher carefully build courses, lasted half a year to develop a unique system of courses, the first to introduce the Go language distributed cluster development. First to create blockchain front-end + back-end one-stop development. The first to introduce the cottage Bitcoin, fork ethereum, in-depth EOS source analysis. First from 0 to 1 to build an ethereum dapp that interacts with cryptokitties. The first use of ripple protocol to implement the blockchain auction system underlying design. Curriculum to take care of the lack of programming based on the small white, starting from the basics, gradually, to achieve the level of enterprise combat, a wealth of practical projects, enterprise projects, the whole teacher valet, grasp the students learning progress, instant interaction; Tsinghua Microsoft teachers teach, teach and teach, not only impart knowledge, but also impart life experience, workplace experience, Comprehensive improvement of students ' future career competitiveness The first stage: Blockchain industry and go programming 5 weeks Go Language Basics: 1.1 First knowledge Go language 1.2 development environment build 1.3 basic syntax 1.4 data type 1.5 variable with constant 1.6 operator 1.7 data type conversion 1.8 stream Process Control 1.9 Project Management 1.10 function 1.11 Array, pointer and struct 1.12 object-oriented Programming 1.13 exception handling 1.14 text file processing 1.15 Development combat: Go language GUI Graphics programming: Othello game concurrent Programming 2.1Linux command 2.2li Nux Development and Debugging Tools 2.3linux file, System I/O operation 2.4 process with IPC communication 2.5 thread with synchronization 2.6 Concurrent Programming Foundation 2.7Goroutine coprocessor and Scheduler 2.8Channel pipeline and CSP synchronization mechanism 2.9 combat--load generator 2.10 Mutex, atom variable, deadlock, Sync Pack 2.11 Item variable Realization production consumer model 2.12 thread synchronization solve the problem of dining philosophers 2.13WaitGroup 2.14 Temporary Object Pool 2.15 Development Combat--CONCURRENTMAP Network programming and Web services Development of 3.1 relational database-mysql 3.2no-sql cache database-redis 3.3 Distributed File system Fastdfs 3.4 front-end development: Html, Css, Javascript, Jquery 3.5Socket programming 3.6Http programming 3.7RPC Programming 3.8Beego frame 3.9es6 3.10React 3.11Flux 3.12Redux 3.13DockerGet started with Elasticsearch go language programming 4.1Go language implementation high concurrency chat room 4.2 Distributed multitasking watercress movie crawler 4.3Go language implementation lightweight Blockchain blockchain 5.1 blockchain design concept and development history 5.2 play Bitcoin, Ethereum wallet 5.3 Bitcoin, Ethereum, EOS, Super Ledger environment construction and HelloWorld 5.4 Distributed System Introduction 5.5 final Project Presentation Phase II: Cryptography and Consensus algorithm 2-Week cryptography 6.1 symmetric Encryption 6.2 Asymmetric encryption 6.3DES 6.4 block cipher 6.5 public Key cryptography 6.6HASH 6.7md5 6.8RSA cryptosystem 6.9 Elliptic curve Signature Algorithm (ECDSA) 6.10sha256 6.11ripemd130 6.12 Digital Signature 6.13PKI system 6.15 0 knowledge proof consensus algorithm 7.1POW 7.2POS 7.3DPOS 7.4PBFT 7.5Raft 7.6Paxos Phase III: Ethereum source code Analysis and development 3 weeks Ethereum Source Overview 8.1go-ethereum code reading Environment Building 8.2RLP Source resolution 8.3ETHDB Source points Analysis of 8.4RPC source code 8.5p2p Source Analysis 8.6Eth Protocol source Analysis Ethereum Core Source Analysis 9.1 Blockchain index chain_indexer Source Analysis 9.2 Filter Index bloombits source analysis 9.3 ethereum trie tree management rollback, etc. For the state source code Analysis 9.4 Transaction execution and processing part of the source code Analysis 9.5VM Virtual Machine source code Analysis 9.6 virtual machine stack and memory data structure Analysis 9.7 Virtual machine instruction, jump table, interpreter source code Analysis 9.8 to confirm the management of the trading pool Txpool 9.9 Gen Block Source Analysis 9.1 0BlockChain Source Analysis 9.11Miner Mining part of the source analysis CPU mining 9.12 ethereum Test Network CLIQUE_POA Introduction Ethereum DAPP Development Foundation 9.1Solidity development Environment Set 9.2Solidity object-oriented programming 9.3So Lidity data Types 9.4Solidity arrays, enumerations, dictionaries, Ganso and structs 9.4Solidity addresses and mappings, global units, transfer 9.5Solidity permissions, function modifiers, event 9.6Lib library usage, Openzeppelin library, Ownable Library, Safemath library 9.7ERC20, ERC721 interface 9.8 Private chain construction, node connection 9.9 Alliance chain Build 9.10Truffle, web.js framework to achieve a management, additional, exchange, freeze and other advanced functions of the token 10.7 Token Management 10.8 Tokens additional 10.9 tokens Exchange 10.10 Asset freeze 10.11Gas Auto-replenishment via Ethereum Smart contract crowdfunding (ICO) 10.12 crowdfunding 10.13 tokens 10.14 crowdfunding smart Contracts 10.15 Deployment 10.16 Extended ipfs+ Blockchain 10.17IPFS environment configuration 10.18IPFS+IPN S+ personal Blog Building 10.19IPFS and Ethereum network interaction, data upload and download 10.20Embark framework from 0-1 Development Ethereum DAPP application: Cryptozombie Zombie Factory 11.1 build Zombie factory 11.2 zombie Spawn, Zombie vs cryptokitties Fetish cat contract Interaction 11.3 Zombie Combat System 11.4 Refactoring code, permission setting and save gas 11.5CEO transfer and embodiment 11.6 zombie tokens using Safemath and ownerable Library 11.7 to achieve ERC721 standards 11 .8 Front-end combat vue frame, jquery frame, import web3.js 11.9web3provider:infura and Metamask 11.10 Front end and contract interaction 11.11 monitoring Events 11.12 deployment contract and front end presentation Phase IV: Super Ledger with Node.js2 node. JS Base 12.1 Installation Configuration 12.2 Create first app 12.3NPM use introduction 12.4REPL 12.5 callback function 12.6 Event loop 12.7EventEmitter 12.8Bu Ffer 12.9Stream 12.10 Module system 12.11 function 12.12 route 12.13 Global Object 12.14 Common tool 12.15 File system 12.16get/post request 12.17 Tool module 12.18WEB Module 12 .19Express Framework 12.20RESTfulAPI 12.21 Multi-process 12.22JXcore packaging 12.23mongodb+mongoose 12.24npm+node base +http+ Server instance 12.25ajax+expre Ss+koa6 12.26ecma+dom+bom 12.27Git Basic Super Ledger Fabric deployment 13.1hyperledger fabric Environment 13.2 Using Docker image to install 13.3Docker Data management, network management, cluster management 13.4Kubernetes clustering and deployment 13.5ChainCode concepts and use 13 .6 multichannel using Super Ledger fabric configuration Management 13.7Peer Configuration 13.8Orderer configuration 13.9Cryptogen build organization identity configuration 13.10Configtxgen build channel configuration 13.11Configtxlator transform configuration 13.12 Super Ledger Fabricca application and configuration Super Ledger fabric architecture Design 13.13 Overall architecture 13.14 Network layer related build 13.15 consensus related build 13.16 Rights Management related build 13.17 business layer related build 13.18GRPC message protocol 13.19 Rights Management and policy 13.20 User link Code 13.21 System Link Code 13.22 Sort service Super Ledger Fabric Asset Management project actual combat and network deployment 14.1 Emptying the Docker cache, 14.2 creating channel 14.3peer join to Channe L in 14.4 set anchor points in each organization peer 14.5Go language writing core Chaincode chain Code 14.6 installation Chaincode 14.7 initialization Chaincode 14.8 interaction with the code on the chain to implement additions and deletions change 14.9node.js interaction V Phase: Bitcoin &eos4 week C + + object-oriented Programming 15.1 abstraction, encapsulation, inheritance, polymorphic 15.2 generic Programming (template) 15.3STL Library (container, iterator, algorithm) 15.4Boost library (signal, thread, sync, bind, time, test module) 15.5QT Library ( Signal mechanism, interface design) 15.6OpenSSL Library EOS Development Foundation 16.1EOS Smart Contract 16.2HPP 16.3CPP 16.4WAST 16.5ABI 16.6 currency contract 16.7tie-tac-toe 16.8EOS contract Real 16.9EOS contract Upgrade 16.10EOS contract debug Bitcoin source code parsing 17.1 Bitcoin concept-Bitcoin connotation-Bitcoin value-digital signature and multi-signature-Unique transaction design mode and its advantages-block: How to solve the attack and trade time order-fork- Bitcoin dual-flower attack-51% attack-mining and mining pools -Bitcoin difficulty-Bitcoin expansion 17.2 bitcoin source code Analysis-architecture-address generation, encoding and decoding (elliptic curve and BASE58 encoding)-transaction structure, creation, propagation, integration (ctransaction)-Trading Pool (Ctxmempool)-Script (P2pkh, P 2PK, P2sh)-block construction, validation, assembly and selection (Cblock, Cblockheader)-Difficulty calculation and adjustment (difficulty)-pow consensus algorithm (Consensus)-fork detection-MERKLETREE-SPV and Bloom Filter-JSON-RPC Interface-mining (minner)-Network node discovery, connection, broadcast and exception handling Bitcoin source code combat 18.1 Source code compilation 18.2 Interface modification 18.3 Kernel modification 18.4 Implementation of their own cryptocurrency sixth phase: Project Comprehensive combat RIPPL E Technical Combat Chainsql Technology actual combat Corda technology actual combat electronic money to achieve the intermediary rental system C # programming small ant Neo Digital assets Microsoft cloud Blockchain services Blockchain services Ibmblueix blockchain wallet development and exchange design go language implementation encrypt goods Currency Go language Implementation consensus algorithm ont project nem blockchain development in the field other: Mine pool ore machine Fork variant coin/ico token development Deployment Coin Development Deployment Go language Authoring Ethereum Smart contract Go Language crawler Project Introduction: Realization of multi-task crawler with single task crawler realizing distributed big Data swarm crawler using Docker, Beego, Redis, Mysql, Jsonrpc, ElasticSearch First stage: Single task crawler + depth First search +redis filter crawl site Beego frame +MYSQL realization of ERP Information System Beego Framework +mysql Realization Album Management system the second stage: Beego framework + regular +mysql to realize multi-task crawler data storage: The third stage: Distributed crawler cluster actual combat docker+jsonrpc+ Cluster Connection Go Language Blockchain Project Introduction: Block and Blockchain architecture design workload proof mechanism database storage and command line interactive trading, trading mechanism and transaction pool address encryption and digital signature Merkletree peer-to-peer discovery, connection, and error handling projects at a glance: Centralized registration system: Project Description: React.js Web Development Firebase Database ResourcesStorage Registration System Smart Contract eth.js and Metamask Interactive deposit system and non-deposit contract Development Deposit System: Deposit System Intelligent Contract Structure: contract at a glance: Ethereum Dapp Project Description: from 0 to 1 implement and refactor Cryptokitties project Skeleton Factory with cryptokitties interaction ERC721 token Standard Code optimization save gas front vue frame web3j and Ethereum Network Interactive Zombie Factory Project list: Shanzhai bitcoin: Realizing Yin Cheng wallet kernel modification (difficulty, port, reward, seed, network) Digging and digging in the creation block complete fork Ethereum: Go-ethereum kernel modification (reward, JSONRPC and node discovery, seed node) hard-coded custom Genesis block Miner Mining modification Ethereum Wallet Modify reward mechanism: Modify port: After mining, Yin Cheng Wallet Escrow: Ethereum crowdfunding (ICO) ipfs+ blockchain js-ipfs-api Interactive IPFs large file image video storage combat integration Embarkframework IPFs and Ethereum Network information interaction Dapp Combat Super Ledger Project Introduction: Super Ledger Fabric Network setup and deployment, channel creation, node connection go language authoring, deployment core Chaincode link code go language and chaincode Interactive node. JS authoring, interacting with Chaincode Asset Management Project Combat: node. JS Interactive Go Language Chaincode Development of Chaincode Deployment network, underlying query blockchain auction system bottom-level design project introduction: Blockchain underlying architecture design based on RPCA consensus algorithm based on Ripple protocol JSON-RPCAPI Interactive WEBSOCKETAPI Interactive comprehensive combat Rippl E Technical Combat Chainsql Technology actual combat Corda technology actual combat electronic money to achieve the intermediary rental system C # programming small ant Blockchain Distributed Application cluster system NEO Digital assets Microsoft cloud Blockchain services Blockchain services Ibmblueix blockchain wallet development and transaction Design go language implementation of Crypto money go language implementation of consensus algorithm ont project nem blockchain development in other areas: mine Pool mining machine Fork variant coin/ico token development Deployment Coin Development Deployment Core Service metrics participate online in line Counseling and answering service for work and on-line work; to face the sceneIn the form of line-off and after-school counseling and answering service; irregular full-time interviews, to pay close attention to learners ' learning dynamics; 7*12 hours Online FAQ provides recommended employment and employment guidance for students who have a pay rise, job-hopping, on-the-job technology needs, such as: 0 basis, want to enter the blockchain industry, engaged in blockchain related Students in school, in-service staff and other computer-related knowledge, to seek a blockchain work of the community to learn more about Blockchain technology software development or architects and other it practitioners have a certain degree of software development experience, We hope to broaden our horizons through blockchain learning and integrate the theory quickly into the practical work of research and development engineers with blockchain-related knowledge development target blockchain engineer blockchain researcher Blockchain Development engineer Blockchain development engineer block chain development Engineer 232 reads
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.