Ethereum 源码分析

Posted linguoguo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ethereum 源码分析相关的知识,希望对你有一定的参考价值。

一、源码框架

    accounts        实现了一个高等级的以太坊账户管理
    bmt             二进制的默克尔树的实现
    build           主要是编译和构建的一些脚本和配置
    cmd             命令行工具,又分了很多的命令行工具,下面一个一个介绍
        /abigen     合约abi生成测试
        /bootnode   启动一个仅仅实现网络发现的节点
        /clef        用来签名交易和数据,同时作为geth账户管理工具的替代
        /ethkey        操作以太坊keyfiles的命令行工具
        /evm        以太坊虚拟机的开发工具,用来提供一个可配置的,受隔离的代码调试环境
        /faucet     faucet is a Ether faucet backed by a light client
        /geth       以太坊命令行客户端,最重要的一个工具
        /internal    内部工具,提供了与用户浏览器交互的实用程序
        /p2psim     提供了一个工具来模拟http的API
        /puppeth    创建一个新的以太坊网络的向导
        /rlpdump    提供了一个RLP数据的格式化输出
        /swarm      swarm网络的接入点
        /util       提供了一些公共的工具
        /wnode      这是一个简单的Whisper节点,它可以用作独立的引导节点。此外,可以用于不同的测试和诊断目的
    common          提供了一些公共的工具类
    consensus       提供了以太坊的一些共识算法,比如ethhash, clique(proof-of-authority)
    console         提供javascript交互运行环境
    containers        容器,提供一些linux系统开发环境和正式环境的dockerfile
    contracts       合约
    core            以太坊的核心数据结构和算法(虚拟机,状态,区块链,布隆过滤器)
    crypto          加密和hash算法
    dashboard        提供嵌入在geth里面的一个数据观察仪,用来收集和观察以太坊节点有用的信息
    eth             实现了以太坊的协议
    ethclient       提供了以太坊的RPC客户端
    ethdb           eth的数据库(包括实际使用的leveldb和供测试使用的内存数据库)
    ethstats        提供网络状态的报告
    event           处理实时的事件
    internal         内部工具,提供编译、debug、ethapi等
    les             实现了以太坊的轻量级协议子集
    light           实现为以太坊轻量级客户端提供按需检索的功能
    log             提供对人机都友好的日志信息
    metrics         提供磁盘计数器
    miner           提供以太坊的区块创建和挖矿
    mobile          移动端使用的一些warpper
    node            以太坊的多种类型的节点
    p2p             以太坊p2p网络协议
    params            以太坊多种参数
    rlp             以太坊序列化处理
    rpc             远程方法调用
    signer            签名机构,包含规则、存储等
    swarm           swarm网络处理
    tests           测试
    trie            以太坊重要的数据结构Package trie implements Merkle Patricia Tries
    whisper         提供了whisper节点的协议。

 

以上是关于Ethereum 源码分析的主要内容,如果未能解决你的问题,请参考以下文章

[ethereum源码分析] ethereum运行开启console

[Ethereum] 以太坊源码分析RLP源码分析

[Ethereum] 以太坊源码分析RLP源码分析

[Ethereum] 以太坊源码分析RLP源码分析

[Ethereum] 以太坊源码分析RPC

[Ethereum] 以太坊源码分析RPC