---
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のおかげでオリジンは非常に多くの時間を節約でき、エンドユーザー体験も向上した。
>
> — Franck Chastagnol, Origin

Originは毎日問題が発生する状態から、たまに一時的な問題が発生する程度にまで改善した。Originのエンジニアにとって、Alchemyに切り替えた最大のメリットは、リクエスト間の状態が正確であることだった。状態の相対的な一貫性はトラブルシューティングが難しく、正しいデータが返ってくることの影響は大きい。エンドユーザーはもはや異常なエラーに遭遇することがなくなり、エンジニアはOriginの開発に時間を費やせるようになった。

## 手厚いカスタマーサポート

状態の不整合の問題は今ではたまに、一時的に発生するだけになった。Originが問題を見つけると、Alchemyチームに問い合わせ、Alchemyチームは迅速に対応してトラブルシューティングを行う。VIP顧客にはAlchemyを開発しているエンジニアへの直接の連絡手段が用意されている。Alchemyチームは問題を即座に解決するか、Origin側のコード修正方法を一緒に考える。

## デバッグとアラートに役立つ開発者向けツール

Alchemyの他のプロダクトについては、Originは日次のアナリティクス更新を、他では気づけないかもしれないバグに対するサニティチェックおよびアラートツールとして確認している。こうしたバグを早期に発見することで、リレーヤーやその他の依存先の不具合な挙動を、問題が手に負えなくなる前に察知できる。

## Alchemyが提供するコアサービスが最も優れている

Alchemyのおかげでオリジンは非常に多くの時間を節約でき、エンドユーザー体験も向上した。サポートの対応の速さには引き続き感銘を受けているが、彼らが最も評価しているのはコアソリューションだ。Alchemyは信頼性が高く、それはエンジニアであるOriginにとって最も重要なことである。
