Hyperliquid项目v0.20.0版本发布:WebSocket优化与API增强
Hyperliquid是一个专注于去中心化金融(DeFi)领域的开源项目,主要提供与流动性提供、衍生品交易等相关的技术解决方案。该项目通过JavaScript/TypeScript实现的SDK为开发者提供了与Hyperliquid协议交互的便捷工具。
核心功能更新
新增永续合约部署拍卖状态API
本次版本引入了perpDeployAuctionStatus这一全新的公共客户端API接口。该接口专门用于查询永续合约(Perpetual Contract)部署过程中的拍卖状态信息。对于开发者而言,这意味着能够更精细地监控和管理永续合约的部署流程,特别是在拍卖机制下的部署过程。
在实际应用中,这个功能可以帮助交易平台或监控工具实时获取合约部署的进度和状态,为流动性提供者和交易者提供更透明的信息。例如,可以用于构建拍卖倒计时显示、参与度统计等功能。
技术架构改进
WebSocket连接稳定性增强
本次更新对WebSocket相关组件进行了重大重构,主要涉及三个方面:
-
消息缓冲区策略重构:现在要求
MessageBufferStrategy必须实现可迭代接口(iterable)并包含push方法。这一改变使得消息处理更加标准化,允许开发者实现自定义的消息缓冲逻辑,同时保证与核心库的无缝集成。 -
错误处理规范化:将
ReconnectingWebSocketError中的originalError属性更名为cause,这符合现代JavaScript错误处理的命名惯例,使错误追溯更加直观。 -
心跳机制优化:改进了
WebSocketTransport的心跳保持逻辑,现在只有在需要时才会发送ping请求,并且会等待pong响应。这种改进显著减少了不必要的网络流量,同时提高了连接检测的准确性。对于高频交易场景,这种优化可以降低网络负载并提高系统响应速度。
依赖管理调整
项目将@noble/hashes的导入方式从JSR(JavaScript Registry)切换回传统的npm包管理。这一调整虽然看似微小,但解决了可能存在的依赖解析问题,确保了在不同构建环境下的兼容性。对于使用混合包管理工具的项目,这一变化能够避免潜在的依赖冲突。
升级建议
对于正在使用早期版本的项目,需要注意以下不兼容变更:
- 如果自定义实现了
MessageBufferStrategy,需要确保新版本要求的接口方法完整实现 - 所有捕获
ReconnectingWebSocketError的代码需要更新错误属性访问方式 - WebSocket连接管理逻辑可能需要重新评估,特别是依赖于特定心跳频率的场景
本次更新虽然包含了一些破坏性变更,但整体上提升了系统的稳定性和可维护性。对于新项目,建议直接采用此版本;对于已有项目,建议在测试环境中充分验证后再进行升级。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



