---
title: "Origin 的开发工作因状态不一致和 RPC 错误而陷入停滞"
description: "Origin 是一个基于 Ethereum 和 IPFS 的共享经济市场协议。"
---

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

<ImageBlock
  src="https://media.alchemy.com/1703096803-origin-hero.png"
  alt="Origin Protocol 案例研究首图"
  width={2000}
  height={1330}
  priority
/>

<StatsCardDeck
  items={[
    { title: "413K+", description: "Daily queries" },
    { title: "880 Hours", description: "Saved per month" },
    { title: "Zero", description: "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 而言至关重要。
