以太坊源码深入分析(9)-- 以太坊通过EVM执行交易过程分析

上一节分析了同步一个新的区块准备插入本地BlockChain之前需要重放并执行新区块的所有交易,并产生交易收据和日志。以太坊是如何执行这些交易呢?这就要请出大名鼎鼎的以太坊虚拟机。以太坊虚拟机在执行交易分为两个部分,第一部分是创建EVM,计算交易金额,设置交易对象,计算交易gas花销;第二部分是E...

2018-05-16 21:08:32

阅读数 1304

评论数 2

以太坊源码深入分析(8)-- 以太坊核心BlockChain源码分析

前面几节都在分析以太坊的通信协议,怎么广播,怎么同步,怎么下载。这一节讲讲以太坊的核心模块BlockChain,也就是以太坊的区块链。1,BlockChain的初始化Ethereum服务初始化的时候会调用core.SetupGenesisBlock来加载创始区块。顾名思义,创始区块就是以太坊区块链...

2018-05-09 19:20:51

阅读数 1858

评论数 1

以太坊源码深入分析(7)-- 以太坊Downloader源码分析

上一节分析到Fetcher用于同步网络节点的新区块和新的交易数据,如果新区块和本地最新的区块相隔距离较远,说明本地区块数据太旧,Fetcher就不会同步这些区块。这时候就要借助Downloader来同步完整的区块数据。一,启动DownloaderProtocolManager初始化的时候会进行Do...

2018-05-05 19:49:47

阅读数 511

评论数 2

以太坊源码深入分析(6)-- 以太坊P2P协议接收广播的处理和Fetcher源码分析

上一节主要讲了Ethereum服务和以太坊P2P协议通讯模块ProtocolManager的初始化和启动,以及以太坊通讯协议如何广播给其他的网络节点。这一节讲讲,以太坊通讯协议如何处理接收到的广播消息。以及fetcher怎么工作。一,ProtocolManager接收网络节点广播消息首先看看p2p...

2018-04-28 17:53:42

阅读数 1115

评论数 1

以太坊源码深入分析(5)-- Ethereum服务和以太坊P2P协议发送广播源码分析

在“以太坊源码深入分析(2)”一文中,我们提到Ethereum作为一个service,被Node 注册进去。Node start的时候会启动其注册的所有服务,Ethereum service也是一样。一,ethereum service的初始化和启动初始化方法func New(ctx *node....

2018-04-25 20:12:54

阅读数 1363

评论数 1

以太坊源码深入分析(4)-- 以太坊RPC通信实例和原理代码分析(下)

上一节我们试着写了一个RPC的请求实例,通过分析源码知道了RPC服务的创建流程,以及Http RPC server创建过程,Http RPC Client的请求流程。这一节,先分析一下Http RPC server如何处理client的请求。然后再分析一下IPC RPC的处理流程。一,Http R...

2018-04-22 23:42:15

阅读数 956

评论数 0

以太坊源码深入分析(3)-- 以太坊RPC通信实例和原理代码分析(上)

上一节提到,以太坊在node start的时候启动了RPC服务,以太坊通过Rpc服务来实现以太坊相关接口的远程调用。这节我们用个实例来看看以太坊 RPC是如何工作的,以及以太坊RPC的源码的实现一,RPC通信实例1,RPC启动命令 :geth --rpcgo-ethereum的RPC服务默认地址:...

2018-04-20 19:55:43

阅读数 2354

评论数 5

以太坊源码深入分析(2)-- go-ethereum 客户端入口和Node分析

一,geth makefile 以及编译逻辑上篇提到用 make geth 来编译geth客户端。我们来看看make file做了什么: geth: build/env.sh go run build/ci.go install ./cmd/geth @echo "...

2018-04-10 21:21:37

阅读数 1181

评论数 0

以太坊源码深入分析(1)--下载、编译、启动go-ethereum

这段时间一直在研究区块链技术,同时也在加紧研发自己公司的区块链钱包,对区块链相关技术有一定的研究心得,希望通过博文来记录和分享自己的一些心得体会,也欢迎对文章感兴趣的朋友来跟我交流和讨论。笔者打算从以太坊源码分析专栏写起,后面会分析Hyperledger Fabric源码,以及比特币的源码。这里要...

2018-04-10 15:34:11

阅读数 1067

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭