比特币源码研读(4)——AppInitMain()验证钱包参数、数据库

接下来AppInitMain()运行到VerifyWallets(),VerifyWallets()在 src/wallet/init.cpp 文件中,主要是验证命令行输入的有关钱包的参数和数据库。 1、命令行参数 -disablewallet 判断是否阻止钱包,默认是开启钱包的 2、命令行参数 – […]

比特币源码研读(3)——AppInitMain()程序初始化设置

AppInitMain()函数在init.cpp文件,做的事情非常多,主要的有应用程序初始化、验证钱包数据库完整性、网络初始化、下载区块数据、加载钱包、数据目录维护、导入区块、开启节点。今天均益先说一下应用程序初始化 一、开启日志记录 检查参数-shrinkdebugfile,是否减少日志文件 打开 […]

比特币源码研读(2)——AppInit()初始化参数设置

继上一篇设置运行环境之后,程序运行到AppInit()函数。AppInit函数对从命令行传入的参数做初始化设置。主要完成的设置的有: 1、判断帮助和版本信息 检查参数中是否有-? -h -help,如果有,输出帮助信息。检查参数中是否有-version,如果有,打印当前客户端的版本信息 2、检查运行 […]

比特币源码研读(1)——设置运行环境

前言: 对于我这个刚学了几天C++的菜鸟来说,马上上手学习比特币的源码是有一定难度。但是既然加入区块链研习社比特币源码研读班,哭着也要坚持下去。 通过这两周的学习,均益发现不要着急研读比特币的源码。可以先从《精通比特币》、《比特币开发者指南》这两本书入手,对比特币有了一个大概的了解之后,学习起来会容 […]

比特币(Bitcoin)客户端源码编译流程

本文安装编译的环境: 阿里云 Ubuntu 16.04 64位 镜像 比特币核心版本 0.16.0 内存2G以上 磁盘空间150G以上 安装目录 /root  安装步骤: 1、安装依赖 sudo apt-get update   sudo apt-get upgrade   su […]

python打包生成exe程序软件

如果我们需要将写好的python程序分享给他人使用,而对方电脑上没有python环境,并且对方还是个小白。这种情况下,我们丢几个py文件过去,对方肯定懵逼。 在Windows系统下,我们可以将python程序生成exe文件,这样对方不用安装python环境,直接打开exe文件就可以使用我们的程序。是 […]

python实现pdf文件转为图片(中文也可以转换)

需要用到模块wand,这是Imagemagick的Python接口。我们需要用它来将pdf转换为图片 安装方法 pip install wand 实现的方法在下面代码中,仔细看里面注释   #coding:utf-8 from wand.image import Image   […]

python模拟文件上传(multipart/form-data形式)

我们通过抓包工具,抓到上传文件的时候下面的post传输的数据,就是浏览器控制器中显示的Request Payload ——WebKitFormBoundarynZb9BK3DBujba6Z2 Content-Disposition: form-data; name="__VIEWS […]

scrapy分布式爬虫使用bloomfilter去重

在上一篇博文中,我们介绍scrapy简单的分布式爬虫是通过scrapy-redis这个模块来实现的。各个服务器上的爬虫访问同一个服务器上的redis,通过redis的set来去重。通过这种方式来去重,有一个问题就是当爬取的网页很多,几百万上千万或者更多的时候,那就非常占用内存了。 如果希望减少内存的 […]

scrapy简单分布式爬虫的实现方法

原理 所有机子连接同一个redis,获取和存放url scrapy和redis通过scrapy-redis连接,直接通过pip install scrapy-redis安装,scrapy-redis的官方文档 http://scrapy-redis.readthedocs.io/en/stable/ […]