Skip to content

myhon/BlockChain

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

黑马程序员 120天全栈区块链开发

写在前面

据说2018年谈区块链的10个人中有9个都是骗子, 一些机构自己都没搞懂区块链是什么, 就打着区块链的噱头招生了

讲解几个helloworld程序就说是区块链开发了

区块链是综合性的技术栈, 单单掌握一门语言肯定是不够的. 为了防止劣币驱逐良币, 为了区块链技术在国内快速的普及, 为了千万人少走弯路, 传智播客智能物联网+区块链学院决定github开源全套就业班课程.

欢迎大家star.

开源目的

  1. 课程历时两年课程研发, 所有区块链框架均用最新版本授课, 全力推动新技术在中国的普及
  2. 深入浅出讲解, 用短的学习曲线让Java程序员和JavaScript程序员快速掌握区块链技术
  3. 普及区块链知识, 帮助各公司CTO理解区块链的业务场景
  4. 课程包含超多案例分析, 帮助企业和政府采用区块链技术解决痛点问题
  5. 学完课程后,可以独立完成区块链项目的设计和开发
  6. 学完课程后,可以满足公司对区块链开发工程师的要求, 解决社会人才供不应求的问题

课程服务

  1. 开源课程全部免费, 随着传智播客面授班级授课周期, 同步开源更新
  2. 但因区块链技术变化日新月异, 课程中部分工具和方法可能会随着版本的更新失效, 关于课程讲解若有更好的方式, 欢迎pull request.
  3. 没有毅力 自主学完全套课程的朋友, 可以报名传智播客 黑马程序员 智能物联网+区块链就业班

课程课表

  • 第一周: java加强/kotlin/dsl/函数式编程/gradle/git/高阶函数/lambda表达式

    • 课程设计背景: kotlin是一个非常具有潜力和启发性的编程语言,100%与Java兼容, 安卓开发谷歌官方指定语言,它吸收和借鉴了Java, Scala, Groovy, C#,Go,JavaScript等语言的优点和特性,可以让大家脱离语言层面的纷争,把目光投向具体的业务. 目前区块链金融和银行领域的解决方案corda就是采用kotlin编写.掌握kotlin语言有助于帮助程序员用极小的成本理解和学习其他编程语言.

    • 课程选型原因: 区块链开发需要掌握 JavaScrpit,nodejs,npm,JavaEE,gradle,git,分布式,solidity,hyperledger等多种技能,学习kotlin有助于这些技术的理解和学习.

    • 课程学习的目标: 1.熟悉Kotlin和Java的语言特性; 2.深入的理解抽象和封装; 3.掌握函数式编程思想; 4.掌握高阶函数、闭包、DSL; 5.理解线程和协程,熟练使用项目构建工具gradle; 6.理解版本控制; 7.熟练使用git管理整个就业班阶段的源码和课程笔记; 8.为未来可持续性的发展打下坚实的基础.

    • 课程学习说明: 每一个程序员都应该好好听一下这一段课程

    • 课程开源时间:

      2018年5月13日

  • 第二周:区块链前端开发基础

    • 课程设计背景: 去中心化Dapp的页面开发还是基于传统的Web2.0的技术,html/css/javascript是整个互联网页面的基石,学好他们打好基础非常的重要.

    • 课程选型原因: 课程讲解实用的html/javascript/css技术,为实际项目开发做准备.

    • 课程学习的目标: 1.熟练使用JavaScrpit/html/css构建网页; 2.熟练掌握前端各种技能,培养解决复杂问题和技术难点的能力; 3.增强学员的调试技能和组件开发能力; 4.能够实现功能的同时,考虑代码的优雅性,注重代码的性能和重用性; 5.深入理解前端框架实现原理; 6.能用kotlin开发和包装通用的前端组件.

    • 课程学习说明: 熟悉前端技术栈的程序员可以选择性的学习

    • 课程开源时间:

      2018年5月24日

  • 第三周:Java分布式/springboot/springcloud/微服务/数据库技术

    • 课程设计背景: 要想深入理解区块链去中心化分布式账本技术,必须对传统的中心化系统和分布式系统有理解.

    • 课程选型原因: Springboot的微服务架构在JavaEE企业级开发中广泛采用,我们选用springboot讲解传统javaEE的开发模式和流程.

    • 课程学习的目标: 1.熟练使用springboot微服务框架进行后台项目开发; 2.熟练使用mysql数据库,H2数据库等常用数据库; 3.掌握常见会话技术; 4.掌握xml和json数据交互; 5.掌握gradle依赖管理工具; 6.掌握restful服务; 7.积累传统互联网后台项目开发经验.

    • 课程学习说明: 熟悉spring全家桶的java程序员可以选择性的学习

    • 课程开源时间:

      2018年6月10日

  • 第四周: 微服务+支付 springboot版互联网彩票项目实战

    • 课程设计背景: 通过实战项目对前期知识点进行综合应用.

    • 课程选型原因: 使用主流框分布式技术和springboot微服务,项目实战快速满足企业后台开发需求.

    • 课程学习的目标: 1.实现电商平台服务端核心业务; 2.实现电商平台移动端核心业务; 3.理解传统中心化互联网技术的痛点; 4.理解国家叫停互联网彩票销售的原因; 5.熟悉springcloud的分布式微服务架构; 6.理解支付的业务接口,为区块链货币支付埋下伏笔;

    • 课程学习说明: 从项目原型设计到实战, 全干货实战课程, 无论几年工作经验的程序员都有必要学习

    • 课程开源时间:

      2018年6月18日

  • 第五周: 区块链前端和中间件开发 Nodejs+Vue+React

    • 课程设计背景: 技术的转型和发展不是一蹴而就的,区块链项目和传统项目的融合和互相补充是目前企业普遍采用的解决方案, 以太坊和hyperledger等区块链项目开发需求有更加组件化的前台和更加强大的中间件.

    • 课程选型原因: nodejs是广泛使用的中间件.Vue和react是组件化前端开发的必备技能,hyperledger的智能合约编写依赖nodejs.Nodejs是区块链开发的必备技能.

    • 课程学习的目标: 1.使用nodejs开发web应用; 2.熟练使用Express框架; 3.使用Vue和React快速开发前端界面; 4.能够针对前端主流项目中的bug和技术难点,能够提供解决办法.

    • 课程学习说明: 经验丰富,熟练掌握vue,react和nodejs的前端程序员可以跳过这段课程

    • 课程开源时间:

      2018年7月6日

  • 第六周: 区块链项目实战 -- IPFS音乐播放器项目

    • 课程设计背景: 综合使用前后端和区块链技术的项目实战.

    • 课程选型原因: IPFS是下一代的互联网协议,是http协议的颠覆者,课程采用IPFS作为平台,综合使用前端和中间件技术,提升学员的技术实力.

    • 课程学习的目标: 1.掌握IPFS星际文件系统介绍; 2.理解IPFS使用场景; 3.熟悉IPFS节点初始化和基本命令; 4.能够搭建私有IPFS网络; 5.熟悉IPFS.js相关API; 6.熟悉ipfs与docker; 7.能够配置IPFS 跨域资源共享CORS.

    • 课程学习说明: 实战项目,每个对ipfs有兴趣的程序员都有必要学习

    • 课程开源时间:

      2018年7月14日

  • 第七周--第八周: 以太坊和智能合约项目实战

    • 课程设计背景: 以太坊是第二代的区块链技术, 智能合约实现价值转移,会有越来越多的应用场景.

    • 课程选型原因: 基于以太坊的智能合约开发可以解决各种各样的信任问题.有着非常广泛的应用场景,目前基于以太坊的创业公司众多, 市场招聘量巨大.

    • 课程学习的目标: 1.了解evm是web3.0革命的原因; 2.熟练掌握常用的以太坊工具和框架Wallet、Geth、MetaMask、Remix、Turffle、Ganache、mocha; 3.熟悉常见的共识协议(PoW、PoS、 dPos),可以搭建以太坊私链; 4.熟练使用Web3(v1.0) / Ganache / Truffle / Mocha框架等多种工具开发Solidity智能合同; 5.能够说出以太坊区块链的工作原理 | Ethers,Gas,POW,POS,node节点; 6.熟悉分布式账本、共识、挖矿; 7.熟练使用web3库,配合vue和react构建去中心化应用; 8.熟悉在Ethereum平台上开发去中心化应用程序(DAPP); 9.能设置私人区块链网络进行开发和实验; 10.了解以太坊和Solidity的真正目的和功能; 11.熟悉智能合约常见的设计模式; 12.能够设计,测试和部署安全的智能合同; 13.能在Ethereum平台上构建,设计和构建真实项目; 14.能够创建符合ERC20的token,发行代币; 15.理解ICO,熟悉DAICO; 16.能使用oracle打通链上和链下,进行数据交互; 17.拥有扎实的基础,快速融入各种区块链相关的开发工作中.

    • 课程学习说明: 课程以实战为主,会讲解去中心化彩票项目和众筹项目开发, 强烈建议认真学习.

    • 课程开源时间:

      2018年7月24日

课程表 视频名称 下载地址
week7/day01 01_课程简介 https://pan.baidu.com/s/1vyuydXrAQSICw0MOfKNgEQ
week7/day01 02_以太坊的历史 https://pan.baidu.com/s/1DJx5g3dhzEi9CA7beqEDkg
week7/day01 03_以太坊和以太坊网络 https://pan.baidu.com/s/1vutWpw07r5vmr252nIbNtA
week7/day01 04_和以太坊网络交互的方式 https://pan.baidu.com/s/10ySQp2dP3o5DUELv2jh2FA
week7/day01 05_metamask的安装和基本操作 https://pan.baidu.com/s/1e-shvnS5p6WmQoO-IZM1lw
week7/day01 06_以太坊钱包地址详解 https://pan.baidu.com/s/1atRkB7xPkoQXAcoI1RT7qw
week7/day01 07_如何获取以太币 https://pan.baidu.com/s/1bsxrgRHHuKAKR9A9tUsbMw
week7/day01 08_转账过程详解 https://pan.baidu.com/s/127KQBTBWzj4JhYxQZUXMfQ
week7/day01 09_为什么转账需要一些时间 https://pan.baidu.com/s/1e-UbQWBvD0TQlpRQFtVrPw
week7/day01 更多内容 等待上传...
课程表 视频名称 下载地址
week7/day03 01_业务分析 https://pan.baidu.com/s/1cTAdME1EF20kxGAFry9yKw
week7/day03 02_智能合约的初步设计 https://pan.baidu.com/s/1OUpfXQs4yzrcOAn8XHRH6w
week7/day03 03_solidity编程语言数据基本类型 https://pan.baidu.com/s/1aib1_Yg44us5RLDyeNY6rQ
week7/day03 04_彩票智能合约初步编写 https://pan.baidu.com/s/1PGuc0ajDHjEWhsz4fVwTuQ
week7/day03 05_彩票智能合约的manager赋值 https://pan.baidu.com/s/1Od_m_5hoRFHQauQ2FytqoQ
week7/day03 06_solidity数组讲解 https://pan.baidu.com/s/13MXnDVzwr3VwXN2K1Vj0Mg
week7/day03 07_solidity数组开发的小坑 https://pan.baidu.com/s/1ez-_Sw8CLOu1Q1ESc_gcHA
week7/day03 08_支付的校验 https://pan.baidu.com/s/1IReaf6zv1zE7bh4GkDr98Q
week7/day03 09_智能合约的debug https://pan.baidu.com/s/1JZ97eVt0gJW3lyY-j4Oi5g
week7/day03 10_公众查询奖金池里面有多少钱 https://pan.baidu.com/s/1U9y87ZbDlXrDyO0WQEBq0g
week7/day03 11_彩票开奖的逻辑 https://pan.baidu.com/s/1PIel3YRfC3RYuHfuIlPi7A
week7/day03 12_随机数生成器 https://pan.baidu.com/s/1q7TAg3wVmZ5T2ijdcFbCVA
week7/day03 13_选取幸运的彩民 https://pan.baidu.com/s/1mBaJVGRta-W10983huB-JQ
week7/day03 14_智能合约自动发送奖金给中奖者 https://pan.baidu.com/s/1YZn7AO8U-OwE5KuD_5Tgcw
week7/day03 15_彩票智能合约业务逻辑细节修复 https://pan.baidu.com/s/1pKiEuuCBcCU2SDImJ3oo4Q
week7/day03 16_彩票智能合约权限相关漏洞修复 https://pan.baidu.com/s/14aWRo4vVqCGpHRQgYGzGBA
week7/day03 17_solidity高效特性内联函数modifier https://pan.baidu.com/s/1DaFTA0FD4aMRZZzfB5NtKg
week7/day03 18_手动测试彩票智能合约的逻辑 https://pan.baidu.com/s/1OlskLELc8XgAY2hgz4a9_Q
week7/day03 19_搭建ide测试开发环境 https://pan.baidu.com/s/179caqckJVKbZwvja3tK3Yw
week7/day03 20_单元测试智能合约的编译和部署 https://pan.baidu.com/s/1LuUubPxTvFCIqWL9rxFncA
week7/day03 21_智能合约购买彩票和查询奖池的测试 https://pan.baidu.com/s/1wWpPI5O2Iy9nhJzA261UYg
week7/day03 前端项目开发 等待上传...

About

黑马程序员 120天全栈区块链开发 开源教程

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published