分享

区块链工程师学习大纲【线路指导】

问题导读

1.本文学习认为分为哪5个阶段?
2.编程基础你认为选择什么语言比较好?
3.区块链进阶中,本文列举了哪些知识?
4.区块链开发有哪些典型平台?
5.智能合约与区块链是什么关系?





推荐另外一篇:
新手该如何学习区块链的
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24207




前言:区块链刚开始学习,大家很容易找不到方向,现在网上资料很多,到底学的是哪一方面的知识,想整体了解区块链,但是又没有这方面的资料。这里参考百度脑图,整理成文字。
共分为5个阶段
1.编程基础
2.区块链基础
3.区块链进阶
4.区块链高级
5.区块链实战

这5个阶段,我们仔细往下面看,包含了很多的内容。第一阶段编程基础,就够让我们气馁的了。编程语言有C++,js,golang,为什么会有这么多。其实在我们编程的时候,我们只需要学习一门语言就可以。比如还有Java,Python等也是可以的。所以我们对于下面提供的内容,如果你不采用这个语言,是可以忽略的。那么这里面哪个语言比较适合我们开发?具体根据自己的情况,很多人说golang不错,因为他的并发能力还可以。

在区块链基础里面,我们看到区块链有三个阶段,

1.区块链1.0:数字货币
2.区块链2.0:以太坊
3.区块链3.0:智能社会

第一阶段以比特币为准,第二阶段,则是以太坊,以太坊有了智能合约,这是非常厉害的,让区块链可以有很多应用场景。

对于区块链进阶,这里面确实有我们需要了解的内容。如果你看过视频,或则一些文档,肯定会经常听到“共识机制,密码学,智能合约”等,这些是需要我们了解的干货。如果有时间,后面会补充上相关资料文档或则视频,转载注明链接,让大家获取最新的资料。

其中这里面需要说明的是对于比特币,以太坊,HyperLedger 是三个不同的区块链平台。也就是说,你不用全部都学,对他们可以了解,然后选择一个自己感兴趣的。这个三个没有什么好坏,看你的兴趣。不过比特币和以太坊似乎更多一些。

对于高级和实战,如果我们了解透了。后面工作,相信我们自己也知道自己改如何学习了。后面有问题大家共同讨论。




1.编程基础
1.Linux环境
1.Ubuntu操作系统安装
2.Linux命令、vim

2.C++
1.面向对象编程
1.抽象、封装、继承、多态
2.泛型编程
3.STL库(各种容器)
4.boost库
5.OpenSSL库

2.算法

1.常用算法排序
(1)冒泡排序
(2)快速排序
(3)简单选择排序
(4)堆排序
(5)直接插入排序
(6)希尔排序
(7)合并排序

2.基础算法思想

(1)猜价格游戏
(2)递推算法
(3)枚举算法
(4)分治算法思想
(5)贪婪算法
(6)试探算法
(7)模拟算法

3.数据结构
(1)简单数据结构
  • 线性表-链表
  • 队列、循环队列
  • 先进先出结构-栈


(2)复杂数据结构
二叉树的存储
  • 操作二叉树
  • 遍历二叉树
  • 测试二叉树
  • 线索二叉树
  • 最优二叉树(哈夫曼树)


3.GoLang

1.并发编程
1.协程
2.goroutine
3.并发通信
4.channel
5.多核并行化
6.时间片处理


2.网络编程
1.socket编程
2.HTTP
3.RPC编程

3.分布式系统架构


4.JS
1.ESS
  • prototype对象
  • object对象和继承
  • 面向对象编程的模式
  • 单线程模型
  • 定期器
  • Promise

2.ES6
  • 扩展
  • Class
  • Module
  • 箭头函数


5.mysql数据库

1.SQL语言
(1)创建和管理表
  • 表和列表
  • 创建表
  • 修改变


(2)索引和约束
  • 创建索引
  • 创建约束
  • 管理约束


(3)视图
  • 视图基础
  • 内联视图
  • 物化视图


(4)触发器和游标
  • DML触发器
  • INSTEAD OF 替代触发器
  • 系统事件触发器


(5)异常处理机制
  • 自定义异常
  • 处理异常


(6)事务和锁

事务
  • 提交事务
  • 回滚事务
  • 保存点
  • 事务的隔离级别
  • 设置事务属性



  • DML锁
  • DDL锁
  • 死锁





2.区块链基础

1.区块链基本原理
1.区块链技术结构
2.区块链分类


2.区块链发展脉络

1.区块链1.0:数字货币
2.区块链2.0:以太坊
3.区块链3.0:智能社会


3.区块链特点
1.去中心化
2.可溯源
3.不可篡改
4.公开透明

4.区块链应用场景
1.支付结算
2.数字票据
3.资产数字化
4.征信
5.股票登记
6.证券交易
7.供应链金融
8.P2p领域
9.电子存证
10.数字版权
11.慈善
12.招标投标

5.钱包
1.比特币钱包
1.Bitcoin
2.bitpay

2.以太币钱包
1.Mist
2.MyEtherWallet
3.MetaMask
4.Parity


6.GPU多显卡挖矿
1.硬件设备
2.软件工具
3.参数调整

7.ICO/IPO

8.硬分叉
1.比特币分叉
2.以太坊分叉
1.Byzantium
2.Constantipole



本帖被以下淘专辑推荐:

已有(8)人评论

跳转到指定楼层
howtodown 发表于 2018-3-27 12:22:41
本帖最后由 howtodown 于 2018-3-27 14:48 编辑



3.区块链进阶

1.共识算法
1.POW
2.POS
3.SOPD
4.PBFT



2.密码学
1.对称加密
2.非对称加密
3.序列密码
4.DES
5.分组密码
6.公钥密码学
7.HASH
8.MD5
9.RSA密码体质
10.椭圆曲线签名算法(EGDSA)
11.SHA256
12.ripemd160
13.数字签名
14.零知识证明


3.Ethereum智能合约开发
1.Solidity面向对象编程
2.以太坊私链搭建
3.以太坊联盟链搭建
4.Token建立、部署、流通
5.IPFS
6.Truffle
7.Web3
8.Embark
9.项目
(1)EBay Dapp

4.HyperLedger Fabric
1.HyperLedger Fabric1.0架构
2.Fabric多通道技术
3.Fabric账本设计
4.Fabric1.0 Endorse背书策略
5.Fabric Gossip源码分析
6.开发环境搭建
7.开发镜像编译
8.HyperLedger Composer
9.Chain Code
10.案例
(1)Fabric exploer
(2)cp-web
(3)marbles
11.Go语言智能合约开发部署




回复

使用道具 举报

howtodown 发表于 2018-3-27 12:42:58



4.区块链高级

源码剖析
1.Bitcoin

1.Proof Of Work
2.区块链高度和分叉
3.交易数据
4.共识算法
5.分叉检测
6.交易
1.P2PKH脚本验证
2.P2SH脚本
3.标准交易
(1)通过Public Key Hash(P2PKH)支付
(2)通过脚本Hash(P2SH)支付
(3)多重签名
(4)公钥
(5)空数据
4.非标准交易
(1)签名Hash
(2)锁定时间和序列号
(3)交易费用和变化
(4)避免Key重用
(5)交易可塑性
5.挖矿

7.合约

1.托管和仲裁
2.coinjoin

8.Wallets
1.钱包程序
2.钱包文件

9.操作模式

10.P2P网络
1.节点发现
2.节点链接
3.初始区块下载
4.区块广播
5.交易广播
6.内存池
7.问题节点

2.Ethereum

1.以太坊源码概述
1.区块数据结构
2.交易数据结构
3.交易的Hash
4.区块链数据结构
5.DataBase
6.创始区块
7.StateDB
8.Validator&Processor

2.基础架构

1.链规格格式
2.ICAP
3.URL提示协议

3.DV技术
1.RLP编码
2.节点发现协议
3.DV技术p2p有线协议

4.EtHash
1.Ethash
2.Ethash C API
3.Ethash DAG

5.Whisper
1.Whisper proposal

2.Overview概述
3.Poc-1有线协议
4.Poc-2有线协议



3.BITSHARES2.0

1.BitSHARES2.0
1.BitSHARES环境搭建
2.如何使用和运行全节点
3.自建节点
4.BitShares-Core编译
5.交易所集成/对接
6.BitShares服务器架设
7.DPOS共识算法
8.bitshares-ui的钱包和账号管理
9.bitshares库详解1:chainStore
10.bitshares库详解2:交易广播
11.搭建比特股的水龙头注册服务







回复

使用道具 举报

howtodown 发表于 2018-3-27 12:43:29


5.区块链实战

1.矿池开发
1.EthereumPool-GoLang
2.BitCoinPool-C++

2.BloggerChain

3.钱包开发
1.BtcWallet
2.EthWallet



参考:
http://naotu.baidu.com/file/785a ... en=3814958749ebefc9
回复

使用道具 举报

xuanxufeng 发表于 2018-3-27 21:47:06
区块链、以太坊、智能合约,是什么关系?
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24184
以太坊是一个开源的区块链底层系统,像安卓或iOS一样,提供了非常丰富的API(应用程序编程接口),让许多人在上面能够快速开发出各种区块链应用。目前已经有超过200多个区块链应用在以太坊上开发。

而以太坊的另一个特色是能够实现智能合约。所谓智能合约(Smart Contract),是密码学家Nick Szabo在1994年首次提出以数字形式定义的一系列承诺(Promises),包括合约参与方可以在上面执行这些承诺的协议。

智能合约的智能在英语中对应的单词是Smart,和智能手机(Smart Phone)中的Smart意义相同,表示非常灵活的意思,并不是指人工智能(AI)。智能合约一旦设立指定后,能够无需中介的参与就自动执行,并且没有人可以阻止它的运行。





回复

使用道具 举报

xuanxufeng 发表于 2018-3-27 21:48:45
1.智能合约本质是什么?
智能合约本质就是一段脚本,可以被准确执行。这用传统的技术也能实现

2.为什么一定要用区块链技术呢?
个人的理解,区块链的特点有两个
1.数据不能修改、删除,只能查看和增加。
2.去中心化。


智能合约本质是什么?为什么要用区块链技术实现智能合约?
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24183


回复

使用道具 举报

jiangzi 发表于 2018-3-28 14:12:20
貌似, 有点泛泛的
回复

使用道具 举报

howtodown 发表于 2018-3-28 16:19:09
jiangzi 发表于 2018-3-28 14:12
貌似, 有点泛泛的

后面会补充
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条