Bitcoin Core/Omni Core同步节点区块速度慢的解决方法

最近下载了一个bitcoin core全节点钱包,刚开始的时候同步还比较快,以为一天就可以搞定。没想到一天后看,速度越来越慢,看时间要1周以上。本着程序员的捣鼓精神。特别摸索了一下,找了几个解决办法。按照这个方法,现在同步一个全节点钱包大概需要半天多(我家网速200M电信)。而方法网上基本都有人介绍,但是网上的文档都写的漏洞百出,对很多小白来说估计头痛不已。因此特别写出本文档作为总结。

一、更改数据库缓存的方法

方法有两种,1是在bitcoin.conf文件里面增加-dbcache=4000。 4000就是指4000M ,这个就是根据你自己机器空余内存的大小来的。bitcoin.conf放在你的data目录下面。

方法2就是新的版本里面界面就可以设置,我用的18.0版本就有。点击设置,点击选项,就只要修改数据库缓存大小,缺省是450M,修改成9000,就是修改成9000M, 请根据自己机器空余内存的大小来设置。

二、 修改data文件和blocks区块文件的路径

要想更快加速同步的方法,最好将data文件放到SSD的硬盘里面,没有SSD硬盘的放速度快点的SSD的U盘也行。data文件其实只需要3个多G,区块文件才需要200多G。 区块文件没必要放SSD硬盘,浪费资源,放机械硬盘就可以了。本方法也同样适用于移动你的data文件到一个新电脑,本人亲自测试过,新电脑不需要重新同步。下面介绍一下,如何移动你的data文件和区块文件。

1、移出blocks文件

首先要先关闭程序。假设你的数据目录原来在d:\bitcoindata\下面。
先创建一个d:\bitcoin_chaindata\目录。 然后把d:\bitcoindata\blocks目录移动到d:\bitcoin_chaindata\下面。 然后在d:\bitcoindata\下在建立一个blocks目录,把d:\bitcoin_chaindata\blocks\index 目录移动到d:\bitcoindata\blocks\下面。

这样,分离blocks数据的任务就完成了。

2、移动data文件到SSD中

接下来如果你C盘是SSD,那么在C盘下建立一个c:\bitcoin_data\目录,把d:\bitcoindata\下所有文件都copy到c:\bitcoin_data\下面。data目录的移动也完成了。

3、配置data和chains目录的改动

接下来就是配置,更改data目录和blocks目录在bitcoin.conf也可以实现。但我还是告诉大家简单的方法。

在启动栏中,右键点击bitcoin core的程序图标,点击打开文件位置。就会跳出如下文件窗口。

再在这个文件管理器中,右键点击bitcoin core(64-bit)这个快捷图标,再点击属性。就会跳出下面的界面。

在目标这个地方,原来是"C:\Program
Files\Bitcoin\bitcoin-qt.exe", 在其后面增加-datadir=C:\bitcoin_data

-blocksdir=D:\bitcoin_chaindata 。-datadir前面要有空格。“C:\Program Files\Bitcoin\bitcoin-qt.exe”

-datadir=C:\bitcoin_data -blocksdir=D:\bitcoin_chaindata 。 点击确认就可以了。

下次点击bitcoin core启动,你同步里面加速了。

三、 手动增加同步节点

1、手动增加节点的方法。

在调试窗口->控制台中输入,

addnode
121.210.56.132:8333 add (注意冒号后的端口后最好加上,因为有不少接口 不是用的缺省值8333。)

addnode
121.210.56.132:8333 onetry

最好有这个onetry命令,相当于让软件尝试一次,不需要一直尝试。

getaddednodeinfo
可以查看节点是否连接成功,不好的节点可以用addnode 121.210.56.132:8333 del 命令删除。

2、查找快的节点的方法

在调试窗口->同伴中查看节点的数据,其中收到最多的就是说明是比较快的节点。

你可以根据这个ip地址查找一下(baidu查找ip地址归属地),大部分来说最快的节点都是和你同一运营商的地址。建议自己多保存几个这样的快地址,以后几周没有用软件,同步时增加这几个地址,达到的效果也是非常明显。

2
0