美文网首页
以太坊源码目录结构

以太坊源码目录结构

作者: 北枫晴天 | 来源:发表于2018-07-11 07:09 被阅读0次

    如果要了解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网络

    相关文章

      网友评论

          本文标题:以太坊源码目录结构

          本文链接:https://www.haomeiwen.com/subject/styuuftx.html