前面几节都在分析以太坊的通信协议,怎么广播,怎么同步,怎么下载。这一节讲讲以太坊的核心模块BlockChain,也就是以太坊的区块链。

一,BlockChain的初始化
Ethereum服务初始化func init() 的时候会调用core.SetupGenesisBlock来加载创始区块。顾名思义,创始区块就是以太坊区块链中的第一个区块,number值为0。紧接着调用

stack, backend := makeFullNode(ctx)   utils.RegisterEthService(stack, &cfg.Eth)
backend, err := eth.New(stack, cfg)
eth.blockchain, err = core.NewBlockChain(chainDb, cacheConfig, config.Genesis, &overrides, eth.engine, vmConfig, eth.shouldPreserve, &config.TxLookupLimit)

来加载以太坊的区块链。

// NewBlockChain returns a fully initialised block chain using information
// available in the database. It initialises the default Ethereum Validator
// and Processor. NewBlockChain使用数据库中可用的信息返回完全初始化的区块链。它初始化默认的以太坊验证器和处理器。
func NewBlockChain(db ethdb.Database, cacheConfig *CacheConfig, genesis *Genesis, overrides *ChainOverrides, engine consensus.Engine, 

【区块链 | 智能合约】Ethereum源代码(11)- 以太坊核心BlockChain源码分析相关推荐

  1. open-ethereum-pool以太坊矿池源码分析(1)环境安装

    # open-ethereum-pool以太坊矿池-环境安装 ## 安装Geth ```shell //安装parity cd /tmp/ wget http://d1h4xl4cr1h0mo.clo ...

  2. 以太坊共识引擎源码分析

    这一篇分析以太坊的共识引擎,先看一下各组件之间的关系: Engine接口定义了共识引擎需要实现的所有函数,实际上按功能可以划分为2类: 区块验证类:以Verify开头,当收到新区块时,需要先验证区块的 ...

  3. 以太坊Ethash算法源码分析

    Ethash是以太坊目前使用的共识算法,其前身是Dagger-Hashimoto算法,但是进行了很大的改动. 1. Dagger-Hashimoto Dagger-Hashimoto算法想要达到以下几 ...

  4. open-ethereum-pool以太坊矿池源码分析(5)proxy模块

    # open-ethereum-pool以太坊矿池-proxy模块 ## ProxyServer定义 ```go type ProxyServer struct { config *Config bl ...

  5. 【区块链 | 智能合约】Ethereum源代码(8)- Ethereum服务和以太坊P2P协议发送广播源码分析

    在"[区块链 | 智能合约]Ethereum源代码(2)- go-ethereum 客户端入口代码和Node分析"一文中,我们提到Ethereum作为一个service,被Node ...

  6. 区块链技术进阶-深入详解以太坊智能合约语言 solidity(含源码)-熊丽兵-专题视频课程...

    区块链技术进阶-深入详解以太坊智能合约语言 solidity(含源码)-103人已学习 课程介绍         区块链开发技术进阶-深入详解以太坊智能合约语言 solidity视频培训教程:本课程是 ...

  7. 智能合约重构社会契约(11)天德区块链智能合约系统

    智能合约是可以运行在区块链上的合约代码,是一种运行在区块链之上的电子协议,它允许在没有第三方的情况下进行可信执行. 1. 设计原则 智能合约数据来源于链上. 智能合约的输人是从区块链的数据库里出来的. ...

  8. 论述《区块链智能合约的合同效力认定》去中心化金融的钞能力赛道

    | 没有喧嚣,没有问候的"沉默",请安静听完这段征途故事! 摘要 智能合约是自动执行合同条款的代码协议,其以代码替代传统人为执行合同,本质上是运用代码"编译"传 ...

  9. [区块链安全-Ethernaut]区块链智能合约安全实战-已完结

    [区块链安全-Ethernaut]区块链智能合约安全实战-已完结 准备 0. Hello Ethernaut 准备工作 创建实例并分析 合约交互 总结 1. Fallback 创建实例并分析 合约交互 ...

最新文章

  1. 2022-2028年中国锅炉行业投资分析及前景预测报告
  2. [Python] Django框架入门
  3. 常用日志门面和日志实现
  4. Servlet_urlpartten配置
  5. diff算法_vue源码解读 diff算法
  6. 小程序 公众号/h5相互跳转-webview
  7. Linux下搭建 kafka集群 + zookeeper集群部署 安装、启动、停止
  8. struts2整合uploadify插件怎样传参数
  9. 一个PHP压缩类,在线压缩文件
  10. mysql 主从 binlog_mysql 主从 binlog
  11. 12月14日丨Harbor技术沙龙与您相约深圳!
  12. fluent瞬态计算终止条件在哪里设置_基于商用软件FLUENT的LES(大涡模拟)计算教学...
  13. springboot整合mybatis拦截器分页
  14. 中国邮箱品牌使用情况调研——TOM邮箱
  15. 干掉hao123恶意植入浏览器
  16. Deepin安装dotnet
  17. 王牌战士服务器维修,《王牌战士》8月12日更新维护公告 英雄免费解锁两周年专属活动...
  18. 安装jupyter notebook中关于markupsafe的问题
  19. 华为用linux系统装eclipse,centos装eclipse
  20. 飞控简析-从入门到跑路 第二章PX4的位置控制(1)

热门文章

  1. 伪装计算机主机,怎么伪装电脑配置
  2. oracle多个innerjoin,SQL语句多表inner join的用法
  3. SQL Server 查询某个数据库中的所有表名、某个表的字段名、字段类型、字段注释
  4. c语言课设报告仓库管理系统,c语言课设仓库管理系统.doc
  5. 播客周报|日谈付费节目尝试播客广告,云听与TME签署战略合作
  6. html迪士尼网页实现代码
  7. 邮箱服务器邮件压缩,Windows Mail 可以压缩邮件存储.这可能需要几分钟.
  8. 儿童台灯怎么选对眼睛好?精选被央视315表扬的护眼灯
  9. 对倒卖公民信息案有感
  10. 获取当周的周六、周日