自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 以太坊之工作流程(同步完数据之后)

这篇跟上一篇的区别是同步数据完成之后,以太坊的工作流程是怎样的初始化eth/handler.gofunc (pm *ProtocolManager) Start(maxPeers int) { pm.maxPeers = maxPeers // broadcast transactions pm.txCh = make(chan core.TxPreEvent, txChanSize) ...

2018-05-31 20:38:47 2582

原创 以太坊之Downloader同步区块流程

随着以太坊的数据越来越多,同步也越来越慢,使用full sync mode同步的话恐怕得一两个礼拜也不见得能同步完。以太坊有fast sync mode,找了些文章还不是很明白具体内容,所以尝试着看懂写下来,如有错误之处欢迎指正。关于fast sync mode的算法,是在这篇文章中讲述的,看完了也没看明白为什么同步的数据会少,速度会快,所以看看源代码的实现吧https://github.com/...

2018-05-31 19:15:47 6779 12

原创 以太坊 构造函数 codecopy

最近研究以太坊的时候同事讨论了一个问题,智能合约的构造函数是如何保证只执行一次的,记录一下。智能合约在第一次执行的时候调用的是EVM的create函数,看代码// Create creates a new contract using code as deployment code.func (evm *EVM) Create(caller ContractRef, code []byte, g...

2018-05-24 15:45:21 719

原创 以太坊之LevelDB源码分析

最近研究以太坊的LevelDB使用,看了看代码,大致介绍下使用流程(网上介绍的leveldb大多是c++版本的,以太坊使用的是go语言版本的),我使用的是mac book开发环境。介绍中会忽略一些细节,如有重要遗漏或者错误欢迎指出。读此篇文章默认leveldb的基本知识都了解,可以参见我的另外一篇文章介绍https://blog.csdn.net/csds319/article/details/8...

2018-05-18 16:25:34 5596

原创 以太坊之P2P

最近研究以太坊代码中的P2P通信,记录一下以太坊使用的是Kad(Kademlia)协议,BT和电驴都曾使用的协议,关于Kad协议,可以参看介绍:https://github.com/ZtesoftCS/go-ethereum-code-analysis/blob/master/references/Kademlia%E5%8D%8F%E8%AE%AE%E5%8E%9F%E7%90%86%E7%AE...

2018-05-17 19:53:20 1153

原创 Skiplist简介

看了这篇文章大概知道了skiplist的原理https://blog.csdn.net/ict2014/article/details/17394259/Skiplist首先是有序存储的,然后每个节点的后续节点数是random的(至少为2)这样的结构查找效率会比较高,单链表的查询效率为O(n),Skiplist是O(logN),后续看代码(代码不知道什么时候看了。。。)...

2018-05-16 21:20:15 402

原创 LevelDB中用到的技术

先总结一下leveldb中用到技术,然后再一个个研究一下SkipList:memtable中使用了skiplist技术BigTable:compaction用到了bigtable中的minor和major compactionSnappy:leveldb中存储用到了snappy压缩技术Bloom Filter:查找key的时候使用了该技术加速查找...

2018-05-16 11:39:06 439

原创 LevelDB介绍-随笔

最近在看区块链代码的时候对LevelDB有点兴趣,所以了解了一下,这篇文章写的挺好的,可以看看https://blog.csdn.net/linuxheik/article/details/52768223LevelDB是google开源的KV(key-value,存储的数据都是kv的形式)单机数据库,官方版本是C++,比特币使用的是c++版本:    https://github.com/goo...

2018-05-16 10:38:50 724

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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