跳至内容
0%

Origin 的开发工作因状态不一致和 RPC 错误而陷入停滞

Origin Protocol 案例研究首图

413K+

Daily queries

880 Hours

Saved per month

Zero

Errors

Alchemy 是可靠的,作为工程师,这对我们至关重要。

— Mike Shultz, Origin Developer

摘要

和许多区块链团队一样,Origin 正在构建一个依赖于成功向区块链发送订单、并及时获取区块链最新状态的协议。

他们过去使用的基础设施提供商问题不断,存在大量一致性错误。在此过程中,Origin 意识到他们急需做出选择:要么花几个月时间自行搭建组件让现有系统能正常运作,要么寻找新的解决方案。

越早修复基础设施,工程师就能越早从每天排查不可靠数据的工作中解脱出来。如今 Origin 专注于自身协议的开发,借助 Alchemy 的新一代基础设施来查询区块链并获取可靠的状态信息。

RPC 错误和调试耗费大量时间

Origin 最初使用的是另一家基础设施提供商,其服务充斥着状态不一致和 RPC 错误。并非所有请求都指向同步的服务器。

比如,一个节点会响应某个请求,但这个节点落后于响应另一个请求的其他节点若干个区块。这类诡异的状态问题几乎无法排查,直到他们找出具体原因——而一旦找到,就会发现这种问题随处可见。

状态不一致以意想不到的方式影响用户

相比 RPC 错误,状态不一致问题更难调试。很多时候,用户报告问题后,Origin 花时间排查,最后才发现是节点返回了错误的响应。

比如,Origin 会看到某个事件发生,随后检查状态变化,却发现状态并未更新。这种不一致的状态信息导致终端用户看到无效数据,或者他们的出价、报价始终无法进入市场。

状态问题大幅减少

Origin 到了必须做出决定的地步——要么投入接下来几个月时间构建修复方案(比如搭建一个缓存层)让现有基础设施可用,要么寻找其他方案。

Origin 的 Franck Chastagnol 听到了很多关于 Alchemy 的正面评价,于是说服团队其他人一起测试这项新服务。他们最先将 Alchemy 应用到 Origin 的全部预发布环境中。现在,Origin 所有生产级产品都在使用 Alchemy。

Alchemy 为 Origin 节省了大量时间,并改善了终端用户的使用体验。

— Franck Chastagnol, Origin

Origin 从每天都会遇到问题,变成现在偶尔才出现临时性问题。对他们的工程师来说,切换到 Alchemy 后最大的好处是请求之间的状态保持准确。状态的相对一致性原本很难排查,而一旦拿到正确的数据,影响就会非常显著。终端用户不再遇到离奇的错误,工程师可以把时间用在开发 Origin 本身上。

高效的客户支持

如今状态不一致的问题只是偶尔出现,且都是临时性的。如果 Origin 发现问题,他们会询问 Alchemy 团队,团队会迅速响应并排查问题。VIP 客户可以直接联系到构建 Alchemy 的工程师。Alchemy 团队要么立即解决问题,要么帮助 Origin 找出修复自身代码的方法。

用于调试和告警的实用开发者工具

在 Alchemy 的其他产品方面,Origin 会查看每日分析更新,将其作为一种健全性检查和告警工具,用来捕捉那些原本可能忽略的 bug。及早发现这些 bug,能帮助他们在中继器或其他依赖出现异常行为、问题进一步恶化之前及时察觉。

Alchemy 提供的核心服务是最好的

Alchemy 为 Origin 节省了大量时间,并改善了终端用户的使用体验。他们对 Alchemy 响应迅速的支持印象深刻,但最看重的还是其核心解决方案。作为工程师,Alchemy 的可靠性对 Origin 而言至关重要。

背景渐变

构建区块链魔法

Alchemy 将最强大的 web3 开发者产品和工具,与资源、社区及出色的支持相结合。