開発者にとって、これは単なるエンドポイント変更ではない。Preprodは、チームがsmart contractをテストし、継続的インテグレーションを実行し、ウォレットをステージングし、ソフトウェアをMainnetへ送る前にリリースを検証する環境である。本番環境で機能する設定であっても、廃止されたMidnightのURLを参照したままであれば、テストパイプラインが停止したり、ステージング環境がアクセス不能になったりする可能性がある。
Midnightのネットワークリリースノートによると、Blockfrostは現在、ネットワーク環境向けの公開プロバイダーとなっている。同通知では、開発者にPreprodとMainnetで別々のBlockfrostプロジェクトトークンを使うよう求めている。この分離には運用上の重要性がある。トークンはすべてのMidnight環境で使える共通鍵ではない。プロジェクトがアクセスを許可されたネットワークを識別するものである。
したがって、実務上の移行は、単にホスト名を別のものに置き換える作業ではない。チームは、どのアプリケーションがRPCを使用しているか、どれがインデクサーデータに依存しているか、各アプリケーションがどの環境へ接続することを想定しているかを特定する必要がある。これには、ローカル開発ファイル、デプロイマニフェスト、CIのシークレット、ウォレット設定、リリースチェックで使用するスクリプトが含まれる。
BlockfrostのAPIドキュメントは、Midnightにはネットワーク固有のRPCおよびGraphQLエンドポイントがあると説明している。また、各ネットワークには固有のproject_idトークンが必要であるとも記載している。一般的な構成では、PreprodサービスにはPreprodのプロジェクトトークンを、MainnetサービスにはMainnetのトークンを与えるべきである。両者を混同することは無害なミスではない。有効な認証情報であっても、それを受け取るサービスには無効に見える可能性がある。
Midnightのウォレット文書は、この障害の発生形態を直接示している。ウォレット資金調達ガイドによると、Preprodのワークフローでは、BLOCKFROST_PROJECT_ID環境変数を通じてBlockfrostのプロジェクトトークンを使用する。また、トークンが誤ったネットワークに属している場合、403レスポンスが返ることも記載している。
この詳細により、移行は信頼性試験となる。トークンの欠落は見つけやすいかもしれないが、スコープが誤ったトークンはより分かりにくい。アプリケーションには実在する認証情報が設定されていても、その認証情報がエンドポイントと一致しないために失敗する可能性がある。開発者は403レスポンスを、トークンが失効した、あるいは誤ってコピーされた証拠だけでなく、環境の不一致の可能性として扱うべきである。
チームにとって最初の作業は棚卸しである。リポジトリ、インフラファイル、CI変数、運用文書を対象に、Midnightのホスト型URLと古い認証前提を検索する。その後、PreprodとMainnetを別個の環境として定義し、それぞれに別のシークレットと明示的なエンドポイント値を設定する。デプロイでは、開発者のシェルにたまたま存在するトークンに依存するのではなく、対象を可視化すべきである。
2つ目の作業は、再現可能なテストである。パイプラインは、意図したネットワークで認証できること、必要なRPCまたはインデクサーサービスを照会できること、基本的なウォレットまたはトランザクションのワークフローを完了できることを検証すべきである。このチェックは、開発者がステージング環境の切断に気付いた後ではなく、リリース検証の前に実施すべきである。
今回の移行は、プライバシー重視のネットワークにとってより広範な問いも投げかける。公開アクセスを1つの主要プロバイダーへ移すことで、オンボーディングを簡素化し、開発者に一貫したインターフェースを提供できる可能性がある。一方で、重要な依存先も集中し得る。Blockfrostへのアクセスが中断され、レート制限を受け、あるいは設定ミスが生じた場合、多くのアプリケーションが同じ障害点に直面する可能性がある。
これは移行が不適切であることを意味しない。ただし、信頼性は現在、チームがプロバイダーに関する前提をどれだけ適切に文書化し、フォールバック手順を維持できるかに左右される。Midnightの開発者にとって当面の基準は明確である。各サービスがどのネットワークを対象とするかを把握し、対応するトークンを保存し、設定を自動でテストし、PreprodとMainnetの違いを明確に維持することだ。testnet移行が成功したといえるのは、次のリリースも引き続きテストできる場合に限られる。
この記事はAIによって生成され、公開前の人による確認を経ずに自動的に公開された。 本記事は英語の原文を機械翻訳したものである。署名は原文の執筆者による。
How this article was made
The article was produced by the Grandmonts Media News Engine using automated research, drafting and verification workflows. No human editor reviewed the article before publication. Grandmonts Media remains responsible for the published content. Errors can be reported at office@grandmonts.cz.