呼,是出一口气;吸,是争一口气!

生活不止眼前的苟且,还有读不懂的诗和到不了的远方。

比特币源码解析(26) - 可执行程序 - Bitcoind

0x01 Step 11: Import Blocks 从这一步的名字也可以看出这一步主要的内容就是导入区块,也就是从外部文件中导入区块信息,并加载到内存,更新区块索引等信息,具体代码如下。 // **************************************************...

2019-04-03 17:35:49

阅读数 21

评论数 0

比特币源码解析(25) - 可执行程序 - Bitcoind

0x01 Step 8:Start indexer 分析完了第七步,下面我们继续来看第八步的内容。 // ********************************************************* Step 8: start indexers if (gArgs.G...

2019-04-03 17:31:52

阅读数 22

评论数 0

比特币源码解析(24) - 可执行程序 - Bitcoind

0x00 失踪人口回归 每隔一段时间都是说要写完,结果都是写了一篇就搁下了。。啪啪啪!打脸,嗯,加油写! 0x01 AppInitMain Step 7: load block chain 续(2) CCoinsViewCache 在上一章中,我们分析到了init.cpp line 1515这里,...

2019-04-03 17:15:12

阅读数 25

评论数 0

比特币源码解析(23) - 可执行程序 - Bitcoind

目录 目录 0x00 回来啦~ 0x01 AppInitMain Step 7: load block chain 续(1) LoadGenesisBlock CCoinsViewDB ReplayBlocks 0x00 回来啦~ 翻起上一篇比特币的分析还是2017年11...

2018-06-27 15:27:14

阅读数 1155

评论数 4

【CryptoKitties源码解析】养猫的正确姿势!

今天想介绍一个最近比较火的一个“区块链”应用CryptoKitties,这个应用本质上实现的功能就是电子猫的繁殖与交易两个功能,功能上虽然比较简单但是再加上区块链这个强大的底层技术作为支撑,让它在整个行业掀起了一波热潮,甚至还导致了以太坊主网的堵塞,使得以太坊中未确认的交易数量从平常的2.5k增涨...

2017-12-10 23:13:19

阅读数 7751

评论数 11

【区块链开发指南】区块链进阶

存储额外数据在区块链上存储额外数据是指那些存在区块链上但是对交易没有任何影响的数据,目前存储额外数据主要有两种方法:OP_RETURN和Multi-Signatures。OP_RETURN2013年,比特币协议中引进了一项新的功能,即:创建一种名为OP_RETURN的交易,可以嵌入40字节小段数据...

2017-12-10 23:05:11

阅读数 2731

评论数 0

【区块链开发指南】区块链基础之挖矿和矿池

什么是挖矿?讨论到比特币时,经常会提到的一个名词就是“挖矿”,那么挖矿到底是什么呢?它的详细过程又是怎么的呢?对于我个人而言,以前我知道所谓挖矿大概就是要找一个随机数,使得区块的哈希值小于某个数,但具体是怎样的呢?不知道。。。当然,还不仅如此,很多其他的概念像区块的结构、交易的结构、脚本的类型、P...

2017-11-28 14:19:22

阅读数 5965

评论数 0

【区块链开发指南】区块链基础之区块和交易

在区块链网络当中,所有的数据都以区块的形式记录在各个节点上。而每个区块又以单独的文件保存在节点本地磁盘上,在比特币(Linux系统)中所有的区块信息都保存在~/.bitcoin/blocks/目录下面,并以blk***.dat文件名标示。

2017-11-28 14:17:24

阅读数 4925

评论数 0

【区块链开发指南】区块链基础之比特币地址

比特币地址是一个由数字和字母组成的字符串,并且由公钥经过Hash函数生成。通常我们见到的比特币地址是经过Base58Check编码的,这种编码使用了58个字符和校验码,提高了可读性、避免了歧义,并能有效防止地址输入时产生的错误。

2017-11-28 14:14:01

阅读数 2997

评论数 0

【区块链开发指南】序言

申明:本系列文章皆是关于《区块链开发指南》一书的摘选与总结,希望能够普及区块链技术,推动区块链行业的健康发展。

2017-11-25 13:47:55

阅读数 4017

评论数 0

比特币源码解析(22) - 可执行程序 - Bitcoind

0x01 AppInitMain Step 7: load block chain计算缓存大小 fReindex = gArgs.GetBoolArg("-reindex", false); bool fReindexChainState = gArgs.GetB...

2017-11-16 22:03:15

阅读数 4643

评论数 8

比特币源码解析(21) - 可执行程序 - Bitcoind

0x00 摘要经过前面20章的分析,我们已经渐渐接近比特币的核心功能部分了,也就是它的共识、交易处理等等。虽然前面基本上都是做的一些初始化的工作,但是这些工作对于比特币的整体运行来说都是必不可缺的,并且就像在之前讲过的信号处理、并发处理等等都是值得学习的部分,本章主要介绍AppInitMain中的...

2017-11-12 22:49:37

阅读数 5934

评论数 3

比特币源码解析(20) - 可执行程序 - Bitcoind

0x01 AppInitMain Step 5: verify wallet database integrity#ifdef ENABLE_WALLET if (!WalletVerify()) return false; #endif Step 5主要是验证钱包数据库的...

2017-11-10 19:43:28

阅读数 2336

评论数 0

比特币源码解析(19) - 可执行程序 - Bitcoind

0x01 StartRPCbool StartRPC() { LogPrint(BCLog::RPC, "Starting RPC\n"); fRPCRunning = true; g_rpcSignals.Started(); return t...

2017-11-09 15:06:41

阅读数 2162

评论数 0

比特币源码解析(18) - 可执行程序 - Bitcoind

0x01 InitHTTPServer初始化访问控制列表(ACL) if (!InitHTTPAllowList()) return false; if (gArgs.GetBoolArg("-rpcssl", false)) { u...

2017-11-07 10:55:13

阅读数 2927

评论数 0

比特币源码解析(17) - 可执行程序 - Bitcoind

0x01 Step 4a - ContinueCScheduler 实现 // Start the lightweight task scheduler thread CScheduler::Function serviceLoop = boost::bind(&CSched...

2017-09-25 17:05:03

阅读数 3469

评论数 1

比特币源码解析(16) - 可执行程序 - Bitcoind

0x01 AppInitSanityChecks - Step 4 sanity checksbool AppInitSanityChecks() { // ********************************************************* Step 4: ...

2017-09-22 12:46:49

阅读数 2912

评论数 0

c++并发编程 - Boost Thread

0x00 摘要在分析比特币源码时,最开始就简单学习了一些boost thread的简单用法和最基本的互斥锁,但看到后面发现还用到了更深层次的并发编程知识,于是又回来完整的学习一下,这里做个学习的总结。本文的内容主要包括线程组(Thread group)以及各种互斥锁(lock_guard, uni...

2017-09-21 22:03:13

阅读数 2611

评论数 1

比特币源码解析(15) - 可执行程序 - Bitcoind

0x01 Step 3: parameter-to-internal-flags - continue由于Step 3中的内容太多,所以上一章未能完成,这一章继续分析Step 3中剩下的内容。

2017-09-20 10:18:54

阅读数 4314

评论数 0

比特币源码解析(14) - 可执行程序 - Bitcoind

0x00 AppInitParameterInteraction这个函数包括源码中的Step 2和Step 3两个,主要实现的功能是设置区块链运行时的一些参数。0x01 Step 2 - parameter interactions // if using block pruning, th...

2017-09-14 17:11:05

阅读数 5350

评论数 2

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