摘要:随着运行时间的增加,memtable会慢慢 转化成 sstable。 sstable会越来越多 我们就需要进行整合 compact 代码会在写入查询key值 db写入时等多出位置调用MaybeScheduleCompaction () 检测是否需要进行compact 实际进行compact的函数是
阅读全文
摘要:使用TableBuilder构造一个Table TableBuilder头文件 主要是按照格式填充 这里做了简单的注释 参考 https://blog.csdn.net/tankles/article/details/7663918 《leveldb实现解析》淘宝 那岩
阅读全文
摘要:前文记录 leveldb 学习记录(一) skiplistleveldb 学习记录(二) Sliceleveldb 学习记录(三) MemTable 与 Immutable Memtableleveldb 学习记录(四) skiplist补完 KV数据库中 大部分是采用内存存储,如果中途发生意外情况
阅读全文
摘要:Merkle 树 完整的比特币数据库(也就是区块链)需要超过 140 Gb 的磁盘空间。因为比特币的去中心化特性,网络中的每个节点必须是独立,自给自足的,也就是每个节点必须存储一个区块链的完整副本。随着越来越多的人使用比特币,这条规则变得越来越难以遵守:因为不太可能每个人都去运行一个全节点。并且,由
阅读全文
摘要:交易(transaction)是比特币的核心所在,而区块链的唯一目的,也正是为了能够安全可靠地存储交易。在区块链中,交易一旦被创建,就没有任何人能够再去修改或是删除它。在今天的文章中,我们会实现交易的通用机制。 如果以前开发过 web 应用,在支付的实现环节,你可能会在数据库中创建这样两张表: ac
阅读全文
摘要:有了区块和区块链的基本结构,有了工作量证明,我们已经可以开始挖矿了。剩下就是最核心的功能-交易,但是在开始实现交易这一重大功能之前,我们还要预先做一些铺垫,比如数据的序列化和启动命令解析。 根据《用 Go 构建一个区块链》的目录, 本章节的区块数据的序列化存储会使用一款KV数据库。其中比特币中是使用
阅读全文
摘要:本文主要在之前的区块链原形上添加了工作量证明,并且为后继的交易功能做好准备. 上一个章节我们已经创建了区块链的基本原形,但是区块的哈希计算和加入太过于简单,如果按照这种速度添加区块那么区块链估计一个小时就爆满了。 真实的比特币中是全网一个小时产生6个区块,我们的示例中也需要调整区块哈希计算的难度。
阅读全文
摘要:/* 作 者: itdef 欢迎转帖 请保持文本完整并注明出处 技术博客 http://www.cnblogs.com/itdef/ 技术交流群 群号码:432336863欢迎c c++ windows驱动爱好者 服务器程序员沟通交流部分老代码存放地点http://www.oschina.net/c
阅读全文
摘要:/* 作 者: itdef 欢迎转帖 请保持文本完整并注明出处 技术博客 http://www.cnblogs.com/itdef/ 技术交流群 群号码:432336863欢迎c c++ windows驱动爱好者 服务器程序员沟通交流部分老代码存放地点http://www.oschina.net/c
阅读全文
摘要:/* 作 者: itdef 欢迎转帖 请保持文本完整并注明出处 技术博客 http://www.cnblogs.com/itdef/ 技术交流群 群号码:432336863欢迎c c++ windows驱动爱好者 服务器程序员沟通交流部分老代码存放地点http://www.oschina.net/c
阅读全文
摘要:将问题细化 建立简单模型 逐个学习 一些资料 c++区块 英文 https://davenash.com/2017/10/build-a-blockchain-with-c/ 代码 https://github.com/teaandcode/TestChain 中文翻译版 https://blog.
阅读全文
摘要:网页爬虫部分 C++ 提取网页内容系列之五 整合爬取豆瓣读书 C++ 提取网页内容系列之四正则 C++ 提取网页内容系列之三 C++ 提取网页内容系列之二 C++ 提取网页内容系列之一 获取电驴首页推荐信息和指定栏目信息 统计单词出现频率及排序 从单机到多机合作 图文示例并行处理管道 网络部分 as
阅读全文