---
title: "Goldskyがゼロダウンタイムでトランザクションを継続させた方法"
description: "GoldskyはCompose bundlerとpaymasterをAlchemyに移行し、フェイルオーバーを環境変数の変更のみで行えるプロバイダー抽象化レイヤーを構築した。コードのデプロイもダウンタイムも不要。"
---

# Goldskyがゼロダウンタイムでトランザクションを継続させた方法

<ImageBlock
  src="https://media.alchemy.com/case-studies/goldsky-alchemy-header-v2.png"
  alt="Alchemy x Goldsky 事例紹介ヒーロー画像"
  width={1024}
  height={576}
/>

[Goldsky](https://goldsky.com/)は、クリプトレール上での開発における難しい部分を引き受ける。リアルタイムデータ、信頼性の高い接続性、オンチェーン実行だ。フィンテック企業、銀行、クリプトネイティブなチームは、これを使ってサブ秒レイテンシでブロックチェーンデータをストリーミングし、即時のGraphQL APIを通じてオンチェーン状態をクエリし、ブロックチェーンイベントに反応する耐久性のあるワークフローを実行し、単一のRPCレイヤーを通じて数百のチェーンに接続している。2022年以降、GoldskyはPolymarket、Phantom、Coinbase、Kraken、Arweaveなどのチームのミッションクリティカルなインフラを支えてきた。

## 課題

Goldskyの製品Composeは、顧客に代わってオンチェーンのトランザクションを実行しており、アカウントアブストラクションを使ったガススポンサーシップでそれを行っている。アカウントアブストラクションにより、アプリケーションはユーザーの代わりにガスを支払い、トランザクションを送信できるため、エンドユーザーはネットワークのネイティブトークンを保有する必要がなくなる。これを機能させるには、Composeは2つのインフラを信頼性高く稼働させる必要がある。UserOperationsをチェーンに送信するBundlerと、ガスをスポンサーするpaymasterだ。

ここでの信頼性の基準は厳しい。アップストリームのプロバイダーがダウンすると、被害範囲は大きい。インデクサーは気づかないうちに遅れ、フロントエンドはエラーや古いデータを返し、スポンサー付きトランザクションは失敗する。一部のComposeの顧客にとって、失敗したトランザクションは実際のエンドユーザーにとっての失敗した取引を意味する。

Goldskyは別のBundlerおよびpaymasterプロバイダーから始めた。それは機能したが、チームは単一のベンダーに依存し、フォールバックの手段を持たない状態になった。トランザクションパス上に直接位置するインフラとして、単一ベンダーへのリスクこそが解決すべき問題だった。

## ソリューション

Goldskyは新しいプロバイダーに対して3つの要件を設定した。

- EntryPoint v0.8のサポート。これは当時プライベートベータだった。EntryPointは、Ethereumのアカウントアブストラクション標準であるERC-4337で定義されているシングルトンコントラクトで、Bundlerとpaymasterはこれをコーディネートしてやり取りする。
- スポンサーシップ制御のためのポリシーシステム。これにより、チームはどのトランザクションにガススポンサーシップを適用するかを正確に決定できる。
- Ethereumのアカウントアブストラクション標準への準拠。これにより、コードを変更することなくプロバイダーを入れ替えられる。

Alchemyはこの3つすべてを満たした。

Goldskyは、ComposeにおけるプライマリのBundlerおよびpaymasterとしてAlchemyに移行し、以下を使用している。

- [Alchemy Bundler API](/bundler)
- ガススポンサーシップポリシーを実行するための[Alchemy Gas Manager](/gasless-transactions)

両者ともEthereumのアカウントアブストラクション標準に従っているため、Goldskyはその上にプロバイダー抽象化レイヤーを構築した。プロバイダーの切り替えは、環境変数1つの変更で済むようになった。コードのデプロイもダウンタイムも不要だ。この取り組みの発端となった単一ベンダーへのリスクは、今では運用上問題にならない。あるプロバイダーの調子が悪くなっても、Goldskyはコードを出荷せずにフェイルオーバーできる。

<ImageBlock
  src="https://media.alchemy.com/case-studies/goldsky-provider-switch-diagram.png"
  alt="Goldsky のプロバイダースイッチが ERC-4337 経由で UserOperations を Alchemy の Bundler と Gas Manager にルーティングし、フォールバックプロバイダー経由でブロックチェーンに接続する構成図"
  width={1024}
  height={576}
/>

## 結果

Composeのワークフローは、毎日数千件のオンチェーントランザクションにわたって週あたり数億ドル規模の取引量を決済しており、現在はAlchemyのBundlerとpaymasterによって支えられている。この移行は、プロジェクトの発端となったギャップも解消した。プロバイダー抽象化レイヤーが整った今、Goldskyは環境変数1つの変更でプロバイダー間をフェイルオーバーでき、コードのデプロイもダウンタイムも不要だ。

## Alchemyとの協業について

> 「Alchemyのエンジニアと仕事をした経験は素晴らしいものでした。最初に移行を試みたときにいくつかの問題にぶつかりましたが、彼らは常にすぐに対応してくれて、私たちが直面した問題を解決してくれました。ベータプログラムへの参加を迅速に取り計らってくれて、Composeとの完全な統合に必要な機能を開放してくれました。そして、移行の進捗や他に必要なものがないか、定期的に確認してくれました。」
>
> — Adam Stockermans氏、Senior Software Engineer、Goldsky

## 始める準備はできましたか?

Goldskyが高速で信頼性の高いトランザクションのために利用しているのと同じインフラで開発を始めよう。[こちらから始める](https://dashboard.alchemy.com/signup)、または[チームに問い合わせる](/contact-sales)。
