Midnight、メインネットのRPCとインデクサーをBlockfrostへ移行

本番アプリケーションはBlockfrostのエンドポイントとプロジェクト認証が必要になった。いくつかのウォレットでは、Midnightの旧インデクサーに対して保存していた同期状態を再構築する必要がある場合もある。

By SongMarketCap

Cardano News - Midnight、メインネットのRPCとインデクサーをBlockfrostへ移行

Midnightは9月30日22:00 UTCに、独自のパブリックメインネットRPCおよびインデクサーのエンドポイントを廃止した。現在はBlockfrostがそれらのサービスへの主なパブリックアクセスを提供しており、本番ネットワークへのアプリケーションやウォレットの接続方法が変わる。

Midnightメインネットのエンドポイントは廃止された

この変更はrpc.mainnet.midnight.networkとindexer.mainnet.midnight.networkを対象とする。Midnightのドキュメントによれば、インデクサーのホスト名は10月1日に名前解決を停止した。旧RPCエンドポイントは引き続きリクエストに応答しているが、いつでも停止し得る。

MidnightはCardanoエコシステム内のデータ保護ブロックチェーンだ。そのスマートコントラクトは、機密な入力を秘匿したままゼロ知識証明を用いて条件を検証できる。アプリケーションは、ブロックチェーンの記録を読み取り、コントラクトの動作を追跡し、トランザクションを送信するためにネットワークサービスに依存している。

ノードRPCはトランザクション送信を含むネットワークノードとの通信を扱う。インデクサーは、ブロック、トランザクション、コントラクトの状態、ウォレット関連のイベントを整理し、アプリケーションが取得したりライブサブスクリプションで追跡したりできるようにする。

Blockfrostは認証と利用制限を追加

Blockfrostはホスト型のブロックチェーンAPIを提供し、開発者は自ら基盤インフラを運用せずにネットワークデータへのアクセスやトランザクション送信ができる。Midnight向けのサービスは、ノードRPCに加えてGraphQLクエリやWebSocketサブスクリプションをサポートする。

アクセスにはMidnight Mainnet専用に作成したBlockfrostのプロジェクトが必要だ。各リクエストにはHTTPヘッダーまたはURLパラメーターでそのproject_idを含めなければならない。有効なトークンがないリクエストは拒否され、他ネットワーク向けに発行されたトークンではメインネットへの認証はできない。

利用量はアプリケーション自身のBlockfrostプランに対して計上される。チームはトラフィックに合ったプランを選ぶか、独自のノードとインデクサーを運用することもでき、Midnightはそれを引き続きサポートしている。すべてのアプリケーションに有料プランが必須というわけではない。

このAPI認証はトランザクションの資金調達とは別だ。Midnightのトランザクションは、登録済みのNIGHTトークンによって生成されるリソースであるDUSTを消費する。

またドキュメントは、ブラウザー側のコードで露出したトークンはコピーされ、プロジェクトのクオータを消費する目的で不正利用され得ると警告している。機密に保つ必要がある場合は、バックエンドでトークンを付与してリクエストを中継する方法も記載されている。

一部のウォレットは同期状態の再構築が必要になる可能性

PreviewとPreprodは、プロジェクト認証なしでMidnightがホストするエンドポイントを維持している。証明生成時に機密入力を処理するローカルのプルーフサーバーも、Blockfrostのサービス対象外のままだ。

既存のメインネットウォレットにとって、この移行は接続設定にとどまらない可能性がある。Midnightのサービスデスクのランブックは、ウォレットが旧インデクサーに対して保存していた同期状態を再開する際に互換性の問題が起こり得ると指摘している。プロバイダー間でイベントやトランザクションの識別子が異なる場合があり、保存済みの参照が新しいインデクサーには適合しないことがある。

既にBlockfrostまたは独自のインデクサーに接続しているウォレットは、このプロバイダー変更の影響を受けない。起動のたびにジェネシスから同期するウォレットや、インデクサー発行の識別子を保持せずにコントラクト状態の読み取りやトランザクション送信だけを行うアプリケーションも同様だ。

影響を受けたウォレットが、イベントが順序外で適用されていることを示すエラーとともに停止する場合は、ランブックは保存済みの同期状態を破棄し、新しいインデクサーを通じてジェネシスから再構築するよう求めている。