【通知】POS 节点更换 POS key 公告和操作指南

通知:由于安全性的原因,建议所有 POS 节点尽快更换 POS key。

操作指南

如何更换 PoS Key

如果矿池运行者需要切换矿池所关联的 PoS 节点,可通过以下步骤完成:

  1. 关闭矿池的操作功能
  2. 待所有票完成锁定之后,由管理员将矿池的所有用户的票进行解锁操作
  3. 待所有票解锁完成之后,获取新的 PoS 节点注册数据,并执行注册操作,并打开矿池的操作功能
  4. 重新帮所有用户的票进行质押操作

Pre

升级合约代码

矿池操作功能的关闭与打开需要使用 v1.2.0 及以上的合约版本,合约升级操作参看

设置锁定,解锁时间

Conflux v2.2.0 hardfork 之后 PoS 投票的锁定时间改为 13 天,解锁时间改为 1 天。矿池的相应设置需要调整:

node bin/pool.js Pool setLockPeriod 2250000
node bin/pool.js Pool setUnlockPeriod 176400

1 关闭矿池操作功能

node bin/pool.js Pool setPoolRegisted false

2 解锁所有票

待所有票完成锁定之后,由管理员将矿池的所有用户的票进行解锁操作

node scripts/replaceKey/unlockAllVotes.js

Note: 若有投票未完成锁定,该脚本会给出提示并退出。

3 使用新的 Register Data 重新注册

需要等待所有票解锁完成之后,方可进行新的注册操作。可在 Scan PoS 账户详情页 待处理票权 Tab 查看此信息(需要替换自己 pos 节点的地址信息)。

使用新的PoS 节点注册数据,执行注册操作,将注册数据配置到 env 文件中的 POS_REGIST_DATA 配置项.

node bin/pool.js registerPool

备注:

  • 如果想继续使用原有节点,但生成新的注册 data,需要先停掉节点,将 pos_config/pos_keypos_db/secure_storage.json 文件删除,然后再启动节点,将会自动生成。
  • PoS 节点关停操作,建议参看如何避免节点被 forceRetire 说明,妥善关停节点
  • 注册 data 的获取方法为 ./conflux rpc local pos register --power 1
  • 管理员可将原来注册用的 1 vote 提取出来,重新用于注册

4 重新将所有的票进行质押

待所有票完成解锁之后,由管理员将矿池的所有用户的票进行重新锁定操作

node scripts/replaceKey/reLockAllVotes.js

Note: 若有投票未完成锁定,该脚本会给出提示并退出。

=====================================================================
详情参考:https://github.com/conflux-fans/pos-pool/blob/main/contract/docs/HowToReplacePosKeyZH.md

1 Like

pos质押地址https://govemance.confluxnetwork.org/无法打开了,科学上网也不行

你域名输错了
正确的域名 https://governance.confluxnetwork.org/en/governance/

这个我也进不去,你那能进去不?

我这提示这个,科学上网也用了!


可以的

我这死活进不去奇怪了,你那钱包连接有反应吗

我这里正常 挂个vpn试试

挂了vpn的我发现手机上可以进去,电脑不行,怀疑是电脑问题。我再研究一下试试。谢谢

请问一下你用的什么浏览器

chrome

换了个vpn软件进去了!!!

谢谢了

对官方教程的操作步骤和补充

官方的教程正确普适,但对于老节点升级合约和更新pos_key的情形,部分操作流程不够清晰,故分享一个更具体的操作流程。

0、矿池升级通知给用户,前端停止各种操作和增加通知。
1、拉最新的合约工程代码,把原来节点的.env直接拷贝进来。
2、重新部署pospool并注册到代理合约上,并设置了时间
node bin/pool.js deploy Pool
node bin/pool.js upgradePoolContract 合约地址
(这里不用更新.env文件)
node bin/pool.js Pool setLockPeriod 2250000
node bin/pool.js Pool setUnlockPeriod 176400
3、在矿池查询页面,确定没有在锁定或解锁的等待的
4、取消老节点的注册,node bin/pool.js Pool setPoolRegisted false
5、解锁全部投票 node scripts/replaceKey/unlockAllVotes.js
6、停止节点
7、删除pos_config/pos_key 和 pos_db/secure_storage.json(删除前备份留个底)
8、启动节点
9、获得新的pos_data ./conflux rpc local pos register --power 1(等待十几秒重新自动生成上两个文件后)
10、修改.env的POS_RIGIST_DATA为上一步的posdata(其他不用改,修改前备份目前的posdata)
11、在矿池查询页面,查询和等待第5步引起的解锁全部完成(大约需要1-2天)
12、重新注册矿池node bin/pool.js registerPool(pos node address会变,已知可更新.env的pos_node参数和更新你自己的记录,是否有其他需要更新的地方需要进一步考虑)
13、重启质押投票node scripts/replaceKey/reLockAllVotes.js
14、应该是成功了。可以去矿池查询页面查询矿池状态是否正常,去前端页面查看新矿池是否正常,尝试质押和提取。
15、恢复前端服务,通知用户。

Tips1:原节点的1k可在前端页面取出,但是建议先放着,不要取这个!
Tips2:原节点的一套信息先备份好,以防需要恢复等情况。(这三个关键文件:pos_key secure_storage .env 以及所有的合约地址)
Tips3: 矿池查询页面:查看是否有在等待的地址:
https://confluxscan.net/pos/accounts/矿池地址?tab=right-status