Go+区块链
课程大纲
BlockchainSyllabus
课程竞争优势
清华微软名师精心打造课程,历时半年研发的独一无二的体系化课程;
率先引入Go语言分布式集群开发。
率先打造区块链前端+后端一站式开发。
率先引入山寨比特币、分叉以太坊、深入EOS源码分析。
率先从0到1打造与CryptoKitties交互的以太坊DAPP。
率先使用Ripple协议实现区块链拍卖系统底层设计。
课程照顾了没有编程基础的小白,从基础讲起,循序渐进,达到企业实战水平;
丰富的实战项目、企业项目;
全程老师跟班,把握学生学习进度,即时互动;
清华微软名师授课,言传身教,不仅传授知识,更传授人生经验、职场经验,综合提高学员未来职场竞争力
课程大纲
第一阶段:区块链行业及Go编程5周
Go语言基础:
1.1初识Go语言
1.2开发环境搭建
1.3基础语法
1.4数据类型
1.5变量与常量
1.6运算符
1.7数据类型转换
1.8流程控制
1.9工程管理
1.10函数
1.11数组、指针与结构体
1.12面向对象编程
1.13异常处理
1.14文本文件处理
1.15开发实战:Go语言GUI图形编程:黑白棋游戏
并发编程
2.1Linux命令
2.2linux开发与调试工具
2.3linux文件、系统I/O操作
2.4进程与IPC通信
2.5线程与同步
2.6并发编程基础
2.7Goroutine协程与调度器
2.8Channel管道与CSP同步机制
2.9实战——载荷发生器
2.10互斥量、原子变量、死锁、Sync包
2.11条件变量实现生产消费者模型
2.12线程同步解决哲学家就餐问题
2.13WaitGroup
2.14临时对象池
2.15开发实战——ConcurrentMap
网络编程与web服务器开发
3.1关系型数据库-Mysql
3.2No-sql缓存型数据库-Redis
3.3分布式文件系统FastDFS
3.4前端开发:Html、Css、Javascript、Jquery
3.5Socket编程
3.6Http编程
3.7RPC编程
3.8Beego框架
3.9ES6
3.10React
3.11Flux
3.12Redux
3.13Docker与ElasticSearch入门
Go语言编程实战
4.1Go语言实现高并发聊天室
4.2分布式多任务豆瓣电影爬虫
4.3Go语言实现轻量级区块链
区块链预备
5.1区块链设计理念与发展历史
5.2玩转比特币、以太坊钱包
5.3比特币、以太坊、EOS、超级账本环境搭建与HelloWorld
5.4分布式系统介绍
5.5最终项目展示
第二阶段:密码学与共识算法2周
密码学
6.1对称加密
6.2非对称加密
6.3DES
6.4分组密码
6.5公钥密码学
6.6HASH
6.7MD5
6.8RSA密码体制
6.9椭圆曲线签名算法(ECDSA)
6.10SHA256
6.11Ripemd130
6.12数字签名
6.13PKI体系
6.15零知识证明
共识算法
7.1POW
7.2POS
7.3DPOS
7.4PBFT
7.5Raft
7.6Paxos
第三阶段:以太坊源码解析与开发3周
以太坊源码概览
8.1Go-ethereum代码阅读环境搭建
8.2Rlp源码解析
8.3Ethdb源码分析
8.4Rpc源码分析
8.5P2P源码分析
8.6Eth协议源码分析
以太坊核心源码分析
9.1区块链索引Chain_indexer源码分析
9.2布隆过滤器索引Bloombits源码分析
9.3以太坊的Trie树管理回滚等操作State源码分析
9.4交易执行和处理部分源码分析
9.5VM虚拟机源码分析
9.6虚拟机堆栈和内存数据结构分析
9.7虚拟机指令,跳转表,解释器源码分析
9.8待确认交易池的管理TxPool
9.9创世区块的源码分析
9.10BlockChain源码分析
9.11Miner挖矿部分源码分析CPU挖矿
9.12以太坊测试网络Clique_PoA介绍
以太坊DAPP开发基础
9.1Solidity开发环境搭建
9.2Solidity面向对象编程
9.3Solidity数据类型
9.4Solidity数组、枚举、字典、元祖与结构体
9.4Solidity地址与映射、全局单位、转账
9.5Solidity权限、函数修饰符、事件
9.6Lib库的使用、OpenZeppelin库、Ownable库、SafeMath库
9.7ERC20、ERC721接口
9.8私有链搭建、节点连接
9.9联盟链搭建
9.10Truffle、Web.js框架
实现一个可管理、增发、兑换、冻结等高级功能的代币
10.7代币管理
10.8代币增发
10.9代币兑换
10.10资产冻结
10.11Gas自动补充
通过以太坊智能合约来进行众筹(ICO)
10.12众筹
10.13代币
10.14众筹智能合约
10.15部署
10.16扩展
IPFS+区块链
10.17IPFS环境配置
10.18IPFS+IPNS+个人博客搭建
10.19IPFS与以太坊网络交互、数据上传与下载
10.20Embark框架
从0-1开发以太坊Dapp应用:CryptoZombie僵尸工厂
11.1搭建僵尸工厂
11.2僵尸的生成、僵尸与CryptoKitties迷恋猫合约交互
11.3僵尸作战系统
11.4重构代码、权限设定与节约Gas
11.5CEO转账与体现
11.6使用SafeMath与Ownerable库
11.7实现ERC721标准的僵尸代币
11.8前端实战Vue框架、jquery框架、导入Web3.js
11.9Web3Provider:Infura与Metamask
11.10前端与合约交互
11.11监听事件
11.12部署合约与前端展现
第四阶段:超级账本与Node.js2周
Node.js基础
12.1安装配置
12.2创建第一个应用
12.3NPM使用介绍
12.4REPL
12.5回调函数
12.6事件循环
12.7EventEmitter
12.8Buffer
12.9Stream
12.10模块系统
12.11函数
12.12路由
12.13全局对象
12.14常用工具
12.15文件系统
12.16GET/POST请求
12.17工具模块
12.18Web模块
12.19Express框架
12.20RESTfulAPI
12.21多进程
12.22JXcore打包
12.23MongoDB+mongoose
12.24Npm+Node基础+Http+服务器实例
12.25Ajax+Express+Koa6
12.26ECMA+DOM+BOM
12.27Git基础
超级账本Fabric部署
13.1Hyperledger Fabric环境搭建
13.2使用Docker镜像安装
13.3Docker数据管理、网络管理、集群管理
13.4Kubernetes集群与部署
13.5ChainCode概念及使用
13.6多通道使用
超级账本Fabric配置管理
13.7Peer配置
13.8Orderer配置
13.9Cryptogen生成组织身份配置
13.10Configtxgen生成通道配置
13.11Configtxlator转换配置
13.12超级账本FabricCA应用与配置
超级账本Fabric架构设计
13.13整体架构
13.14网络层相关组建
13.15共识相关组建
13.16权限管理相关组建
13.17业务层相关组建
13.18GRPC消息协议
13.19权限管理和策略
13.20用户链码
13.21系统链码
13.22排序服务
超级账本Fabric资产管理项目实战与网络部署
14.1清空Docker缓存、
14.2创建Channel
14.3peer加入到Channel中
14.4设置每个组织中的锚点Peer
14.5Go语言编写核心Chaincode链上代码
14.6安装Chaincode
14.7初始化Chaincode
14.8与链上代码交互实现增删查改
14.9Node.js交互
第五阶段:比特币&EOS4周
C++面向对象编程
15.1抽象,封装,继承,多态
15.2泛型编程(模板)
15.3STL库(容器、迭代器、算法)
15.4Boost库(信号、线程、同步、绑定、时间、测试模块)
15.5QT库(信号机制、界面设计)
15.6OpenSSL库
EOS开发基础
16.1EOS智能合约
16.2HPP
16.3CPP
16.4WAST
16.5ABI
16.6货币合约
16.7Tie-Tac-Toe
16.8EOS合约实践
16.9EOS合约升级
16.10EOS合约调试
比特币源码解析
17.1比特币设计理念
-比特币内涵
-比特币的价值
-数字签名与多重签名
-独特交易设计模式及其优势
-区块:如何解决攻击和交易的时间顺序
-分叉
-比特币的双花攻击
-51%攻击
-挖矿与矿池
-比特币难度
-比特币扩容
17.2比特币源码分析
-架构
-地址生成、编码与解码(椭圆曲线与Base58编码)
-交易结构、创建、传播、整合(CTransaction)
-交易池(CTxMemPool)
-脚本(P2PKH、P2PK、P2SH)
-区块构建、效验、组装与选择(CBlock、CBlockHeader)
-难度计算与调整(difficulty)
-POW共识算法(Consensus)
-分叉检测
-merkletree
-SPV与bloom过滤
-JSON-RPC接口
-挖矿(minner)
-网络节点发现、连接、广播与异常处理
比特币源码实战
18.1源码编译
18.2界面修改
18.3内核修改
18.4实现自己的加密货币
第六阶段:项目综合性实战
Ripple技术实战
ChainSQL技术实战
Corda技术实战
电子货币实现
去中介化租房系统
C#编程小蚁
Neo数字化资产
微软云区块链服务
华为区块链服务
IBMBlueix区块链
钱包开发与交易所设计
Go语言实现加密货币
GO语言实现共识算法
公链底层点对点协议
ONT项目
NEM区块链开发实战
其他:
矿池矿机
分叉变种
发币/ICO
Token开发部署
Coin开发部署
Go语言编写以太坊智能合约
Go语言爬虫项目截图
项目简介:
实现单任务爬虫
实现多任务爬虫
实现分布式大数据集群爬虫
使用Docker、Beego、Redis、Mysql、Jsonrpc、ElasticSearch
第一阶段:单任务爬虫+深度优先搜索+Redis过滤爬取网站
Beego框架+Mysql实现ERP信息系统
Beego框架+Mysql实现相册管理系统
第二阶段:Beego框架+正则+Mysql实现多任务式爬虫数据存储:
第三阶段:
分布式爬虫集群实战Docker+Jsonrpc+集群连接
Go语言实现区块链
项目简介:
区块与区块链架构设计
工作量证明机制
数据库存储及命令行交互
交易、交易机制与交易池
地址加密与数字签名
MerkleTree
P2P节点发现、连接与错误处理
项目一览:
去中心化报名系统:
项目介绍:
React.js网页开发
Firebase数据库资料存储
报名系统智能合约
Eth.js与MetaMask交互
押金制与非押金制合约的拓展
押金制:
押金制智能合约架构:
合约一览:
前端展示:
以太坊Dapp截图
项目介绍:
从0到1实现并重构CryptoKitties项目
实现与CryptoKitties交互的骷髅工厂
ERC721代币标准
代码优化节约gas
前端vue框架
web3j与以太坊网络交互
僵尸工厂项目一览:
山寨比特币:
实现尹成钱包
内核修改(困难度、端口、奖励、种子、网络)
挖取创世区块
挖矿完整实现
分叉以太坊:
Go-ethereum内核修改(奖励、Jsonrpc与节点发现、种子节点)
硬编码自定义创世区块
Miner挖矿
修改以太坊钱包
修改奖励机制:
修改端口:
挖矿后,尹成钱包托管:
以太坊众筹(ICO)
IPFS+区块链
Js-ipfs-api交互
Ipfs大文件图片视频存储实战
整合EmbarkFramework
Ipfs与以太坊网络的信息交互Dapp实战
超级账本项目
项目简介:
超级账本Fabric网络搭建与部署、通道创建、节点连接
Go语言编写、部署核心Chaincode链上代码
Go语言与Chaincode交互
Node.js编写、与Chaincode交互
资产管理项目实战:
Node.js交互
Go语言ChainCode开发
ChainCode部署网络、底层查询
区块链拍卖系统底层设计
项目简介:
区块链底层架构设计
基于RPCA共识算法
基于Ripple协议
JSON-RPCAPI交互
WebSocketAPI交互
综合性实战
Ripple技术实战
ChainSQL技术实战
Corda技术实战
电子货币实现
去中介化租房系统
C#编程小蚁
区块链分布式应用集群系统
Neo数字化资产
微软云区块链服务
华为区块链服务
IBMBlueix区块链
钱包开发与交易所设计
Go语言实现加密货币
GO语言实现共识算法
公链底层点对点协议
ONT项目
NEM区块链开发实战
其他:
矿池矿机
分叉变种
发币/ICO
Token开发部署
coin开发部署
核心服务指标
以在线的形式参加线上班及线上班配套的辅导答疑服务;
以现场面对面的形式参加线下班及课后辅导答疑服务;
不定期的全方位访谈,实时关注学员学习动态;
7*12小时在线答疑
提供推荐就业和就业指导服务
针对学员
适合有加薪、跳槽、在职提升技术需求的同学,如:
零基础,想进入区块链行业,从事区块链相关工作的在校大学生、在职人员等
具备计算机相关知识,打算谋求一份区块链工作的社会人群
想深入学习区块链技术的软件研发或架构师等IT从业人员
具备一定程度的软件开发经验,希望通过区块链学习拓宽视野并将理论快速融入实际工作中的研发工程师
具备区块链相关知识
培养目标
区块链工程师
区块链研究员
区块链开发工程师
区块链研发工程师
区块链底层开发工程师
有疑问加站长微信联系(非本文作者))