Skip to content

エクスプローラーの使い方

公開RPCエンドポイントとは?

更新日:

このページの内容

ブロックチェーンと通信するウォレットやアプリは、すべてRPCエンドポイントを通じて行っています。この記事では、それが何か、公開エンドポイントのトレードオフ、そして安全に確認・追加する方法を説明します。

RPCエンドポイントとは

RPCは**リモートプロシージャコール(remote procedure call)**の略です。RPCエンドポイントとは、質問に答え、取引を受け付けるブロックチェーンノードのウェブアドレスです。ノードとは、チェーンのコピーを保持しているコンピューターのことです。

たとえばエンドポイントは、「このアドレスの残高は?」「最新のブロックは?」「この取引にいくらかかる?」といった質問に答えられます。また、署名済みの取引を受け取り、ネットワークに渡すこともできます。イーサリアム方式のチェーンでは、HTTPS上のJSON-RPCが一般的な形式です。Solanaは、独自のメソッドを持つ同様のJSON-RPC形式を使います。

エンドポイントはチェーンそのものではありません。チェーンへの入口です。入口が遅かったり間違っていたりすれば、見えるものも遅かったり間違っていたりします。

ウォレットやアプリでの使われ方

ウォレットを開いて残高が表示されるとき、ウォレットはRPCエンドポイントに問い合わせています。「送信」を押すと、ウォレットはお使いのデバイスで取引に署名し、署名済みのデータをエンドポイントに送り、エンドポイントがそれをネットワークに転送します。秘密鍵がエンドポイントに送られることはありません。ウォレットと鍵をご覧ください。

ウォレットには、チェーンごとにデフォルトのエンドポイントが付属しています。変更もできます。ウォレットが知らないネットワークでは、チェーンID、ネットワーク名、コインのシンボルとともに、自分で追加します。

公開プロバイダーと非公開プロバイダー

  • 公開エンドポイントは無料で、誰でも利用できます。財団、チェーン、コミュニティ、企業が運営しています。軽い利用に向いています。
  • 非公開または有料のプロバイダーは、専用のアクセスキー、より高い上限、より手厚いサポートを提供し、多くの場合、より高速で安定したサービスを備えています。多数のユーザーを抱えるアプリが利用します。

公開エンドポイントは、全ユーザーで容量を共有するため、予測しにくくなります。有料プランはよりコントロールしやすい一方、費用がかかり、企業に依存します。通常のウォレットユーザーなら、公開エンドポイントで十分なことが多いです。事業用のアプリには、非公開のほうが適しています。ChainMonitorは、特定のプロバイダーを推奨しません。

レート制限

自らを守るため、公開エンドポイントは、1秒あたりや1日あたりに送れるリクエスト数を制限しています。超えると、「429 too many requests」のようなエラーを返すか、速度を落とされます。ウォレットが空の残高を表示したり、送信に失敗したりすることがあります。対処法は、待つか、別のエンドポイントを使うか、非公開のプランを使うことです。

レイテンシーとブロック遅延

エンドポイントの健全性は、2つの数値でわかります。

  • レイテンシー(latency): リクエストに対する応答が返るまでの時間で、ミリ秒単位です。低いほど良く、距離と負荷に左右されます。
  • ブロック遅延(block lag): エンドポイントが、ネットワークの最新ブロックから何ブロック遅れているかです。数ブロック遅れているエンドポイントは、古い残高を表示したり、取引がないと言ったり(実際にはあるのに)、手数料の見積もりを誤ったりすることがあります。

なぜ、1つのエンドポイントが遅れることがあるのでしょうか。ノードの接続が切れた、まだ同期中、あるいは更新の遅いキャッシュの後ろにある、などが考えられます。ウォレットの残高がおかしいと感じたら、遅れているエンドポイントは最初に確認すべきことの1つです。ブロックエクスプローラーで同じアドレスを調べてみることもできます。

プライバシー

エンドポイントは、あなたが送るすべてのリクエストを見ます。これには、あなたのIPアドレスと、調べたアドレスが含まれます。運営者は、あなたのIPとウォレットのアドレスを結びつけることができます。ログに何を記録するかを示すプライバシーポリシーを公開しているプロバイダーもあれば、そうでないところもあります。

リスクを下げるには、次のようにします。

  • プロバイダーのトラッキングとログに関するポリシーを読む。
  • 運営者にIPアドレスを見られたくないなら、別のエンドポイントやVPNを使う。
  • すべての取引は、いずれにせよチェーン上で公開されることを忘れない。リスクは、あなたの身元とアドレスが結びつけられることにあります。
  • プライバシーが非常に重要なら、自分でノードを運用する。

ウォレットにカスタムRPCを追加する方法

詳細はウォレットによって異なりますが、手順は似ています。

  1. ウォレットのネットワーク設定を開き、ネットワークの追加または編集を選びます。
  2. ネットワーク名、RPCのURL、チェーンID、通貨シンボル、そして求められた場合はブロックエクスプローラーのURLを入力します。
  3. 保存して、そのネットワークに切り替えます。
  4. 残高が読み込まれ、ウォレットが正しいネットワークを表示していることを確認します。

チェーンIDは、信頼できる情報源から入手してください。間違ったチェーンIDや偽のRPCアドレスは、誤ったデータを表示することがあります。信頼できる情報源のエンドポイントだけを追加してください。

ChainMonitorのRPCヘルスページ

チェーンページには、サイトが対応するチェーンの公開RPCエンドポイントが一覧表示されています。各エンドポイントについて、次のものを測定します。

  • レイテンシー: リクエストに応答するまでの時間。
  • ブロック高: エンドポイントが報告する最新のブロック番号。
  • 遅延(Lag): そのブロック高が、チェーンの他の健全なエンドポイントが報告する最新ブロックから、何ブロック遅れているか。

一覧は最速のものが先頭に並ぶので、どれが健全かが一目でわかります。/chains/<id>などからチェーンを開くと、そのエンドポイントの詳細が見られます。それぞれに、ワンクリックのウォレットに追加ボタンがあり、正しいチェーンIDでそのネットワークを追加するようウォレットに依頼します。リクエストの承認は、ウォレット側で行います。承認する前に、値を確認してください。

数値は、サイトのサーバーからある時点で測定したものです。あなた自身のレイテンシーは、居場所によって異なります。保証ではなく、目安としてお使いください。

よくある質問

暗号資産でRPCとは何を意味しますか?

リモートプロシージャコールの意味です。RPCエンドポイントは、ウォレットやアプリがブロックチェーンのノードと通信するためのウェブアドレスです。

公開RPCエンドポイントは安全ですか?

署名はウォレットの中で行われるため、資金を奪うことはできません。ただし、あなたのIPアドレスと調べたアドレスを見ることができ、誤ったデータや古いデータを表示することがあります。信頼できる情報源のエンドポイントを使ってください。

なぜウォレットの残高が間違って表示されるのですか?

エンドポイントがチェーンに遅れている、レート制限を受けている、または停止している可能性があります。別のエンドポイントに切り替えて、更新してください。エクスプローラーでアドレスを確認することもできます。

ブロック遅延とは何ですか?

エンドポイントが、最新のブロックから何ブロック遅れているかです。遅延が大きいと、データが古いことを意味します。

自分のRPCプロバイダーは必要ですか?

ほとんどの人には不要です。通常の利用なら、ウォレットのデフォルトのエンドポイントで十分です。アプリを構築する場合や、多くのリクエストを送る場合は、非公開のプランや自分のノードのほうが適していることがあります。