読了時間:5分
概要
Solanaの使い方を始めたばかりの方は、おそらくアカウントの残高を確認したいと思うでしょう。このガイドでは、Solanaウォレットの残高を確認する4つの簡単な方法について順を追って説明します:
- Solanaのコマンドラインインターフェース(Solana CLI)の使用方法(Solana CLIへジャンプ)
- SolanaのJavaScript APIの使用方法(Solana-Web3.jsへジャンプ)
- cURL スクリプトの使用(cURL へジャンプ)
- Rust Solana SDK の使用(Rust のページへ移動)
必要なもの
- Solana CLIの最新バージョンがインストールされました
- Node.js(バージョン 16.15 以降)がインストールされていること
- JavaScriptの基本的な知識
- cURLの安定版がインストールされています
- クエリを実行するウォレット(例:
E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk) - Rustがインストールされていること(Rust方式の場合は任意)
ウォレットにクエリを送信する前に、Solanaのクラスターについて簡単に復習しておきましょう。ウォレットの残高を確認する際には、特定のクラスターを指定する必要があるからです。「Solanaのクラスターとは、クライアントのトランザクションを処理し、台帳の整合性を維持するために連携して動作するバリデーターの集合体です。複数のクラスターが共存する場合があります。」(出典:docs.solana.com/cluster/overview)。 実際、Solanaはそれぞれ異なる目的を果たす3つのクラスターを運用しています:
- メインネットベータ:実際のトークンが使用される本番環境かつ許可不要な環境
- Devnet:Solanaアプリケーションをテストするアプリケーション開発者向けのテスト環境(Devnet上のトークンは架空のものであり、金銭的価値はありません)。Devnetでは通常、Mainnet Betaと同じソフトウェアリリースが実行されています。
- テストネット:Solanaのコアコントリビューターやバリデーターが、ネットワークのパフォーマンス検証に重点を置いて、新しいアップデートや機能のストレステストを行う環境(テストネット上のトークンは実在するものではなく、金銭的価値もありません)
本ガイドでは、以下の用語を使用します。 メインネット・ベータ、ただし、1つのウォレットが各クラスターで同時に残高を持つことができるという点には注意してください。
方法 1 - Solana CLI
最初の方法は、Solana CLI を使用してウォレットの残高を確認することです。まだインストールしていない場合は、docs.solana.com/cli/install-solana-cli-tools に記載されている、お使いの OS に応じた手順に従ってください。インストールが正常に完了したかどうかを確認するには、新しいターミナルを開き、次のように入力してください:
solana --version
次のような画面が表示されるはずです:

これで準備完了です!あとはウォレットのアドレスを手元に用意するだけです。Phantomやその他のウォレットから直接コピーすることができます:

ターミナルで、次のコマンドを入力してウォレットの残高を確認してください:
solana balance YOUR_WALLET_ADDRESS -u mainnet-beta
検索条件を変更することで、さまざまなクラスターにおけるそのウォレットの残高を確認できます。 -u (SolanaのJSON RPC用URL)オプション。デブネットまたはテストネットの残高を確認するには、次のように試してみてください:
solana balance YOUR_WALLET_ADDRESS -u devnet # Devnet用
# または
solana balance YOUR_WALLET_ADDRESS -u testnet # テストネット用
これらのデフォルトのクラスター(mainnet-beta、testnet、devnet)は、公開されているJSON RPCエンドポイントです。Solana上で大量のクエリを実行したり、アプリケーションを開発したりする予定がある場合は、独自のエンドポイントを用意することをお勧めします。Solana上のプロジェクトの50%以上がQuicknodeを選んでいる理由を確認し、こちらから無料アカウント に登録してください。ウォレットの実際の残高を照会するには、メインネットノードが必要になります:

これで、クエリを修正して、ご自身のエンドポイントを使用できるようになりました:
solana balance YOUR_WALLET_ADDRESS -u https://example.solana.quiknode.pro/000000/

よくやった!
方法 2 - Solana-Web3.js
ターミナルで、以下のコマンドを実行して、新しいプロジェクトディレクトリと「balance.js」というファイルを作成してください。
mkdir sol_balance
cd sol_balance
echo > balance.js
Solana Web3 の依存関係をインストールします:
yarn init -y
yarn add @solana/web3.js@1
または
npm init -y
npm install --save @solana/web3.js@1
お好みのコードエディタでbalance.jsを開き、1行目で@solana/web3.js をrequire し、それをSOLANA という定数に格納します。2行目で、SOLANA をデストラクチャリングして、必要なクラス、メソッド、および定数をいくつか取得します。
const SOLANA = require('@solana/web3.js');
const { Connection, PublicKey, LAMPORTS_PER_SOL, clusterApiUrl } = SOLANA;
4行目で、Quicknodeエンドポイント(または clusterApiUrl('CLUSTER_NAME'))、ウォレットのアドレスを次のように定義します。 WALLET_ADDRESS.
const QUICKNODE_RPC = 'https://example.solana.quiknode.pro/000000/'; // 👈 ここを、ご自身のQuicknodeエンドポイント、またはclusterApiUrl('mainnet-beta')に置き換えてください
const SOLANA_CONNECTION = new Connection(QUICKNODE_RPC);
const WALLET_ADDRESS = 'YOUR_WALLET_ADDRESS'; //👈 ご自身のウォレットアドレスに置き換えてください
Solana-Web3.js を頻繁に利用する場合は、Connectionクラスにすっかり慣れ親しむことになるでしょう。これは、実質的に JSON RPC エンドポイントへの接続を確立する方法です。
最後に、以下の関数を呼び出して残高を取得します。 getBalance() インスタンスの 接続:
(async () => {
let balance = await SOLANA_CONNECTION.getBalance(new PublicKey(WALLET_ADDRESS));
console.log(`Wallet Balance: ${balance/LAMPORTS_PER_SOL}`)
})();
このスクリプトに関する注意事項をいくつか:
- 私たちは 非同期 当社の……を可能にする機能
getBalanceネットワークからの応答を返すことを約束する - 単に私たちの
WALLET_ADDRESSまず、の新しいインスタンスを作成します。 公開鍵. 公開鍵(PublicKey)は、Solanaクラスターから情報を取得したり、Solanaクラスターに情報を送信したりする上で不可欠です。コード内で、ウォレットのアドレス(文字列)をnew PublicKey()コンストラクタ。 - 私たちは、当社の
バランス著者:LAMPORTS_PER_SOLというのも、SolanaにおいてSOLを追跡するためのネイティブ単位は、実際には「ラムポート」(1 SOLの1 / 1_000_000_000)だからです。
コードを実行してください。ターミナルで次のように入力してください。
ノードのバランス
次のような画面が表示されるはずです:

よくやったね!
方法 3 - cURL
cURL は、URL を使用してデータを転送するためのコマンドラインツールおよびライブラリです。ほとんどの *nix 系システムでは、cURL が標準でサポートされています。以下のコマンドを実行して、cURL がインストールされているかどうかを確認してください:
curl -h
まだインストールしていない場合は、curl.seにアクセスしてセットアップしてください。
準備ができたら、ターミナルにこのHTTPリクエストを入力するだけです(エンドポイントとウォレットアドレスは必ずご自身のものに置き換えてください)。ターミナルで次のように入力してください:
curl https://example.solana.quiknode.pro/000000/ -X POST -H "Content-Type: application/json" -d '
{
"jsonrpc": "2.0", "id": 1,
"method": "getBalance",
"params": [
"YOUR_WALLET_ADDRESS"
]
}
'
次のような画面が表示されるはずです:

残高が result.value lamports 内のフィールド。
方法 4 - Rust
Rust開発者の方は、Solana Rust SDKも利用できます。プロジェクトフォルダ内で、次のコマンドを実行して新しいプロジェクトを作成してください:
cargo new sol-balance
新しく作成したディレクトリに移動します:
cd sol-balance
Cargo.tomlファイルに必要な依存関係を追加してください:
[依存関係]
solana-sdk = "1.16.14"
solana-client = "1.6.14"
src/main.rs を開き、1行目で必要なパッケージをインポートします:
use solana_sdk::公開鍵::公開鍵;
use solana_client::rpc_client::RpcClient;
use std::str::FromStr;
5行目から6行目にかけて、オーナーアカウントのアドレスと、 LAMPORTS_PER_SOL 定数:
const OWNER: &str = "YOUR_WALLET_ADDRESS";
const LAMPORTS_PER_SOL: f64 = 1_000_000_000.0;
最後に、あなたの メイン 所有者のウォレットの公開鍵を get_balance メソッド:
fn main() {
let owner_pubkey = Pubkey::from_str(OWNER).unwrap();
let connection = RpcClient::new("https://example.solana.quiknode.pro/000000/".to_string()); // 👈 Replace with your Quicknode Endpoint
let balance = connection.get_balance(&owner_pubkey).unwrap() as f64;
println!("Balance: {}", balance / LAMPORTS_PER_SOL);
}
コードをコンパイルして実行してください。ターミナルで次のように入力してください。
cargo build
cargo run
これで、元のウォレットの残高が元通りになっているはずです。よくできました!
まとめ
よくできました!これで、Solanaウォレットの残高を取得するための便利なツールが4つ揃いました。Solanaを初めて使う方には、以下のリソースが役立つかもしれません:
皆さんが開発中のプロジェクトについて、ぜひ詳しくお聞かせください。Discordでメッセージを送っていただくか、Twitterをフォローして、最新情報をチェックしてください!
皆様からのフィードバックを心よりお待ちしております!❤️
このガイドについてご意見やご感想がございましたら、ぜひお聞かせください。皆様からのご意見をお待ちしております。
