#dusk $DUSK
翻 Dusk 的节点文档时,我注意到一个平时很少有人讨论的设计:节点响应会带 Rusk-Version,客户端也能提前声明自己接受哪些版本。如果再启用 Rusk-Version-Strict,只要版本不兼容,请求会直接被拒绝。我觉得这个机制比“旧接口还能不能用”更重要,因为兼容从来不是永久承诺。现在文档已经标出 3 条旧快捷路由进入弃用阶段,继续可访问只是给开发者留迁移时间,而不是告诉大家以后还能一直依赖。$BTC
Dusk 实际上已经把新路径划得很清楚。链、区块、交易、内存池和归档等查询,后续应该逐渐迁到 /graphql;合约调用则走 /on/contracts/…。版本协商解决的是“客户端能不能正确理解节点”,路由迁移解决的是“未来应该从哪里拿数据”。这 2 件事放在一起看,我反而觉得严格报错是一种保护。与其让旧客户端拿到自己理解错的数据继续运行,不如在请求阶段就暴露问题,逼着集成方尽早升级。@Dusk
普通用户平时感觉不到这些接口,但钱包余额、交易历史、充值状态和浏览器查询,全都建立在客户端正确读取节点数据之上。所以我现在判断 $DUSK 基础设施成熟度,不只看节点有没有正常出块,还会看钱包、索引器和各类接入端能不能及时完成版本迁移。真正值得观察的是,等旧路由正式删除时,主流客户端是否早已切换完成。如果最后还是用户先碰到查询失败,才倒逼项目修接口,那说明兼容管理还不够成熟。#dusk
翻 Dusk 的节点文档时,我注意到一个平时很少有人讨论的设计:节点响应会带 Rusk-Version,客户端也能提前声明自己接受哪些版本。如果再启用 Rusk-Version-Strict,只要版本不兼容,请求会直接被拒绝。我觉得这个机制比“旧接口还能不能用”更重要,因为兼容从来不是永久承诺。现在文档已经标出 3 条旧快捷路由进入弃用阶段,继续可访问只是给开发者留迁移时间,而不是告诉大家以后还能一直依赖。$BTC
Dusk 实际上已经把新路径划得很清楚。链、区块、交易、内存池和归档等查询,后续应该逐渐迁到 /graphql;合约调用则走 /on/contracts/…。版本协商解决的是“客户端能不能正确理解节点”,路由迁移解决的是“未来应该从哪里拿数据”。这 2 件事放在一起看,我反而觉得严格报错是一种保护。与其让旧客户端拿到自己理解错的数据继续运行,不如在请求阶段就暴露问题,逼着集成方尽早升级。@Dusk
普通用户平时感觉不到这些接口,但钱包余额、交易历史、充值状态和浏览器查询,全都建立在客户端正确读取节点数据之上。所以我现在判断 $DUSK 基础设施成熟度,不只看节点有没有正常出块,还会看钱包、索引器和各类接入端能不能及时完成版本迁移。真正值得观察的是,等旧路由正式删除时,主流客户端是否早已切换完成。如果最后还是用户先碰到查询失败,才倒逼项目修接口,那说明兼容管理还不够成熟。#dusk