はじめに
この記事は、METAMASKでウォレットが作られている状態から、typescriptで残高を表示するところまでの流れです。概要としては以下のような流れで行います
- METAMASKのウォレットにSepoliaのフォーセットを受け取る
- フォーセットの受け取りを確認
- アドレスを使用して、seploiaのテストネットの設定をするための選定
- typescriptで残高取得をする
- ついでにpythonでもやってみる?
前提
METAMASKのアカウントが作られている。
【前提1】 Seploiaとは
めっちゃ簡単に言えば、とりま今回使用するETHのテストネットです。
Sepolia はアプリケーション開発に推奨されるデフォルトのテストネットです。
Sepolia ネットワークは、許可型のバリデータセットを使用しています。 また、まだ新しいものであるため、ステートや履歴などデータ量が少ないことも特徴です。
【前提2】 ETHに興味がある
今回行うものとしては、ETHの開発に興味があるけど、手の付け方がわからない人のためのものです。そのため、多少噛み砕くことから、正確でない言葉を用いているところがあります。ご了承ください。
【Step01】 METAMASKのウォレットにSepoliaのフォーセットを受け取る
METAMASK上のSepoliaのアドレスを入手します。
METAMASKに入った状態で、以下の項目を選びます。

この後に、赤枠のところからウォレットアドレスをコピーして、以下のページでフォーセットを受け取ってください。テストネットにおけるフォーセットには価値がありません。あくまでもテスト環境でどのように動かせるかの体験になります。ちなみに、Goerliなドンネットワークでは、メインネットのウォレットに少量でもETHを持っていないとテストネットで試すことができないものもあります。そっちでやりたい場合は、課金しておいてください(笑)
Sepoliaでは無課金でいけます!!!!
こぴったら、以下のページにアクセスして、受け取る!!!
Sepolia Faucet で自分のMETAMASKのSepolia
【Step02】 フォーセットの受け取りを確認
以下のページで確認してみましょう。
取引(トランザクション)が発生して、0.5ETHが送られたことがわかりますね。これしか受け取っていないため、現状の残高は0.5ETHです。
この記事では、別でマイニングをした後に記事を書いたため、正確には、1.483ETH が正確な残高になります。
残高を1.483ETHとして話を進めます。
【Step03】 アドレスを使用して、seploiaのテストネットの設定をするための選定
ブロックチェーンは、分散型台帳としての役割を果たし、暗号通貨からスマートコントラクトまで様々な応用が可能です。しかし、ブロックチェーンのデータにアクセスするためには、特定の方法が必要とされます。ブロックチェーンネットワーク内のノードと、それらにアクセスするためのRPC(Remote Procedure Call)というものがあります。このRPCを使用して、残高を今回は取得していきます。
これを探すためのページを以下から探します。どれか一つでいいと思います。今回は、" https://rpc.sepolia.org " を使用します。
【Step04】 typescriptで残高取得をする
実際にコードを書いてみましょう。
このコードで使用するパッケージは、ethersパッケージになるので、
$ npm install ethers
をしておいてください。パッケージ詳細は↓
ついでに、実行のために、typescriptとts-nodeを入れておきましょう
$ npm install typescript ts-node
import { ethers } from 'ethers';
// ネットワークの設定(先とったエンドポイント)
const sepoliaProvider = new ethers.JsonRpcProvider('https://rpc.sepolia.org');
async function getBalance(): Promise<void> {
const walletAddress:ethers.AddressLike = "<ここにはウォレットのアドレス>";
// 指定されたアドレスの残高を取得
const balance = await sepoliaProvider.getBalance(walletAddress);
// Etherの単位に変換
const balanceInEther = ethers.formatEther(balance);
console.log(`SepoliaのネットワークのETHの残高は: ${balanceInEther} ETH`);
}
// 関数の実行
getBalance();
出力結果
$ npx ts-node getBalance.ts
SepoliaのネットワークのETHの残高は: 1.483 ETH
しっかりと取れましたね。
以上!!!!