分类 Crypto 下的文章

大活来了,从 1.35.* 升级到 8.*.*

一边操作一边备忘

概述

参考 247大佬的文章,做前置准备(链接在文末),主要是安装一些新的依赖,以及关键的两个

ghc要更新到 8.10.7 (在1.35.7版本已经升级满足)
cabal 需要更新到 3.8.1.0 (比较矛盾的一点,要升级到这个版本,需要ghc升级到 9.2.8)

因此,一个奇怪的顺序是
1 需要先升级ghc到 9.2.8,
2 然后升级cabal到 3.8.1.0
3 再次设置默认版本ghc为 8.10.7(降级)

最简单最理想的情况下,如无意外。做完前置准备。用官方已经编译好的bin文件直接替换就升级完了
需要自行编译的要进一步获取源码和配置

cntools是否需要配套更新待确认。

最优先目标是先把节点运行平顺过渡上 8.* 版本, stakepool 的管理工具功能的验证可以滞后。






- 阅读剩余部分 -

cnode 最近发布了 8.0.0 版本的更新,虽然是一个 mainnet release ,但没有打算那么早更新。只是打算作为提早了解的心态找个本地节点进行了尝试,没想到陷进去一整个晚上搞到焦头烂额。从下午一直反复试错,到现在得出结果已经是凌晨 1:26。淦!

主要发现的问题是cntools无法正常使用,表现在所有的wallet显示余额为0,无法对资金进行任何的操作。

按惯例先说结论

由于一个cntools的历史升级,改了查询余额的方式,改用了远程的API,而好死不死这个API因为某些原因在本地不好使。导致所有的资金操作卡死,因为任何的tx操作需要支付fee,余额0会直接导致失败。
提示

ERROR: payment and/or stake signing keys missing from wallet!

解决办法,根据官方的文档恢复旧方式查询(命令行查询 UTxOs 或使用本地部署那个远程API, 不去调用远端的API)


- 阅读剩余部分 -

其中一个relay节点,配置最低的一台。最近两个月不时掉线。掉线之后cnode进城自动重启后会清空 $CNODE/db/immutable/ 目录把整个区块链进行重新同步。
在同步过程耗费巨量时间之后可能在中途再度发生写入错误或者分叉,导致出错。周而复始又清空重新同步导致节点一直无法完成启动。而且持续大量写入SSD, 对硬件寿命和稳定性都造成严重的影响。

*先说结论,问题是否得到彻底解决未知,仍在观察中。具体操作直接跳到最后一段。

以下是这两个月来采取过的几个措施,收效一般。


- 阅读剩余部分 -

本次是一个大更新,官方计划的转主网的时间是 7月底。由于 1.35.0 的 release 已经放出,提前做一下升级。
基本的升级流程和以前版本一致,相同的部分略过不表。有一个小坑需要备忘一下

按以前的步骤git更新到目标版本, 然后运行 cabal_build_all.sh

编译遇错


- 阅读剩余部分 -

上文core node 遭遇分叉(fork)的问题无法启动正在修复中,出块时间又逼近。决定冒险执行 core 的迁移。

原本升级迁移的也在计划中,只是这次遇到情况提前了。万幸手边设备是就绪的,除了故障的core以外内网还有3个可用的relay在正常备选。
选之前众筹拿到的 r86s,配置16G RAM 和 128 eMMC+ 500G SSD 较高,应付将来 cardano-node 升级要求提高还有充分的冗余。

准备工作

至少需要2台节点设备,建议3台。
建议有1 core 2 relay 3台,因为 迁移 relay至少得停掉其中2台,重启后如果没有relay保持在线,外部检测会认为你的pool完全脱机。



- 阅读剩余部分 -