分析go-ethereum的过程,我希望从依赖比较少的底层技术组件开始,慢慢深入到核心逻辑。

目录

  • go-ethereum代码阅读环境搭建
  • 以太坊黄皮书 符号索引
  • rlp源码解析
  • trie源码分析
  • ethdb源码分析
  • rpc源码分析
  • p2p源码分析
  • eth协议源码分析
  • core源码分析
    • 区块链索引 chain_indexer源码分析
    • 布隆过滤器索引 bloombits源码分析
    • 以太坊的trie树管理 回滚等操作 state源码分析
    • 交易执行和处理部分源码分析
    • vm 虚拟机源码分析
      • 虚拟机堆栈和内存数据结构分析
      • 虚拟机指令,跳转表,解释器源码分析
      • 虚拟机源码分析
    • 待确认交易池的管理txPool
      • 交易执行和处理部分源码分析
      • 交易执行和处理部分源码分析
    • 创世区块的源码分析
    • blockchain 源码分析
  • miner挖矿部分源码分析CPU挖矿
  • 以太坊测试网络Clique_PoA介绍

原文地址: https://github.com/ZtesoftCS/go-ethereum-code-analysis

go-ethereum-code-analysis 以太坊源码分析相关推荐

  1. 3 v4 中心节点固定_死磕以太坊源码分析之p2p节点发现

    死磕以太坊源码分析之p2p节点发现 在阅读节点发现源码之前必须要理解kadmilia算法,可以参考:KAD算法详解. 节点发现概述 节点发现,使本地节点得知其他节点的信息,进而加入到p2p网络中. 以 ...

  2. php区块链以太坊,兄弟连区块链教程以太坊源码分析CMD深入分析(一)

    兄弟连区块链教程以太坊源码分析CMD深入分析. cmd包分析 cmd下面总共有13个子包,除了util包之外,每个子包都有一个主函数,每个主函数的init方法中都定义了该主函数支持的命令,如 geth ...

  3. 以太坊源码分析-交易

    以太坊源码分析-交易 机理 先说一点区块链转账的基本概念和流程 用户输入转账的地址和转入的地址和转出的金额 系统通过转出的地址的私钥对转账信息进行签名(用于证明这 笔交易确实有本人进行) 系统对交易信 ...

  4. kademlia java_死磕以太坊源码分析之Kademlia算法

    死磕以太坊源码分析之Kademlia算法 KAD 算法概述 Kademlia是一种点对点分布式哈希表(DHT),它在容易出错的环境中也具有可证明的一致性和性能.使用一种基于异或指标的拓扑结构来路由查询 ...

  5. 以太坊源码分析(2)——以太坊APP对象

    前言 从这一节开始,我将开始以太坊代码全覆盖讲解,讲解的流程是: 以太坊程序入口 基本框架 以太坊协议 发送一笔交易后发生了什么 启动挖矿 以太坊共识 p2p 网络 阅读本系列文章,将默认读者具备一定 ...

  6. 以太坊源码分析之随心笔记

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 以太坊索引 table.go 定期随机选取一些节点找他们要他们的节点,放到本地,也就是一个随机找节点的table 里头的 ...

  7. 以太坊源码分析:fetcher模块和区块传播

    前言 这篇文章从区块传播策略入手,介绍新区块是如何传播到远端节点,以及新区块加入到远端节点本地链的过程,同时会介绍fetcher模块,fetcher的功能是处理Peer通知的区块信息.在介绍过程中,还 ...

  8. 46.以太坊源码分析(46)p2p-peer.go源码分析

    nat是网络地址转换的意思. 这部分的源码比较独立而且单一,这里就暂时不分析了. 大家了解基本的功能就行了. nat下面有upnp和pmp两种网络协议. upnp的应用场景(pmp是和upnp类似的协 ...

  9. 基于tutk方案的p2p源码_以太坊源码分析--p2p节点发现

    p2p(peer to peer)负责以太坊节点间的通信,主要包括底层节点发现(discover)和上层协议运行两大块,本文主要描述其中节点发现部分的实现 数据结构 节点发现功能主要涉及 Server ...

最新文章

  1. 独家 | 微软与哈佛大学定量社会科学研究所合作开发开放数据差异隐私平台,开启研究新征程(附链接)...
  2. 正则表达式 2. 单字符或
  3. 从硬盘上把数据传回到计算机称为什么,计算机基础知识 第一章 习题三
  4. 继续分享 5 个实用的 vs 调试技巧
  5. Linux源码Kconfig文件语法分析
  6. 钉钉开放平台:内网穿透工具 - 服务器免费打造教程
  7. 学习Ruby的10条理由
  8. 黑龙江2021年高考成绩查询分数,2021年黑龙江高考成绩什么时候公布
  9. 03-05 APP自动化测试-常用定位方式
  10. 基于java WebDriver +TestNG 框架环境设置
  11. 全网首发:安装Python(或其他软件)出现0x80072f7d错误的解决办法
  12. linux 安装Java
  13. 51单片机的室内环境监测系统,MQ-2烟雾传感器和DHT11温湿度传感器,原理图,C编程和仿真
  14. linux下docker的使用教程,Linux中docker的使用方法讲解
  15. MOS管(场效应管)工作原理,及反向导通应用
  16. 给设计师的建设性反馈
  17. 实时可视化大数据项目05 -- UI界面
  18. 货币供应量(年底余额)的意义,如何获取
  19. JXLS生成excel填充图片设置大小
  20. Mentor Expedition如何极坐标旋转添加器件?

热门文章

  1. iOS开发 贝塞尔曲线UIBezierPath(后记)
  2. linux 自学系列:用户管理
  3. who whoami who am i的区别
  4. (转)Python 用hashlib求中文字符串的MD5值
  5. [云炬创业基础笔记]第十一章创业计划书测试14
  6. 燃烧学往年精选真题解析 2018-01-01
  7. 【5 数学规划】实际问题实战
  8. AttributeError: ‘float‘ object has no attribute ‘exp‘
  9. python读取redis存储数据的存储时间_Python读写Redis数据库操作示例
  10. Python7:from module import * 和 import module 的区别