摘要: 死磕以太坊源码分析之区块上链入库 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习。 引言 不管是矿工挖矿还是Fetcher同步,Downloader同步,或者是导入本地文件等等,最中都是将区块上 阅读全文
posted @ 2020-12-24 13:12 mindcarver 阅读(703) 评论(0) 推荐(1) 编辑
摘要: 死磕以太坊源码分析之downloader同步 阅读全文
posted @ 2020-12-23 10:32 mindcarver 阅读(783) 评论(5) 推荐(4) 编辑
摘要: 死磕以太坊源码分析之Ethash共识算法 代码分支:https://github.com/ethereum/go-ethereum/tree/v1.9.9 引言 目前以太坊中有两个共识算法的实现:clique和ethash。而ethash是目前以太坊主网(Homestead版本)的POW共识算法。 阅读全文
posted @ 2020-12-18 14:43 mindcarver 阅读(2881) 评论(1) 推荐(0) 编辑
摘要: 死磕以太坊源码分析之挖矿流程分析 代码分支:https://github.com/ethereum/go-ethereum/tree/v1.9.9 基本架构 以太坊挖矿的主要流程是由miner包负责的,下面是基本的一个架构: 首先外部是通过miner对象进行了操作,miner里面则是实用worker 阅读全文
posted @ 2020-12-12 20:42 mindcarver 阅读(1617) 评论(0) 推荐(0) 编辑
摘要: 死磕以太坊源码分析之Fetcher同步 Fetcher 功能概述 区块数据同步分为被动同步和主动同步: 被动同步是指本地节点收到其他节点的一些广播的消息,然后请求区块信息。 主动同步是指节点主动向其他节点请求区块数据,比如geth刚启动时的syning,以及运行时定时和相邻节点同步 Fetcher负 阅读全文
posted @ 2020-12-03 08:56 mindcarver 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 死磕以太坊源码分析之区块和交易广播 ProtocolManager详解 ProtocolManager,从字面上看是协议管理器,负责着p2p通信协议的管理。它连接了p2p的逻辑层peer与顶层peer之间的调用,从顶层将协议传递至逻辑层,再从逻辑层得到message传递到顶层。 fastSync规定 阅读全文
posted @ 2020-12-02 15:04 mindcarver 阅读(749) 评论(0) 推荐(1) 编辑
摘要: 死磕以太坊源码分析之rlpx协议 本文主要参考自eth官方文档:rlpx协议 符号 X || Y:表示X和Y的串联 X ^ Y: X和Y按位异或 X[:N]:X的前N个字节 [X, Y, Z, ...]:[X, Y, Z, ...]的RLP递归编码 keccak256(MESSAGE):以太坊使用的 阅读全文
posted @ 2020-11-24 16:53 mindcarver 阅读(670) 评论(0) 推荐(1) 编辑
摘要: 死磕以太坊源码分析之p2p节点发现 在阅读节点发现源码之前必须要理解kadmilia算法,可以参考:KAD算法详解。 节点发现概述 节点发现,使本地节点得知其他节点的信息,进而加入到p2p网络中。 以太坊的节点发现基于类似的kademlia算法,源码中有两个版本,v4和v5。v4适用于全节点,通过d 阅读全文
posted @ 2020-11-23 21:25 mindcarver 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 死磕以太坊源码分析之Kademlia算法 KAD 算法概述 Kademlia是一种点对点分布式哈希表(DHT),它在容易出错的环境中也具有可证明的一致性和性能。使用一种基于异或指标的拓扑结构来路由查询和定位节点,这简化了算法并有助于证明。该拓扑结构有一个特点:每次消息交换都能够传递或强化有效信息。系 阅读全文
posted @ 2020-11-22 15:11 mindcarver 阅读(1771) 评论(0) 推荐(0) 编辑
摘要: p2p源码目录 discover/ 基于UDP的节点发现V4协议 discv5/ 节点发现V5协议 enode/ 节点信息 enr/ 以太坊节点记录(ethereum node records) nat/ 网络地址转换,用于内网穿透 netutil/ protocol/ simulations/ 本 阅读全文
posted @ 2020-11-21 15:14 mindcarver 阅读(542) 评论(0) 推荐(0) 编辑