【区块链 | 智能合约】Ethereum源代码(11)- 以太坊核心BlockChain源码分析
创始人
2024-03-20 08:13:12
0

前面几节都在分析以太坊的通信协议,怎么广播,怎么同步,怎么下载。这一节讲讲以太坊的核心模块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, 

相关内容

热门资讯

湖南一县级市人民法院原院长,被... 湘西自治州中级人民法院立案信访局三级调研员周勇(曾任凤凰县人民法院党组书记、院长,吉首市人民法院党组...
中航工业集团原董事长谭瑞松被起... 最高人民检察院8月5日发布消息,中国航空工业集团有限公司原党组书记、董事长谭瑞松涉嫌贪污、受贿和内幕...
西藏各领域生态补偿制度不断建立... 8月5日,国务院新闻办公室举行新闻发布会,介绍西藏自治区成立60周年经济社会发展成就,并答记者问。西...
不知道过路口该遵守哪些法规?东... 新京报讯(记者裴剑飞)近期,北京启动非机动车十大不文明骑行行为专项治理行动,这十项行为中绝大多数属于...
金昌:落实“四比对一报告”制度... 今年以来,金昌市人社局深入贯彻落实社会保险基金安全管理工作要求,严格落实“四比对一报告”制度,通过多...
平顶山市湛河区西苑社区:“左邻... 河南经济报记者 吉娜 通讯员 刘佳慧 “您这一番话讲得太好了,我们楼上楼下是搬不走的邻居,应该多照应...
OpenX起诉谷歌 昨日,美国广告技术公司OpenX对谷歌提起诉讼,指控其在数字广告市场中存在反竞争行为,在各个环节都严...
TA:“为球员伸张正义”组织在... 直播吧8月5日讯 据The Athletic报道,根据新成立的荷兰基金会透露,国际足联正因其转会规则...
“没有工会律师帮忙 这笔工伤赔... 中工网讯 “在工会律师的帮助下,我终于拿到了69000多元工伤赔偿。如果没有他们的帮助,这笔钱真的很...