Solana メインネット、Devnet、および Testnet の解説
Learn the differences between Solana Mainnet-Beta, Devnet, Testnet, and Localnet. Complete guide with RPC endpoints, CLI commands, and deployment step...
Solanaにおけるメインネット、Devnet、およびTestnetは、それぞれ異なる目的を果たします。メインネットベータは実際の経済的価値を持ち、Devnetはアプリケーション開発をサポートし、Testnetは主にバリデーターとプロトコルのテストに使用されます。Localnetは、管理された開発のための独立したローカル環境を提供します。
Solanaのドキュメントを読んだり、チュートリアルに従ったりしたことがあるなら、メインネットベータ、Devnet、Testnetという言葉をすべてのガイドで繰り返し目にしたことがあるでしょう。ほとんどのリソースは、実際に重要な質問に答えることなく、それらを名前で挙げています。つまり、今すぐ使用すべきものはどれか、そして間違ったものを選んだらどうなるか、ということです。
Solanaは、Proof of History(PoH)とProof of Stakeを組み合わせたコンセンサスメカニズムを使用して高いトランザクションスループットを実現する、高性能なレイヤー1ブロックチェーンです。そのネイティブトークンはSOLであり、ネットワーク全体でのトランザクション手数料の支払いに使用されます。Solanaは4つの異なるネットワーク環境を運用しており、Solanaの用語では、これらはそれぞれクラスターと呼ばれます。メインネットベータ、Devnet、Testnet、LocalnetはすべてSolanaクラスターであり、それぞれ独自のバリデーター、トランザクション履歴、アカウント状態を持っています。
このガイドの終わりまでには、各クラスターが何のためにあり、現在の状況にどのクラスターが適しているか、そしてそれらのいずれかに接続するために必要な正確なコマンド、RPCエンドポイント、およびウォレットの手順をすべて理解できるでしょう。
Solanaにおけるメインネット、Devnet、およびTestnet
Solanaは4つの並列ネットワーク環境を運用しています。各クラスターは、従来のソフトウェアチームが開発環境と本番環境を分離する方法に似て、開発とデプロイメントライフサイクルの特定のステージに役立ちます。
それぞれの1文での説明を以下に示します:
- メインネットベータは、実際のSOLが使用され、すべての現実世界の活動が行われるライブ本番ネットワークです。
- Devnetは、無料の無価値なSOLを使用してアプリケーションが構築・テストされる、主要な開発者サンドボックスです。
- Testnetは、変更がメインネットベータに到達する前に、バリデーターオペレーターおよびコアプロトコルエンジニアによって使用されるストレステスト環境です。
- Localnetは、インターネット接続なしで、完全に自分のマシン上で実行されるプライベートSolanaクラスターです。
すべてのSolanaクラスターの権威ある概要は、Solanaクラスターのドキュメント.)で確認できます。メインネットベータから始め、各環境が何をするか、いつ使用するかを以下に示します。
Solanaメインネットベータ:ライブ本番ネットワーク
メインネットベータはSolanaのライブ本番ネットワークであり、Solanaブロックチェーン上のすべての実際の経済活動が発生する環境です。「ベータ」という名前にもかかわらず、これはテストネットワークではありません。このラベルは、2020年のSolanaローンチからの歴史的遺物であり、ネットワークが未完成または実験的であるという意味合いはありません。Solanaはローンチ以来、メインネットベータを完全な本番環境として運用しています。
すべてのライブdApps(分散型アプリケーション)、DeFiプロトコル、NFTマーケットプレイス、およびトークンプロジェクトはメインネットベータ上で実行されます。あなたが送受信するすべての実際のSOLトランザクションはここで発生します。
**メインネットベータのSOLは実際の金銭的価値を持ちます。**トランザクションには、通常1トランザクションあたり数セント未満の手数料を支払うための実際のSOLが必要です。プログラムのデプロイは実際のSOLを必要とし、永久的かつ取り消し不可能です。メインネットベータの公開RPCエンドポイントはhttps://api.mainnet-beta.solana.comです。
⚠️ 警告: メインネットベータでのトランザクションまたはプログラムのデプロイは、実際のSOLを使用し、取り消すことはできません。本番環境にデプロイする前に、必ずDevnetでテストしてください。
💡 ヒント: Solana Explorerでメインネットベータのトランザクションを確認し、トップ右隅のクラスターセレクターを使用して、メインネットベータクラスターを表示していることを確認してください。
Solana Devnet:開発者サンドボックス
DevnetはSolanaの主要な開発者サンドボックスであり、実際のSOLを一切リスクにさらすことなくプログラムを構築・テストできる公開クラスターです。ほとんどのSolana開発者にとって、Devnetはすべての開発作業が行われる場所です。
DevnetのSOLは実際の金銭的価値がゼロです。 これは、ファウセットから入手できる無料のテスト通貨であり、メインネットベータに転送したり、実際のSOLと交換したりすることはできません。Devnetの公開RPCエンドポイントはhttps://api.devnet.solana.comです。
Devnetは定期的にリセットされるため、デプロイされたプログラムやアカウント残高は予告なく削除される可能性があります。開発者はDevnetの状態を一時的なものとして扱い、本番データに依存しないようにする必要があります。
Devnetでの無料SOLの入手方法
ファウセットとは、DevnetまたはTestnetで無料のテストSOLを配布するサービスです。最も速い方法は、Solana CLIのエアドロップコマンドです。この文脈での「エアドロップ」は、マーケティングトークンの配布ではなく、テストトークンを要求するための開発者ツールコマンドを指すことに注意してください。
Devnetで2 SOLを要求するには、このコマンドを実行します:
solana airdrop 2CLIエアドロップは1回の要求につき2 SOLに制限されており、頻度制限があります。「solana airdrop」がレート制限エラーを返した場合は、数分待ってから再試行するか、代わりに次のWebベースのファウセットのいずれかを使用してください:
- faucet.solana.com(公式Solanaファウセット)
- solfaucet.com(コミュニティファウセット)
💡 ヒント: クラスターセレクターで「Devnet」を選択して、Solana ExplorerでDevnetのトランザクションを表示してください。
DevnetでミントされたNFTには実際の価値はなく、Devnetクラスター内にのみ存在します。これらはメインネットベータのNFTと同じ資産ではありません。
Devnetは、Solana開発者の大多数にとって適切な環境です。もしあなたが始めたばかりなら、ここから始めてください。DevnetとTestnet、メインネットベータをすべての主要な次元で比較した表については、以下の完全なネットワーク比較表を参照してください。
Solana Testnet:バリデーターとプロトコルのテスト
Testnetは、アプリケーション開発者やプログラム開発者向けではなく、バリデーターオペレーターおよびコアプロトコルエンジニア向けのSolanaのネットワーク環境です。この区別を理解することは、多くの混乱を避けるのに役立ちます。
バリデーターは、Solanaネットワークでトランザクションを処理および確認するノードです。Testnetは、バリデーターオペレーターが新しいノードソフトウェアやプロトコルのアップグレードをメインネットベータに適用する前にテストできるようにするために存在します。Solanaコアエンジニアリングチームは、Testnetを使用して、現実的な条件下でのパフォーマンス改善や新機能のストレステストを行います。
Testnetは、Devnetよりも意図的に安定性が低いです。ネットワークは意図的に障害にさらされるように設計されているため、停止やリセットはより一般的です。公開RPCエンドポイントはhttps://api.testnet.solana.comです。
TestnetのSOLは、DevnetのSOLと同様に、実際の金銭的価値がゼロです。
💡 推奨: SolanaでdApp、プログラム、またはトークンを開発している場合は、TestnetではなくDevnetを使用してください。Testnetはアプリケーション開発用に設計されておらず、その不安定さはコードのテストには不向きです。
Localnet:ローカルテストバリデーター
Localnet、またはローカルテストバリデーターとも呼ばれるものは、完全に自分のマシン上で実行され、インターネット接続を必要としません。これは4番目のSolanaクラスタータイプですが、ほとんどのガイドでは省略されています。
Localnetは次のコマンドで開始します:
solana-test-validator実行後、Localnetはhttp://localhost:8899でアクセスできます。Devnetとは異なり、Localnetは共有された公開ネットワークではありません。あなたのローカルマシンだけがそれにアクセスでき、バリデータープロセスを再起動するたびにリセットされます。
Localnetは、初期開発時の迅速かつプライベートな反復作業にiDEALです。ネットワーク遅延がないため、プログラム操作からのフィードバックは即座に得られます。標準的な開発ワークフローは、まずLocalnetでローカルにビルドとテストを行い、次に共有テストのためにDevnetにデプロイし、最終的に本番環境としてMainnet-Betaにデプロイするという流れです。
DevnetとLocalnetの主な違いは1点です。Devnetは誰でもアクセスできる共有パブリックネットワークであるため、デプロイしたプログラムは他の開発者からも参照可能であり、テストは共有されたネットワーク状態で実行されます。
Solanaネットワークの比較:Mainnet vs Devnet vs Testnet vs Localnet
下の表では、状況に適したクラスターを選択できるよう、Solanaの4つのネットワーク環境を7つの観点で比較しています。
| 環境 | 目的 | SOLの価値 | 安定性 | パブリックRPC URL | 主なユーザー | データ保持 |
|---|---|---|---|---|---|---|
| Mainnet-Beta | 本番稼働 | 実際の金銭的価値あり | 高(商用グレード) | https://api.mainnet-beta.solana.com | 全ユーザー、dApp開発者、エンドユーザー | 恒久的 |
| Devnet | 開発者用サンドボックス | ゼロ(無料のテスト用SOL) | 中(定期的なリセットあり) | https://api.devnet.solana.com | アプリ開発者、dApp構築者 | 一時的(定期的にリセット) |
| Testnet | バリデーター/プロトコルの負荷テスト | ゼロ(無料のテスト用SOL) | 低(意図的な不安定さ) | https://api.testnet.solana.com | バリデーター運用者、コアエンジニア | 一時的(頻繁なリセット) |
| Localnet | ローカル開発 | ゼロ(シミュレーション) | 開発者が制御 | http://localhost:8899 | 個別の開発者 | セッションのみ(再起動でリセット) |
判断の指針:
dAppやプログラムを構築するアプリケーション開発者は、すべてのテストにDevnetを使用する必要があります。バリデーター運用者はTestnetを使用します。迅速なローカルでの反復作業には、Localnetが最速のオプションです。Mainnet-Betaへのデプロイは、プログラムが完全にテストされ、本番環境への準備が整った後にのみ行ってください。
クラスターごとの段階的なデプロイ手順については、以下のネットワーク間でのSolanaプログラムのデプロイセクションを参照してください。
各ネットワークのSolana RPCエンドポイント
RPCエンドポイントは、アプリケーション、CLI、またはウォレットがSolanaクラスターにリクエストを送信するために使用するURLです。RPCはRemote Procedure Call(遠隔手続き呼出し)の略ですが、実用的な定義としては「ツールが特定のネットワークの読み書きを行うために指定するアドレス」と理解しておけば十分です。
| クラスター | パブリックRPC URL | レート制限に関する注意点 |
|---|---|---|
| Mainnet-Beta | https://api.mainnet-beta.solana.com | レート制限あり。本番用アプリには非推奨 |
| Devnet | https://api.devnet.solana.com | レート制限あり。開発には十分 |
| Testnet | https://api.testnet.solana.com | レート制限あり。不安定なネットワーク |
| Localnet | http://localhost:8899 | レート制限なし。ローカルのみ |
パブリックRPCエンドポイントにはレート制限があり、トラフィックの多い本番用アプリケーションには適していません。本番環境のMainnet-Betaで使用する場合は、Helius、QuickNode、AlchemyなどのサードパーティRPCプロバイダーが、より高いレート制限と追加のツールを提供しています。Devnetでのすべての開発およびテスト作業については、パブリックエンドポイントで十分です。
Solana CLIと@solana/web3.jsライブラリは、どちらもこれらのURLを直接受け入れます。次のセクションでは、各ツールの具体的な設定方法を説明します。
CLIを使用してSolanaネットワークを切り替える方法
コアとなるSolana CLI(Anchor CLIやweb3.jsライブラリではなくsolanaコマンド)は、ツールがどのクラスターに接続するかを制御します。すべてのネットワーク設定はsolana configを介して行われます。
アクティブなクラスターを確認し、切り替えるには、以下の手順に従ってください。
1. 現在のネットワーク設定を確認する
このコマンドは現在のRPC URLを表示し、接続されているクラスターを確認できます。
solana config get2. Devnetに切り替える
solana config set --url devnet3. Testnetに切り替える
solana config set --url testnet4. Mainnet-Betaに切り替える
solana config set --url mainnet-beta5. Localnetに切り替える
solana config set --url localhost6. 切り替え後、Devnet SOLのエアドロップをリクエストする
solana airdrop 2短縮名(devnet、testnet、mainnet-beta)は、上記のSolana RPCエンドポイントリファレンスにリストされているパブリックRPCエンドポイントに直接対応しています。solana config set --url devnetを使用することは、フルURLであるhttps://api.devnet.solana.comを渡すことと同等です。
solana config getで予期しないクラスターURLが表示された場合は、他のツールやスクリプトが設定を更新した可能性があります。他の操作を行う前に、適切なsolana config set --urlコマンドを実行して修正してください。
⚠️ 警告: プログラムをデプロイしたりトランザクションを送信したりする前には、必ず
solana config getを実行してください。DevnetのつもりでMainnet-Betaにデプロイすると、実際のSOLが消費され、取り消すことはできません。
web3.jsを使用したSolanaネットワークへの接続
@solana/web3.jsライブラリは、Solanaクラスターとやり取りするための公式JavaScriptおよびTypeScriptライブラリです。指定されたクラスターのパブリックRPC URLを返すclusterApiUrl()という便利な関数を提供しています。
各ネットワークに接続するには、以下のコードを使用します。
import { Connection, clusterApiUrl } from '@solana/web3.js';
// Devnetに接続
const connection = new Connection(clusterApiUrl('devnet'), 'confirmed');
// Mainnet-Betaに接続
const connection = new Connection(clusterApiUrl('mainnet-beta'), 'confirmed');
// Testnetに接続
const connection = new Connection(clusterApiUrl('testnet'), 'confirmed');RPC URLを直接ハードコードすることも有効であり、より詳細な制御が可能です。
// 明示的なRPC URLを使用する場合
const connection = new Connection('https://api.devnet.solana.com', 'confirmed');本番環境のMainnet-Betaアプリケーションでは、パブリックURLをサードパーティプロバイダーのプライベートRPCエンドポイントに置き換えてください。clusterApiUrl()関数はパブリックエンドポイントのみを返します。
Solana web3.jsは、Anchor FrameworkのTypeScriptクライアントとは別のライブラリです。両方は同じプロジェクト内で併用できますが、スタックの異なるレイヤーを担当します。接続後、Solana Explorerの右上の切り替えメニューで対応するクラスターを選択することで、トランザクションを確認できます。APIの全容については、Solana web3.jsライブラリリファレンス)を参照してください。
ネットワーク間でのSolanaプログラムのデプロイ
Solanaプログラムとは、クライアントからの命令を処理するオンチェーンの実行可能コードを指すSolanaの用語です(イーサリアムのスマートコントラクトに相当します)。プログラムはクラスターごとに固有のものです。
Devnetにデプロイされたプログラムは、Mainnet-Betaには存在しません。各クラスターは完全に独立した状態を維持しているため、プログラムを実行したい各ネットワークに個別にデプロイする必要があります。これは、デプロイ後に開発者が自分のプログラムを見つけられない最も一般的な理由です。DevnetにデプロイしたのにMainnet-Betaで探している、あるいはその逆のパターンです。
デプロイのためのAnchor設定
Anchor Frameworkは、広く使用されているSolanaプログラム開発フレームワークです。対象クラスターの設定は、Anchor.tomlファイルの[provider]セクションで行います。
[provider]
cluster = "devnet"
wallet = "~/.config/solana/id.json"Mainnet-Betaにデプロイするには、clusterの値を"mainnet-beta"に変更して以下を実行します。
anchor deployanchor deployを実行する前には、必ずAnchor.tomlを更新してください。Anchor CLI(anchor)はSolana CLI(solana)とは別のツールです。両方が同じワークフローで使用されることもあります。設定オプションの詳細については、Anchor Frameworkドキュメントを参照してください。
推奨されるデプロイワークフロー
Mainnet-Betaでのローンチ前には、以下の順序に従ってください。
- Localnetを使用してローカルでビルドとテストを行う。
- Devnetにデプロイしてテストを行う。
- (オプション、バリデーター関連プログラムの場合)Testnetでテストを行う。
- プログラムが完全に検証された後にのみ、Mainnet-Betaにデプロイする。
⚠️ 警告: Mainnet-Betaにデプロイする前に、
Anchor.tomlのクラスター設定を確認するか、solana config getを実行してください。Mainnet-Betaへのデプロイには本物のSOLが必要であり、取り消すことはできません。
本物のSOL vs. テスト用SOL:ネットワーク間の価値を理解する
Mainnet-BetaのSOLには実際の金銭的価値があります。DevnetとTestnetのSOLには実際の金銭的価値はありません。これらは無料のテスト用通貨であり、換算レートはなく、Mainnet-Betaへの変換パスも存在しません。
詳細な内訳は以下の通りです。
- Mainnet-Beta SOL: 実際の金銭的価値があり、取引所で取引可能。取引手数料の支払いに必要。
- Devnet SOL: 無料、蛇口から入手可能、交換価値なし、Mainnet-Betaへの送金不可。
- Testnet SOL: 無料、蛇口から入手可能、交換価値なし、Mainnet-Betaへの送金不可。
⚠️ 警告: DevnetおよびTestnetのSOLは、本物のSOLに変換したり、Mainnet-Betaに送金したりすることはできません。DevnetやTestnetのSOLを取引または売却しようとしないでください。それぞれのクラスター以外では価値を持ちません。
Mainnet-Betaの「Beta」というラベルは、2020年のSolanaローンチ以来、根強い混乱を招いてきました。Mainnet-Betaは、いかなる意味においてもベータ版の商品ではありません。これはDeFiおよびNFTの取引において数十億ドルを処理しており、現実世界のSolanaのアクティビティが発生する唯一のネットワークです。この名称は、Solanaが維持している歴史的な慣習です。
ネットワークの切り替え後にPhantomの残高がゼロと表示される場合は、上記のPhantomウォレットセクションの「ネットワークの切り替え」でMainnet-Betaの表示を復元する方法を説明しています。
この記事は教育的および技術的な性質のものです。金融上のアドバイスや、いかなる暗号資産への投資を推奨するものでもありません。
Solanaアーキテクチャ関連のリソース
デプロイの概念は開発者向けのSolanaアカウントモデルに関連しており、Mainnet-BetaのパフォーマンスはSolanaが高速かつ安価な理由で説明されているアーキテクチャに基づいています。市場価値があるのはメインネットのSOLのみです。SOLの価格ページおよびSOL/USDT 現物市場は、メインネットのSOLに適用され、Devnet、Testnet、またはLocalnetのトークンには適用されません。
FAQ:Solanaのメインネット、Devnet、およびTestnet
Solana Mainnet-Betaは本物のメインネットですか?
はい。Mainnet-BetaはSolanaの完全に稼働しているライブプロダクションネットワークです。「Beta」というラベルは、2020年のSolanaローンチ時からの歴史的な命名慣習であり、ネットワークが実験的であることや未完成であることを示すものではありません。すべての実際のSOL取引、dApp、DeFiプロトコル、およびNFTプロジェクトはMainnet-Beta上で動作しています。
DevnetのSOLには実際の価値がありますか?
いいえ。DevnetのSOLには実際の金銭的価値はありません。これは蛇口(ファセット)から分配される無料のテスト用通貨であり、Devnetクラスター上のみに存在します。Mainnet-Betaへの送金、本物のSOLへの交換、あるいはいかなる取引所での使用もできません。
DevnetのSOLをメインネットで使用できますか?
いいえ。DevnetとMainnet-Betaは完全に別個のネットワークであり、状態を共有していません。SOLは各クラスターに独立して存在します。DevnetのSOLをMainnet-Betaへ転送する仕組みはありません。
ウォレットにSOLが表示されないのはなぜですか?
ウォレットがMainnet-BetaではなくDevnetやTestnetに接続されている可能性があります。ウォレットの最新のサポートドキュメントを確認して、現在のネットワーク設定とアドレスを確認し、Mainnet-Betaに再接続してください。残高が移動したと判断する前に、該当するブロックエクスプローラーでアドレスを確認してください。
SolanaにおけるDevnetとTestnetの違いは何ですか?
Devnetは、dAppやプログラムを構築するアプリケーション開発者向けに設計されています。安定しており、動作する蛇口があり、すべての開発作業に推奨される環境です。Testnetは、バリデーターのオペレーターやコアプロトコルのエンジニアが新しいソフトウェアをストレステストするために設計されています。意図的に安定性が低くなっており、アプリケーションの開発には適していません。
Solanaのクラスターとは何ですか?
Solanaのクラスターとはネットワーク環境のことで、他のブロックチェーンがネットワークやチェーンと呼ぶものに対してSolanaが使用する用語です。Mainnet-Beta、Devnet、Testnet、およびLocalnetはすべてSolanaのクラスターです。各クラスターは、独自のバリデーター、取引履歴、およびアカウント状態を持つ独立したネットワークです。
LocalnetとDevnetの違いは何ですか?
Localnetは完全に自身のマシン上で動作し、インターネット接続を必要としないため、利用可能な中で最も高速なテスト環境となります。Devnetは、誰でもアクセスできる共有のパブリックネットワークです。迅速なローカルでの反復作業にはLocalnetを使用し、Mainnet-Betaに移行する前に共有環境でテストするためにDevnetにデプロイしてください。
Solanaで取引が失敗したのはなぜですか?
取引が予期せず失敗した場合は、まず正しいクラスターに接続されているか確認してください。CLIでsolana config getを実行するか、ウォレットのネットワークインジケーターを確認してください。取引失敗の一般的な原因は、間違ったネットワークに接続されていることです。例えば、CLIやウォレットがDevnetを向いているときにMainnet-Betaのプログラムとやり取りしようとすると、取引は失敗します。
まとめ:どのSolanaネットワークを使用すべきか?
適切なネットワークは、何を行おうとしているかによって完全に異なります。各ユースケースに応じた判断基準は以下の通りです。
- SolanaプログラムやdAppの構築またはテスト → Devnetを使用
- 迅速なローカル開発と反復 → Localnetを使用
- バリデーターノードの実行またはテスト → Testnetを使用
- 実際のユーザー向けの商用アプリケーションのローンチ → Mainnet-Betaにデプロイ
- 取引、DeFi、またはNFTに本物のSOLを使用する → Mainnet-Beta(デフォルト)
迷ったときは、Devnetから始めてください。Solanaの開発を始めるすべての人にとって、最も安全で安定しており、アクセスしやすい環境です。
詳細については、公式のSolanaクラスタードキュメントを参照し、Solana Explorerで取引を確認してください。