值不值得学:先搞清楚你在解决什么问题

这份资料的主题是 Ethereum 源码分析。它解决的不是怎么写智能合约、怎么发币,而是更底层的问题:以太坊节点是怎么运行的、区块和交易在底层是怎么存储和流转的。如果你做的是 Solidity 应用层开发,平时用 Web3.js 或 ethers.js 调接口,那你不看源码也能干活。但如果你想做公链开发、节点运维、或者需要深入排查底层机制,比如状态树怎么更新、共识怎么达成,就必须看懂源码。这门课就是带你从白皮书、黄皮书一路走到 Go 语言实现,把概念和代码对应起来。

适合什么基础:别把它当入门课

这套资料不适合零基础。你得先有 Go 语言基础,能看懂结构体、接口、并发模型,最好对区块链有基本概念,知道区块、交易、哈希是怎么回事。如果你连 Go 的工程结构都不熟,建议先补 Go 再来看。资料里会讲白皮书和黄皮书,黄皮书公式多,如果数学基础一般,不用死磕每一行,重点看代码怎么实现那些概念。学完之后,你应该能独立做这几件事:在本地编译运行以太坊节点、读懂核心模块的代码逻辑、定位简单问题、甚至尝试修改共识参数或存储结构做一些实验性开发。

怎么用:先搭环境,再读核心模块

建议先看架构和目录结构那几节,把整体框架理清,别一上来就扎进某个模块。然后按这个顺序走:先看白皮书和黄皮书讲解,建立概念框架;再看区块结构分析,理解数据怎么组织;接着看创世区块生成,自己动手跑一遍。配合练习时,本地装好 Go 和以太坊源码,边看视频边对照代码,别只听不练。源码分析课最怕看完就忘,必须自己打断点、改参数、看输出,才算真学进去。


Ethereum源码分析

课程目录

*   01 Q6.001day16复习.mp4 (69.19 MB), 12:35

*   02 Q6.002Ethereum白皮书.mp4 (98.96 MB), 18:38

*   03 Q6.003Ethereum黄皮书.mp4 (54.26 MB), 08:21

*   04 Q6.004Ethereum架构与分层.mp4 (33.14 MB), 11:05

*   05 Q6.005Ethereum目录结构.mp4 (76.21 MB), 18:02

*   06 Q6.006Ethereum区块结构分析(1).mp4 (49.13 MB), 10:44

*   07 Q6.007Ethereum区块结构分析(2).mp4 (93.62 MB), 18:49

*   08 Q6.008创世区块生成概述.mp4 (52.97 MB), 12:28

*   09 Q6.009Ethereumethash算法概述.mp4 (55.42 MB), 16:11

*   10 Q6.010 worker工作流程简述.mp4 (79.06 MB), 18:47

*   11 Q6.011 eth挖kuang.mp4 (108.62 MB), 24:21

*   12 Q6.012 seal共识流程.mp4 (89.03 MB), 21:03

*   13 Q6.013 Ethereum核心挖kuang函数分析.mp4 (42.90 MB), 09:59

*   14 Q6.014 创世区块补充.mp4 (28.25 MB), 05:35

*   15 Q6.015僵尸工厂.mp4 (87.54 MB), 14:24

*   16 Q6.016day17复习.mp4 (67.92 MB), 12:40

*   17 Q6.017levelDB概念详解.mp4 (66.97 MB), 20:15

*   18 Q6.018leveldb测试数据概述.mp4 (28.88 MB), 07:00

*   19 Q6.019ethdb源码详解(1).mp4 (142.56 MB), 30:42

*   20 Q6.020ethdb源码详解(2).mp4 (35.64 MB), 08:04

*   21 Q6.021cli基本了解.mp4 (64.42 MB), 14:34

*   22 Q6.022geth启动流程分析(1).mp4 (111.15 MB), 25:15

*   23 Q6.023geth启动流程分析(2).mp4 (72.23 MB), 14:46

*   24 Q6.024 RLP编码理论(1).mp4 (23.79 MB), 09:14

*   25 Q6.025 RLP编码规则与实例.mp4 (82.49 MB), 20:18

*   26 Q6.026 RLP解码规则与总结.mp4 (66.40 MB), 13:21

*   27 Q6.027 RLP源码解析之typecache.go解析(1).mp4 (104.05 MB), 24:13

*   28 Q6.028 RLP源码解析之编码解码操作.mp4 (112.10 MB), 21:25

*   29 Q6.029 交易源码解析之transaction.go.mp4 (81.91 MB), 18:33

*   30 Q6.030 发起交易与交易签名.mp4 (100.69 MB), 20:32

*   31 Q6.031 提交交易之交易缓存池结构说明.mp4 (68.86 MB), 15:02

*   32 Q6.032day18复习.mp4 (75.88 MB), 18:12

*   33 Q6.033交易提交到缓存池.mp4 (95.54 MB), 20:10

*   34 Q6.034交易提交分析(2).mp4 (211.89 MB), 44:19

*   35 Q6.035交易提交分析(3).mp4 (51.76 MB), 09:25

*   36 Q6.036交易广播.mp4 (88.90 MB), 21:15

*   37 Q6.037Ethereum地址源码分析(1).mp4 (103.67 MB), 23:21

*   38 Q6.038Ethereum钱包分析.mp4 (56.44 MB), 13:09

*   39 Q6.039Ethereum钱包管理器manager分析.mp4 (32.70 MB), 07:26

*   40 Q6.040Ethereum账户管理接口分析.mp4 (63.81 MB), 13:43

*   41 Q6.041 钱包订阅事件.mp4 (84.12 MB), 20:40

*   42 Q6.042 钱包事件分析.mp4 (100.89 MB), 23:50

*   43 Q6.043 EVM创建基本分析.mp4 (143.40 MB), 32:03

*   44 44 EVM合约创建步骤详解.mp4 (99.76 MB), 19:49

*   45 45 EVM执行智能合约代码.mp4 (83.45 MB), 18:01

*   46 Q6.046day19复习.mp4 (83.11 MB), 16:01

*   47 Q6.047kad算法理论介绍(1).mp4 (65.22 MB), 23:08

*   48 Q6.048kad算法理论介绍(2).mp4 (78.64 MB), 28:29

*   49 Q6.049p2p源码分析(1).mp4 (84.16 MB), 19:18

*   50 Q6.050p2p源码分析(2).mp4 (129.50 MB), 29:40

*   51 Q6.051p2p源码分析(3).mp4 (31.32 MB), 07:45

*   52 Q6.052p2p源码分析之引导节点.mp4 (51.81 MB), 11:16

*   53 Q6.053p2p源码分析之层级结构分析.mp4 (127.09 MB), 27:02