見出し画像

【Solanaコアコンセプト⑧】 クラスターと公開RPCエンドポイント

この記事は、こちらの公式を翻訳・編集したものです。

0 はじめに

Solanaブロックチェーンには、クラスタと呼ばれるいくつかの異なるバリデータグループがあります。

https://humont.dev/notes/2021-09-01-solana-programming-overview

それぞれがエコシステム全体で異なる目的を果たし、それぞれのクラスタのJSON-RPCリクエストを満たすために専用のAPIノードを含んでいます。

クラスタ内の個々のノード第三者によって所有および運営されており、各ノードには公開エンドポイントがあります。

1 Solana公開RPCエンドポイント

1 公開RPCをエンドポイントについて

Solana Labs organizationは各クラスタに対して公開RPCエンドポイントを運営しています。

これらの公開エンドポイントはレート制限が設定されていますが、ユーザーや開発者Solanaブロックチェーンと対話するために利用可能です。

注意
公開エンドポイントのレート制限は変更される可能性があります。
この文書に記載されている具体的なレート制限が最新であることは保証されません。

2 異なるクラスタでのエクスプローラーの使用

多くの人気のあるSolanaブロックチェーンエクスプローラーは、任意のクラスタを選択することをサポートしています。

高度なユーザーはカスタム/プライベートRPCエンドポイントを追加することもできます。

これらのSolanaブロックチェーンエクスプローラーの例には以下が含まれます。

2 Devnet

1 概要

Devnetは、ユーザー、トークン保有者、アプリ開発者、またはバリデータとしてSolanaを試したい人のためのプレイグラウンドとして機能します。

①開発者
アプリケーション開発者
はDevnetを対象にすべきです。

②潜在的なバリデータ
ポテンシャルなバリデータはまずDevnetを対象にすべきです。

2 DevnetとMainnet Betaの主な違い

①現実の価値
Devnetのトークンは実際のものではありません

②フォーセット(トークンが無料でもらえる場所)
Devnetにはアプリケーションテストのためのトークンフォーセットが含まれています。

③永続性
Devnetは元帳リセットの対象となる場合があります。

④バージョン
Devnetは通常、Mainnet Betaと同じソフトウェアリリースブランチバージョンを実行します。
ただし、Mainnet Betaよりも新しいマイナーリリースバージョンを実行することがあります。

Devnetのゴシップエントリポイント:entrypoint.devnet.solana.com:8001

補足
私はこの部分を理解できていません。ChatGPTの解説を参考に載せます。
SolanaネットワークのDevnetにおけるノード間通信の入口点(エントリポイント)を指します。
ここでの「ゴシップ」とは、ネットワークのノードがお互いにデータや状態情報を伝え合うためのプロトコルを表しています。

ChatGPT-4

3 Devnetエンドポイント

https://api.devnet.solana.com

Solana Labsがホストする単一のAPIノード:レート制限あり

Solanaコマンドライン設定の例
Solana CLIを使用してdevnetクラスタに接続するには次のコマンドを実施します。

solana config set --url https://api.devnet.solana.com

4 Devnetのレート制限

  • IPあたり10秒間に100回のリクエストが最大

  • 単一RPCについて、IPあたり10秒間に40回のリクエストが最大

  • IPあたりの最大同時接続数:40

  • IPあたりの10秒間の最大接続率:40

  • 30秒あたりの最大データ量:100 MB

3 Testnet

1 概要

Testnetは、Solanaのコアコントリビュータ最新リリース機能をライブクラスターでストレステストする場所です。

特にネットワークのパフォーマンス、安定性、バリデータの挙動に焦点を当てています。

①現実の価値
Testnetのトークンは実際のものではありません

②フォーセット(トークンが無料でもらえる場所)
Testnetにはアプリケーションテストのためのトークンフォーセットが含まれています

https://faucet.solana.com/

③永続性
Testnetは元帳リセットの対象となる場合があります。

④バージョン
Testnetは通常、DevnetおよびMainnet Betaよりも新しいソフトウェアリリースブランチを実行します。

Testnetのゴシップエントリポイント:entrypoint.testnet.solana.com:8001

3 Testnetエンドポイント

https://api.testnet.solana.com

Solana Labsがホストする単一のAPIノード:レート制限あり

Solanaコマンドライン設定の例
Solana CLIを使用してtestnetクラスタに接続するには次のコマンドを実施します。

solana config set --url https://api.testnet.solana.com

4 Testnetのレート制限

  • IPあたり10秒間に100回のリクエストが最大

  • 単一RPCについて、IPあたり10秒間に40回のリクエストが最大

  • IPあたりの最大同時接続数:40

  • IPあたりの10秒間の最大接続率:40

  • 30秒あたり最大データ量:100 MB

4 Mainnet beta

1 概要

Solanaユーザー、ビルダー、バリデータ、トークン保有者のための許可なしで永続的なクラスタです。

2 現実の価値

Mainnet Betaで発行されるトークンは実際のSOLです

Mainnet Betaのゴシップエントリポイント:
entrypoint.mainnet-beta.solana.com:8001

3 Mainnet betaエンドポイント:

https://api.mainnet-beta.solana.com

Solana LabsがホストするAPIノードクラスタ、ロードバランサーに支えられています:レート制限あり

Solanaコマンドライン設定の例
Solana CLIを使用してmainnet-betaクラスタに接続するには次のコマンドを実施します。

solana config set --url https://api.mainnet-beta.solana.com

4 Mainnet betaのレート制限

  • IPあたり10秒間に100回のリクエストが最大

  • 単一RPCについて、IPあたり10秒間に40回のリクエストが最大

  • IPあたりの最大同時接続数:40

  • IPあたりの10秒間の最大接続率:40

  • 30秒あたりの最大データ量:100 MB

注意点

公開RPCエンドポイント本番アプリケーション用ではありません。

アプリケーションをローンチする際やNFTをドロップする際には、専用のプライベートRPCサーバーを使用してください。

補足
この辺りは他のチェーンと同じですね。
本番用は公共のものを使わない方が無難のようです。

公共のサービスは乱用の対象となる可能性があり、レート制限は予告なく変更されることがあります。

また、高トラフィックのウェブサイトは予告なくブロックされることがあります。

5 よくあるHTTPエラーコード

1 403

IPアドレスまたはウェブサイトがブロックされました。
自分のRPCサーバーを運用するか、プライベートサービスを探す時です。

2 429

IPアドレスがレート制限を超えています。

速度を落としてください!

Retry-After HTTPレスポンスヘッダを使用して、次のリクエストを行うまでの待機時間を確認してください。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After


サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊