seaweedfs代码详解
摘要:在seaweedfs分布式文件系统中,删除文件时,deleteNeedle会做三件事情,如下图 第一个删除kv数据库中的索引信息,第二件是,在索引文件的尾部添加删除的信息,对索引文件中原来存储的信息,并不删除。第三件是删除datafile文件中的数据 ,但是并没有真正的删除数据,在datafile文
阅读全文
posted @
2018-06-30 16:37
xgcode
阅读(1511)
推荐(0)
机器学习之两三问
摘要:1、什么是召回率和准确率 准确率比较好理解,准确率是在所有判断positive的对象中,正确判断的比例是多少 公式为 其中TP代表为true positive ,FP为false positive 召回率是在所有positive样本中,判断positive的比例是多少 公式为,其中FN为false
阅读全文
posted @
2018-06-06 23:49
xgcode
阅读(152)
推荐(0)
btcd中database代码详解
摘要:在btcd.go文件中,函数loadBlockDB根据配置初始化了相应的数据库 在btcdMain函数中,调用loadBlockDB()获得数据库的句柄,通过newservre配置blockchain对象 loadBlockDB()返回的是btcd中定义的数据库的接口,接口的定义如下: 函数处理收到
阅读全文
posted @
2018-06-03 21:45
xgcode
阅读(336)
推荐(0)
btcd源码中对tx的校验
摘要:接上文,在这个函数中 调用txMemPool成员函数ProcessTransaction对tx进行校验。在syncmanager对象中,txMemPool,顾名思义就是交易池。负责对交易的验证和管理。 tx的数据结构如下: 在ProcessTransaction函数中调用了maybeAcceptTr
阅读全文
posted @
2018-06-03 18:54
xgcode
阅读(285)
推荐(0)
比特币节点收到交易的处理流程
摘要:btcd中对端发送的网络报文都在该处理函数: func (p *Peer) inHandler() { OnTx是一个函数接口,在初识化的时候注册的,注册代码如下: 在改函数func (sp *serverPeer) OnTx(_ *peer.Peer, msg *wire.MsgTx)中,把收到的
阅读全文
posted @
2018-06-02 18:35
xgcode
阅读(502)
推荐(0)
从网络协议解析比特币交易的流程
摘要:比特币交易时会向node发送一个Tx数据,交易的头部数据格式如下 常见的command类型如下所示: 交易消息的头部command是"tx",交易内容的格式如下: 比特币中对脚本的解析可以参考这个网址 http://www.infoq.com/cn/articles/deep-understandi
阅读全文
posted @
2018-06-02 17:56
xgcode
阅读(1023)
推荐(0)
比特币两个疑问:挖矿和转账
摘要:比特币在挖矿的时候,需要尝试区块头的随机数,直到整个区块头的哈希小于某个难度值时,这个区块就可以提交到p2p网络上。在阅读比特币原理时有一个疑问,比如有A、B两台挖矿机,A先尝试出下一个区块的哈希值,为什么A在往外传播时,B不会直接用这个nonce值,作为自己挖出的。然后传播呢?在阅读btcd的源码
阅读全文
posted @
2018-06-02 15:22
xgcode
阅读(290)
推荐(0)