以太坊源码分析
发布于 3 个月前 作者 stvenyin 55307 次浏览 来自 以太坊
  • ethereum源码分析(一)

  • 作者:stvenyin

  • 备注:如有错误,请指正,不断更新迭代

  • 一. 下载源码

  • git clone https://github.com/ethereum/go-ethereum

  • 命令执行成功之后,代码就会下载到下面这个目录,%GOPATH%\src\github.com\ethereum\go-ethereum

  • 二. go ethereum 目录大概介绍

  • go-ethereum项目的组织结构基本上是按照功能模块划分的目录,下面简单介绍一下各个目录的结构,每个目录在GO语言里面又被成为一个Package

  • accounts 实现了一个高等级的以太坊账户管理

  • bmt 二进制的默克尔树的实现

  • build 主要是编译和构建的一些脚本和配置

  • cmd 命令行工具,又分了很多的命令行工具,下面一个一个介绍

  • /abigen Source code generator to convert Ethereum contract definitions into easy to use, compile-time type-safe Go packages

  • /bootnode 启动一个仅仅实现网络发现的节点

  • /evm 以太坊虚拟机的开发工具, 用来提供一个可配置的,受隔离的代码调试环境

  • /faucet

  • /geth 以太坊命令行客户端,最重要的一个工具

  • /p2psim 提供了一个工具来模拟http的API

  • /puppeth 创建一个新的以太坊网络的向导

  • /rlpdump 提供了一个RLP数据的格式化输出

  • /swarm swarm网络的接入点

  • /util 提供了一些公共的工具

  • /wnode 这是一个简单的Whisper节点。 它可以用作独立的引导节点。此外,可以用于不同的测试和诊断目的。

  • common 提供了一些公共的工具类

  • compression Package rle implements the run-length encoding used for Ethereum data.

  • consensus 提供了以太坊的一些共识算法,比如ethhash, clique(proof-of-authority)

  • console console类

  • contracts

  • core 以太坊的核心数据结构和算法(虚拟机,状态,区块链,布隆过滤器)

  • crypto 加密和hash算法,

  • eth 实现了以太坊的协议

  • ethclient 提供了以太坊的RPC客户端

  • ethdb eth的数据库(包括实际使用的leveldb和供测试使用的内存数据库)

  • ethstats 提供网络状态的报告

  • event 处理实时的事件

  • les 实现了以太坊的轻量级协议子集

  • light 实现为以太坊轻量级客户端提供按需检索的功能

  • log 提供对人机都友好的日志信息

  • metrics 提供磁盘计数器

  • miner 提供以太坊的区块创建和挖矿

  • mobile 移动端使用的一些warpper

  • node 以太坊的多种类型的节点

  • p2p 以太坊p2p网络协议

  • rlp 以太坊序列化处理

  • rpc 远程方法调用

  • swarm swarm网络处理

  • tests 测试

  • trie 以太坊重要的数据结构Package trie implements Merkle Patricia Tries.

  • whisper 提供了whisper节点的协议。

关于我 喜欢交友,性格随和,廋身,有情怀。 github:https://github.com/stvenyin 关于我 背景

  • 在校黄冈华师一附中(清华,华中科技大学科方向)在湖北,和武大一起被认为是清华和北大那样的学校。
  • 班级前稳1~2,全县前10.
  • 全国大学生一等奖
  • 奥林匹克竞赛一等奖
  • 10年华为linux内核嵌入式开发。
  • 11年开始接触区块链,11年底正式区块链开发工作。
  • 12年参与国外ACE开发,IOCP及分布式服务器实现,深圳研究院徐博士指导开发成果。
  • 16年中科院做过实际的以太坊底层架构改良,网络安全冻结分析
  • 主要c/c++,java,go,python,精通Linux/Unix操作系统,熟悉密码学,p2p内部原理,比特币内部原理,且商业运行。发布论文,务实。
  • 对各种算法,人工智能深度学习算法,神经网络系统剖有研究,网络爬虫搜索引擎。
  • 主要交易系统MT4后端核心插件,系统开发,反汇编,汇编。
  • 深圳区块链源中瑞交易所钱包负责人,负责交易所主架构,人员分配,技术指导。
  • 纳克链技术负责人纳克链。
  • 以太狗技术顾问,对ERC-721协议有深入了解。
  • stvenyin微信/QQ:893692456。推动以太坊,EOS架构研究区块链应用落地。
  • 感恩大家!
回到顶部