在尝试同步以太坊的的测试网络时可能会遇到一个问题,就是会发现同步下来的区块会默认存储在C盘底下导致磁盘空间不足,具体的路径如下:
C:UsersAdministratorAppDataRoamingEthereum
- 1
注:如果你找不到AppData,你需要打开隐藏文件
这是以太坊区块默认的存储路径,也是以太坊钱包指定查找的路径。因为即使是测试网络的区块数据也是很多的,如下图是我还没完全同步时的区块数据,已经快接近12G了:
若是这么大的文件放在C盘下肯定不合适,最好是放到其他盘符下,上面说了因为路径是以太坊默认的,也就是说以太坊会自动到这个目录下去查找区块数据,如果找不到就报错,所以我们不能轻易去改变它的指定路径,只能是通过其他的方法了。我在网上查找答案,最终找到了一个很好的解决方案,这篇文章的地址为:https://www.jianshu.com/p/db1378921fa1。
方案就是为 C:UsersAdministratorAppDataRoamingEthereum 这个目录创建一个硬链接,让它指向其他盘符下的目录,如: G:StudyBlockChainEthereum ,这样以太坊钱包访问这个目录文件时发现有硬链接,就会读取或操作硬链接指定的目录文件。下面是具体的步骤。
- 1.首先是先在其他盘符中创建一个Ethereum文件夹,我这里是在G:StudyBlockChain路径下创建的,这个路径你可以随意指定。
- 2.将在C盘中的Ethereum文件改为Ethereum1。
- 3.接着打开cmd窗口,输入命令:
mklink /j C:UsersAdministratorAppDataRoamingEthereum G:StudyBlockChainEthereum
注:这里的mklink /j 命令是建立硬链接的命令;第一个目录路径为要建立关联的路径;第二个目录路径为真实存储数据的路径;
- 4.最后将Ethereum1的内容拷贝到G盘的Ethereum目录即可
上面的步骤是如果你已经开始下载区块了,你的C盘下的Ethereum文件夹已经有数据了的情况下需要这么做,那如果是还没开始同步区块的话就可以不需要上面的第二跟第四步骤了。