- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 以太坊源码深入分析(9)-- 以太坊通过EVM执行交易过程分析
上一节分析了同步一个新的区块准备插入本地BlockChain之前需要重放并执行新区块的所有交易,并产生交易收据和日志。以太坊是如何执行这些交易呢?这就要请出大名鼎鼎的以太坊虚拟机。以太坊虚拟机在执行交易分为两个部分,第一部分是创建EVM,计算交易金额,设置交易对象,计算交易gas花销;第二部分是EVM 的虚拟机解析器通过合约指令,执行智能合约代码,具体来看看源码。一,创建EVM,通过EVM执行交易...
2018-05-16 21:08:32 2618 2
原创 以太坊源码深入分析(8)-- 以太坊核心BlockChain源码分析
前面几节都在分析以太坊的通信协议,怎么广播,怎么同步,怎么下载。这一节讲讲以太坊的核心模块BlockChain,也就是以太坊的区块链。1,BlockChain的初始化Ethereum服务初始化的时候会调用core.SetupGenesisBlock来加载创始区块。顾名思义,创始区块就是以太坊区块链中的第一个区块,number值为0。紧接着调用core.NewBlockChain来加载以太坊的区块链...
2018-05-09 19:20:51 3438 1
原创 以太坊源码深入分析(7)-- 以太坊Downloader源码分析
上一节分析到Fetcher用于同步网络节点的新区块和新的交易数据,如果新区块和本地最新的区块相隔距离较远,说明本地区块数据太旧,Fetcher就不会同步这些区块。这时候就要借助Downloader来同步完整的区块数据。一,启动DownloaderProtocolManager初始化的时候会进行Downloader的初始化:func New(mode SyncMode, stateDb ethdb....
2018-05-05 19:49:47 1169 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人