以太坊源码分析

目录

感谢尹成老师的劳动成果,博客地址

  1. 以太坊源码分析(1): go-ethereum的设计思路及模块组织形式
  2. 以太坊源码分析(2): go ethereum 目录大概介绍
  3. 以太坊源码分析(3): 以太坊交易手续费明细
  4. 以太坊源码分析(4): accounts包简介
  5. 以太坊源码分析(5): accounts代码分析
  6. 以太坊源码分析(6): accounts账户管理分析
  7. 以太坊源码分析(7): Ethereum 资源分享
  8. 以太坊源码分析(8): 区块分析
  9. 以太坊源码分析(9): cmd包分析 & CMD实际操作分析
  10. 以太坊源码分析(10): CMD深入分析
  11. 以太坊源码分析(11): eth目前的共识算法pow的整理
  12. 以太坊源码分析(12): 交易数据分析
  13. 以太坊源码分析(13): RPC分析
  14. 以太坊源码分析(14): P2P分析
  15. 以太坊源码分析(15): node包建立多重协议以太坊节点
  16. 以太坊源码分析(16): 挖矿分析
  17. 以太坊源码分析(17): Internal包简介
  18. 以太坊源码分析(18): 以太坊交易执行分析
  19. 以太坊源码分析(19): core-blockchain分析
  20. 以太坊源码分析(20): core-bloombits源码分析
  21. 以太坊源码分析(21): chain_indexer 区块链索引
  22. 以太坊源码分析(22): core-genesis创世区块源码分析
  23. 以太坊源码分析(23): core-state-process源码分析
  24. 以太坊源码分析(24): core-state源码分析
  25. 以太坊源码分析(25): core-txlist交易池的一些数据结构源码分析
  26. 以太坊源码分析(26): core-txpool交易池源码分析
  27. 以太坊源码分析(27): core-vm-jumptable-instruction源码分析
  28. 以太坊源码分析(28): core-vm-stack-memory源码分析
  29. 以太坊源码分析(29): core-vm源码分析
  30. 以太坊源码分析(30): eth-bloombits和filter源码分析

以太坊的架构

以太坊的架构设计可以简单的分为三个层次,协议层、接口层和应用层

协议层

而协议层又可以分为网络层和存储层。从技术角度看,协议层主要包括P2P网络通信,分布式算法,加密签名和数据存储技术。数据存储底层,比特币和以太坊都选用了Google开源的LevelDB数据库。

接口层

接口层与协议层完全分离,除了交易时与协议层进行交互,保证开发各种基于区块链的应用层业务不受约束,包括分布式存储业务,机器学习,物联网等。

应用层

应用层主要是从区块链自身的特性出发,在不引用第三方机构的前提下,提供去中心化,不可篡改,安全可靠的场景应用。主要包括金融服务,征信和权属管理,资源共享,投资管理以及物联网和供应链等。

go-ethereum源码的目录结构

|---accounts                以太坊账户管理
|---bmt                     二进制Merkle-Patricia Trie的实现
|---build                   主要是编译和构建的一些脚本和配置
|---cmd                     命令行工具
|     |---abigen            合约接口生成工具
|     |---bootnode          实现网络发现的节点
|     |---evm               以太坊虚拟机
|     |---faucet
|     |---geth              以太坊命令行客户端
|     |---p2psim            提供了一个工具来模拟http的API
|     |---puppeth           创建一个新的以太坊网络的向导
|     |---rlpdump           提供RLP数据的格式化输出
|     |---swarm             swarm网络的接入点
|     |---util              公共的组件
|     |---wnode             这是一个简单的Whisper节点。 它可以用作独立的引导节点。此外,可以用于不同的测试和诊断目的。
|---common                  提供了一些公共的工具类
|---consensus               以太坊的共识算法,包括ethhash, clique
|---core                    以太坊的核心数据结构和算法(虚拟机,状态,区块链,布隆过滤器)
|---crypto                  加密,数字签名和hash算法
|---eth                     实现了以太坊的协议
|---ethclient               以太坊的RPC客户端
|---ethdb                   eth的数据库,主要是LevelDB及相应接口
|---event                   实时事件处理
|---light                   实现为以太坊轻量级客户端提供按需检索的功能
|---metrics                 提供磁盘计数器
|---miner                   以太坊的挖矿和共识算法
|---mobile                  移动端使用的一些warpper
|---node                    以太坊的多种类型的节点
|---p2p                     以太坊p2p网络协议
|---rlp                     以太坊序列化和反序列化处理
|---rpc                     远程方法调用
|---swarm                   swarm网络处理|---trie                    以太坊重要的数据结构MPT的实现
|---whisper                 whisper节点的协议

资料

  1. 以太坊官方文档
  2. 以太坊设计原理
  3. 以太坊白皮书
  4. 以太坊黄皮书

待分类

以太坊交易手续费明细

以太坊源码分析_第1张图片

你可能感兴趣的:(2018,blockchain,ethereum)