家里的电脑突然断电,然后重启 Geth 全节点,然后数据就丢了
|      1lloovve      2022-12-18 09:02:45 +08:00 via iPhone  1 这不就骗子项目么,再说你自己断电,跟他也没关 | 
|      2ltkun      2022-12-18 09:09:08 +08:00 via Android  2 加个 UPS | 
|  |      3smallyu      2022-12-18 09:11:00 +08:00 你断电了,以太坊又没受影响 | 
|  |      4wang2tiger      2022-12-18 09:19:01 +08:00 不明白,能丢啥?块链信息都在数据库里,断电顶多进度差几个 block ,来电了联网了一般很快就恢复好了。你啥数据能丢? | 
|  |      5jfdnet      2022-12-18 09:24:02 +08:00 区块链会因为某个小小的节点丢数据?你怕是个假节点吧。 | 
|      60o0O0o0O0o      2022-12-18 09:27:33 +08:00 不会修复就重新同步,在家跑加个 UPS | 
|      7xinh      2022-12-18 09:40:57 +08:00 via iPhone 报道称 FTX 内部有一个名叫“Wirefraud”的秘密聊天群 这新闻你看看😂 | 
|  |      8lasuar      2022-12-18 11:00:17 +08:00  4 这发言,懂区块链? | 
|      9jworg      2022-12-18 11:06:00 +08:00 via iPhone 你家数据库意外断电能保证数据完全不损坏吗。 | 
|      10jworg      2022-12-18 11:09:38 +08:00 via iPhone @wang2tiger 大概率刚好把 head state 弄坏了,然后重建 head state 需要遍历所有区块,本地的 geth 数据也还在,只是验证完毕前不给用,如果是机械硬盘,这个遍历所有数据的速度非常慢。 | 
|      11baibing      2022-12-18 11:23:15 +08:00 Geth 只是 ethereum 的一个客户端而已,你可以说这个客户端做得不咋滴,出现数据不一致后 client 得做一次 full sync 。你也可以试试其它客户端或者自己开发执行层客户端哈。 | 
|  |      12Perry      2022-12-18 11:29:17 +08:00 丢数据难道不是你硬件的问题么。。。哪有软件可以做好断电保护的? | 
|  |      13ZaneCheney      2022-12-18 11:32:14 +08:00 via iPhone 还是中心化思维在理解区块链。 你机子上的数据只是一块没被认可碎链。 | 
|  |      14dw2693734d OP @lasuar 做 Ethereum 开发了有半年了,可能没你懂 | 
|  |      15dw2693734d OP @ZaneCheney 我说的是我电脑的上面的 block 数据全部丢失 @jworg 我本地的 PostgresSQL 数据库没有丢 @wang2tiger 恢复不了,一直 Reparing ,数据全部损坏了 @lasuar 自己去 Google , “geth power outage” | 
|  |      16dw2693734d OP @lasuar 你这种人说话完全不过脑子的 | 
|      17jworg      2022-12-18 13:09:42 +08:00 via iPhone @dw2693734d 再说一遍你的数据都在,只是 head state 没了,不信你查看前后每个 blk 的 checksum ,然后重建 head state 需要本地的数据和外面的 peer 连接验证,和全量同步是有区别的。 | 
|  |      18dw2693734d OP @jworg 确实,现在不知道为啥又恢复了 | 
|  |      19dw2693734d OP | 
|  |      20dw2693734d OP @jworg 只能获取 7-8 天内的 tx 数据了,超出的直接返回 null | 
|      21ryants      2022-12-18 13:38:06 +08:00  1 @dw2693734d 那就损坏到 blk 数据了,这种情况我没遇到过,建议重新起一个跑,可以把同目录 ancient 文件夹拷贝到新的目标的文件夹,应该会少同步一些。 | 
|  |      22dw2693734d OP @ryants 好的,谢谢,原来还可以复制 ancient 数据 | 
|  |      23byte404      2022-12-18 15:11:00 +08:00 via Android 单节点程序没办法在断电时完美保障数据吧 | 
|  |      24leavic      2022-12-18 15:32:47 +08:00 几千亿市值是给写客户端的程序员了吗? | 
|  |      25zmy2000      2022-12-18 17:02:51 +08:00 每日一笑 | 
|  |      26meeop      2022-12-18 17:44:12 +08:00 这是你的问题,是你挂了,又不是以太坊挂了 这倒是说明以太坊很稳定,你看你挂了并不影响以太坊网络,说明其非常健壮 | 
|  |      27dw2693734d OP @meeop 是的,我没有说是以太坊的问题,我说的是 geth 的问题,可能表达欠妥,不好意思 | 
|  |      28greensea      2022-12-19 18:08:54 +08:00 via Android  1 恭喜楼主入坑,我之前做区块链项目,也是自己跑全节点,结果各种坑层出不穷,都是客户端的锅。 你以后还会遇到更多的问题,如果已经上线的话,请做好服务中断的准备。 当时我们用了两台服务器互作热备,也出现过双机失效的情况,最大的原因是这东西数据一坏,就有可能要重头开始同步,没一两周跑不完。 如果数据库是因为断电坏了那还说得过去,可这东西自己跑着跑着自己就崩溃了,然后数据库就挂了,我真是不知道说什么好。 geth 和 parity 都有问题,楼主也别想通过更换客户端解决。 最后建议就是,直接用现成的 RPC 服务,不要自己搭全节点,如果非要自己搭全节点,搞四台服务器,跑不同版本的客户端,每小时停一个节点做个磁盘快照,这可能就样比较稳妥了吧 | 
|  |      29DiffView      2022-12-19 19:32:11 +08:00 geth 问题多的一批,你做啥要自己搞 full node ? | 
|      30hadesjaky0607      2022-12-21 15:37:04 +08:00 @greensea 可以自己写脚本对区块数据进行备份, 直接替换,省的每次都 reindex | 
|  |      31greensea      2022-12-23 23:52:56 +08:00 @hadesjaky0607 有考虑过,但是上 TB 的数据备份起来也挺花时间的,在这期间数据库一改,全部完蛋,所以只能停了节点再备份。 然而,就算是停了节点再备份,等备份完毕之后,这节点又要花时间去赶进度,这又多了额外的调度逻辑,越来越复杂了。 结果最后就是停节点然后做快照是最合适的。 | 
|  |      3274123gzy      2023-02-21 15:31:20 +08:00 你不就是那几千万分之一么,你自己没做好断电保护 |