如何部署一个 PoS Pool 服务
搭建 PoS 矿池服务
conflux-fans 社区开源了 PoS Pool 矿池代码 任何人都可以拿来部署一个 PoS 矿池服务,该项目包含两部分:合约代码和 Dapp UI前端。
PoS 矿池部署大致分为以下四步:
- 运行一个 Conflux 节点
- 部署矿池合约
- 注册 PoS
- 部署 Pool 前端页面
Conflux PoS 节点创建
具体参看 PoS 节点运行文档
合约部署和注册
参看 pos-pool 合约部署文档
Pool 前端UI 搭建
参看 pos-pool UI 部署文档
矿池维护
PoS 节点升级
PoS Pool 节点需要保持持续稳定运行,因为他们被选进委员会的概率很大,委员会中的节点在任期内,需要负责 PoS 出块投票工作,如果节点出现异常将会影响 PoS 共识工作。目前的 PoS 机制,如果节点当选为委员会成员,但不正常参与投票,持续超过 3 小时,节点将会被强制退休 (ForceRetire)。
ForceRetire 节点的所有 PoS 票会自动被 unlock,unlock 需要经过 7-14天时间才能 withdraw 出来。意味着你将会损失 7- 14 天的 PoS 奖励。
因此要保持 PoS 节点的稳定,做好监控。如果需要做节点升级有以下两种方式:
合约升级
pos-pool 合约采用 Proxy1967 模式,可实现合约升级。如果需要增加功能,优化代码,或修复问题,可进行合约升级操作
注意:合约升级是一个复杂操作,请确保你了解合约升级的原理和注意事项再操作,否则可能导致合约数据的损坏。
ForceRetire 处理
目前该 pos-pool 实现在遇到节点被 forceRetire 的情况,需要管理员手动处理,才能恢复正常,具体参看
eSpace 矿池部署
eSpace 矿池部署参考 pos-pool 相关文档