我专用于一台英特尔原子笔记本电脑,内存为2GB,SSD作为我的ethereum节点。我正在运行geth作为systemd守护进程。现在,它日夜运行3+,命令如下:
geth --fast --cache=1024 --jitvm 2但是唉,我打开了ethereum钱包,上面写着我只有1%的区块链没有装载。(我支持10 10Mbps的互联网连接)
使用
geth attach然后
eth.syncing给出
{ currentBlock: 178336,highestBlock: 3405682,knownStates: 1069106,pulledStates: 1000195,startingBlock: 105918 }
这太疯狂了!还是我需要一台超级计算机,附在核反应堆上就能下载区块链?现在看来总共需要两个月。
编辑(第二天)
晚上好。今天我们在
{ currentBlock: 258502,highestBlock: 3411279,knownStates: 58508,pulledStates: 21838,startingBlock: 256974 }
从同龄人的数量来看,似乎有24个。
admin.peers.length
24谢谢你的建议,但同龄人的数目似乎不是问题。如何检查NAT遍历是否是一个问题..?我已将路由器配置为将所有内容转发给我的主服务器。(没有防火墙,NAT,什么都没有)
几天后编辑
依然坚挺
{ currentBlock: 887422,highestBlock: 2283547,knownStates: 2144,pulledStates: 126,startingBlock: 887418 }
这个虚幻的东西太棒了。
编辑(再过几天)
eth.syncing { currentBlock: 908606,highestBlock: 1211334,knownStates: 70444,pulledStates: 7563,startingBlock: 906796 }
我现在在用
geth --fast --cache=512 --nat=none内存使用情况:
total used free shared buff/cache available
Mem: 1,9G 1,4G 69M 20M 505M 380M
Swap: 2,0G 99M 1,9G。。所以也没有完全消失。
同样奇怪的是,根据"ethstats.net“3 million+,最高的块应该是。在我这里写的第一个"eth.syncing“中是正确的,但是在上一次更新中它只有一个million+?
不知道这是否是打包前的.deb发行版中的一个bug (很多人似乎对它们有问题。)不然会怎么样。
这对我来说已经足够了,现在..not还没有完全打开
所以,我从github下载了go-ethereum,从google下载了golang,现在我已经从源代码中编译了geth。
我和你一起跑
geth --cache=512 --nat=none还是没有成功。开始的很好..。三个多小时后,我
{ currentBlock: 967477,highestBlock: 3551915,knownStates: 6218249,pulledStates: 6218249,startingBlock: 0}
。。但是在它为24h+运行之后(我现在有9个同伴):
eth.syncing { currentBlock: 989279,highestBlock: 3558249,knownStates: 149529,pulledStates: 127316,startingBlock: 973578 }
我开始相信这是俄罗斯的庞氏骗局(正如有人建议的那样)。!:-o
发布于 2017-04-18 16:50:04
嗯,确实如此。
问题的根源是linux系统(或者说我对它的了解很差)。我以systemd守护进程的形式运行geth,但是
systemctl --user enable geth.service等命令。现在,当systemd用作每个用户的守护进程时,当该用户注销时,它会杀死与某个用户关联的守护进程。
由于这个原因,当我从ethereum节点登录时,geth总是被关闭,当我重新登录时,它总是重新启动(多么隐蔽的f*!)似乎没有任何进展。我在系统日志中发现了这个。
多尴尬啊!很抱歉我的庞氏骗局的评论,但我很沮丧.
希望有人发现这是有用的(如果没有,至少有趣)。
https://ethereum.stackexchange.com/questions/13447
复制相似问题