首页 > 资讯 > 应用 > CITA:面向企业级应用高性能区块链内核
CITA的版本升级、协议升级相关问题
2019-11-01 14:04:10作者:CITA来源:CITA
一条链对于多版本节点是否支持?
“版本”要明确是软件版本,还是协议版本。软件版本可以不同,但协议版本要一致。但不建议长期不一致,新版本发布就是为了修复旧版存在的问题,因此只建议在做不停机升级时使用多软件版本并存的过渡方案。 案例:3 个共识 0.20.2, 一个共识 0.19,一个老版本节点不能参加共识,但是可以同步数据,而且可以参与投票。
cita链有指令可以查询版本号吗?在 v0.23.0 及以后版本,如果打开了 --enable_version 配置,可以通过 JSON-RPC 接口 getVersion 获取,详细见这里。其他版本需要通过运行 binary 文件方式, 运行 cita-jsonrpc --version 查看。
升级后 chain-id 会变化吗?不变。
关于更新节点时是否需要停节点。比如咱们以后有 4 个 CITA 的共识节点 + 2 个只读节点,更新版本的时候需要 6 个节点都是停了更新完 bin,再启动服务;还是在不停止其他服务的情况下,可以单独地更新一个个的节点?对于 0.17 升级 0.18 这种兼容的升级,两个版本的 bin 其实是可以同时存在的,最好是一个节点一个节点更新,这样可以不中断服务。
协议升级升级过程要多久?
当有协议变更时 https://docs.citahub.com/zh-CN/cita/protocol-upgrade/v1 升级协议需要开启紧急制动,就是链要暂停。需要些时间(看数据量)。协议变更,Transaction 结构中增加 to_v1 字段,类型为 bytes。在链的协议版本为 v1 时,原来 to 字段不再使用。Transaction 结构中增加 chain_id_v1 字段,类型为 bytes(u256)。在链的协议版本为 v1 时,原来 chain_id 字段不再使用。Transaction 结构中的version字段必须填 1。协议升级会增加字段。
数据备份、迁移 目前 CITA 底层区块数据不断增长,占用空间很大,需要有办法压缩区块及日志数据,目前CITA有支持吗?做快照是可以减少目录大小,但老的数据会丢失。 日志可以清理掉或者备份到其他服务器上,参考 CITA 文档:https://docs.citahub.com/en-US/next/cita/system/log
日志 CITA运行的日志文件存放在哪里?node1/logs下。