以太坊源码目录结构

如果要了解go-ethereum项目的实现与机制,需要深入研究项目的源码,本文先就以太坊的目录进行整理说明,对于官方的go实现的ethereum客户端,目录也对应着程序包的结构。

一级目录

accounts :实现以太坊账户及钱包的管理
bmt :实现了二叉merkle树
build :用于构建测试、发布的文件目录
cmd :实现了客户端主要的命令行程序
common :实现了数值处理、脚本支持等公共的工具函数
compression:实现run-length encoding编码用于Ethereum数据
consensus :实现多种以太共识引擎
console:内部实现控制台程序
containers :多种容器部署工具
contracts :内部合约
core :支持内部合约的核心代码
crypto:加密算法库
dashboard:仪表盘,被集成到geth中,收集以太坊节点数据,用于可视化分析
eth :以太坊协议
ethclient:以太坊RPC API客户端
ethdb:对levelDB的封装的db接口
ethstats :网络统计报告服务
event :处理时时事件的包
internal:
les:轻量级Ethereum子协议
light :EthereumLight客户端实现按需检索能力的状态和链对象
log:log输出日志
metrics :Coda Hale度量库的Go端口
miner :以太坊块创建和挖矿程序包
mobile :geth的移动端API
node :设置多维接口节点
p2p :p2p网络协议
params:
rlp :RLP系列化格式
rpc:通过网络或者I/O链接来访问接口
swarm :
tests:以太坊JSON测试程序包
trie :Merkle Patricia树实现
vendor :外部第三方程序包
whisper :Whisper协议

二级:account包

abi :Ethereum的ABI(应用程序二进制接口)程序包
keystore :实现了Secp256k1私钥的加密存储
usbwallet :实现了支持USB硬件钱包

二级:cmd 包

abigen :一个源代码生成器,它将Ethereum智能合约定义(代码) 转换为易于使用的、编译时类型安全的Go package
bootnode:该节点为Ethereum发现协议运行一个引导节点
ethkey :
evm :以太坊执行虚拟机字节码命令行工具
faucet :faucet是以太faucet支持的轻量级客户
geth :geth是Ethereum的官方客户端命令行
internal:
p2psim :p2psim为客户端命令行模拟 HTTP API
puppeth:puppeth是一个命令组装和维护私人网路
rlpdump :rlpdump能更好的打印出RLP格式的数据
swarm :bzzhash命令能够更好的计算出swarm哈希树
utils :为Go-Ethereum命令提供说明
wnode

二级:common包

bitutil :该包实现快速位操作
compiler:包装了Solity编译器可执行文件
fdlimit :获取系统文件描述符的最大值
hexutil :以0x为前缀的十六进制编码
math:数学工具,多是对Int数据类型的处理
mclock:对monotime库的包装,简单的时间函数
number :对number的封装

二级:core包

asm :汇编和反汇编接口
bloombits :Bloom过滤批量数据
state :封装在以太状态树之上的一种缓存结构
types :以太合约支持的数据类型
vm :以太虚拟机

二级:p2p包

discover :节点发现协议
discv5 :RLPx v5主题相关的协议
enr:实现EIP-778中的以太坊节点记录
nat:提供网络端口映射协议的权限
netutil:网络包拓展
protocols:p2p拓展
simulations:实现模拟p2p网络

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容