サービス

イーサスキャン(Etherscan)の使い方 – 実例を見ながらわかりやすく解説

コロネ
コロネ
あれ〜。
どれだったっけなあ。

ファオ
ファオ
どうしたの、コロネ。
今日も困りごと?

コロネ
コロネ
今日も困ってる。
MLBクリプトベースボールでオークションに出品した選手フィギュアが売れたみたいなんだけど、どれが売れたのかわからないんだよなあ。

ファオ
ファオ
売れた選手の記録とか残ればいいんだけど、その機能はまだないからねえ。

コロネ
コロネ
いつ、いくらで何が売れたかわからないから、もうかったのか損したのかもわかりゃしない。

ファオ
ファオ
ふむ。
知りたいかね、その情報を。

コロネ
コロネ
知りたい。

ファオ
ファオ
どうしてもか?

コロネ
コロネ
いや、どうしてもってほどでは。

ファオ
ファオ
そこは「どうしても」っていえよ!

コロネ
コロネ
じゃあ、どうしても!

ファオ
ファオ
よかろう。ならば伝授しよう。
イーサリアムの達人のみが使いこなせるというエクスプローラーサイト、「イーサスキャン」(Etherscan)の使い方を……!

コロネ
コロネ
イーサスキャン…………!?

イーサスキャン(Etherscan)とは?

ファオ
ファオ
イーサスキャンってのは、イーサリアムのトランザクションやトークンの情報を検索して調べられるサイトだよ。
まあ、別にイーサリアムの達人でなくても使いこなせる。

ファオ
ファオ
トップページはこんな感じだね。

コロネ
コロネ
ありがとう、ファオ!
よくわかった!
そういえば、今日は近所のネコの集会に呼ばれてるんだった!
じゃあな!

ファオ
ファオ
情報の多さにビビって逃げ出すんじゃねえよ。
あとそのネコの集会、楽しそうだな。今度つれていけよ。

コロネ
コロネ
見てるだけでクラクラしてくる!
全部英語だし! 読めない! わからない!

ファオ
ファオ
ポイントさえつかめばそれほど難しくないから。
話が進まないからだまって聞けよ。

コロネ
コロネ
はあ……。
しょうがない。わかりやすく頼むぞ、ファオ。

ファオ
ファオ
わかってるよ。
ああ、この項、無駄話しかしてない……。

イーサスキャンでの検索の方法

ファオ
ファオ
まずは一番基本的な使い方を教えよう。
自分のイーサリアムアドレスの入出金を調べる方法だよ。

コロネ
コロネ
いつ何にいくら使ったかわかるってこと?

ファオ
ファオ
そうそう。
イーサリアムウォレットのメタマスクだけでは細かい情報はわからないからね。
入出金の詳しい内容を知るにはイーサスキャンが必要なのさ。

ファオ
ファオ
まずはブラウザでメタマスクを起動しよう。
アカウント名のあたりをクリックすると自分のアドレスをクリップボードにコピーできるよ。

ファオ
ファオ
アドレスをコピーしたらイーサスキャンに移動しよう。
サイトの右上に検索ボックスがあるので、そこにさっきコピーしたアドレスをペーストして、「GO」をクリック。

ファオ
ファオ
自分のアドレスのこれまでの入出金履歴がずらりと表示されるよ。

ファオ
ファオ
この「Balance」ってのがこのアドレスのETHの残高だね。

コロネ
コロネ
7ETHも持ってるのか!
ファオ、金持ちだなあ!

ファオ
ファオ
お前らの資産も私が管理しとるからやろがい!

コロネ
コロネ
そうだった。

トランザクション一覧の見方

ファオ
ファオ
トランザクション一覧の見方を教えよう。
  • TxHash: トランザクション固有のIDのようなもの
  • Block: トランザクションが含まれるブロック
  • Age: トランザクションが発行された日付
  • From: 送信元アドレス
  • OUT / IN: OUTは出金、INは入金
  • To: 送信先アドレス
  • Value: そのトランザクションで送付したETHの量
  • TxFee: そのトランザクションの手数料

ファオ
ファオ
ちょっと補足すると、OUTは自分がETHを送った場合で、表示されてる手数料は自分が負担してるよ。
INはだれかからETHが送られてきた場合で、表示されてる手数料は相手が負担してる。
Toは送信先のアドレスだけど、アプリやサービスに送った場合はその名前が表示されることがあるよ。

コロネ
コロネ
OUTがほとんどでINがぜんぜんないな。
出ていくばっかりだ。

ファオ
ファオ
INには直接送金された場合しか表示されないからね。
オークションの取引など、スマートコントラクトから送金された場合はここには載ってこないよ。

コロネ
コロネ
そうか!

ファオ
ファオ
TxHashをクリックするとトランザクションの詳細が表示されるよ。
ちょっと見てみよう。

トランザクション詳細の見方

ファオ
ファオ
トランザクションの詳細が表示されたね。

コロネ
コロネ
まーた、わけわかんない。

ファオ
ファオ
ここも見るべきポイントは多くはないよ。
大切なところは赤くした。
  • TxHash: トランザクション固有のIDのようなもの
  • TxReceipt Status: トランザクションの状況。成功、承認待ち、失敗など
  • Block Height: トランザクションが含まれるブロック
  • Time Stamp: トランザクションが発行された日付
  • From: 送信元アドレス
  • To: 送信先アドレス
  • Value: 送付したETHの量
  • Gas Limit: 設定したガス消費量の上限
  • Gas Used by Txn: 実際に使われたガスの量
  • Gas Price: 設定したガスの手数料単価
  • Actual Tx Cost/Fee: 実際にかかった手数料

ファオ
ファオ
Nonce以下は私たちが見ても意味がないので説明を省略するよ。

ファオ
ファオ
「TxReceipt Status」が「SUCCESS」、
「Time Stamp」が「Sep-17-2018」、
「Value」が「0.01Ether」、
「Actual Tx Cost/Fee」が「0.00084935Ether ($0.18)」
になってるよね。

コロネ
コロネ
うん。

ファオ
ファオ
このトランザクションの意味するところとしては、
「2018/9/17にイーサエモンのアドベンチャーモードを実行するために0.01ETHを送って成功した。手数料は0.18$だった。」
ということだね。

コロネ
コロネ
今は説明されてるからわかるけど、明日以降もわかる自信がない。

ファオ
ファオ
だいじょぶ、だいじょぶ。最初はみんなそうさ。
使ってりゃ慣れるよ。

トランザクションのステータスの見方

ファオ
ファオ
トランザクションは必ず成功するとは限らない。
失敗するケースもあるよ。
いくつか例を見ていこう。

ガス不足

ファオ
ファオ
「Out of Gas」
これはトランザクションで設定したガスの上限が少なすぎたんだね。
スマートコントラクトを実行させるために必要なガスが足りなくなってしまったんだ。

コロネ
コロネ
ガス欠ってやつだな!

ファオ
ファオ
これは十分なガス上限を設定すれば防げる失敗だね。
まあ、メタマスクで最初に提示される量で送っておけばまず起きない。
トランザクションが失敗した場合、送ったETHは返却されるよ。
だけど、使った手数料は返却されない。

コロネ
コロネ
ガスをケチるとかえって損するわけだな。

契約成立済み

ファオ
ファオ
「Reverted」
これはオークションの商品などが先に売れちゃって、スマートコントラクトが実行できなかった場合に起きるトランザクションエラーだね。

コロネ
コロネ
MLBクリプトベースボールで安い選手を買おうとしてトランザクションを送ったら、先に他の人に買われちゃってるやつか。

ファオ
ファオ
うん。
この例はマーケットでイーサエモンのモンスターを買おうとしたときだね。
これもたぶん先に他の人に買われちゃってたケースだと思う。

ファオ
ファオ
このエラーの場合ももちろん送ったETHは戻ってくるよ。
手数料は戻ってこないのも同じ。

トランザクション未承認

ファオ
ファオ
「Pending」
これはエラーではないね。
送ったトランザクションがまだ承認されてなくて送信が完了してない状態だね。

コロネ
コロネ
これはしょっちゅうおきるな。

ファオ
ファオ
メタマスクのガス代を相場より低く設定するとそうなるんだよ。
メタマスクが最初に提示するガス代に+1GWEIするのがスムーズにトランザクションを通すコツかな。

インターナルトランザクション一覧の見方

ファオ
ファオ
さっきちょろっと言ったけど、オークションで何かが売れたときみたいに、スマートコントラクトから自分のアドレスにETHが送付される場合は「Transactions」の一覧には載らないよ。

ファオ
ファオ
載るのはこっち。「Internal Txns」のタブのほうだ。

ファオ
ファオ
インターナルトランザクションってのは、自分がトランザクションを送って実行したスマートコントラクトの結果として送り返されてくる戻りのトランザクションのこと。

コロネ
コロネ
は?

ファオ
ファオ
「は?」じゃねえよ。

ファオ
ファオ
コロネがMLBクリプトベースボールで選手のフィギュアをマーケットに出品したとき、メタマスクからトランザクションを送ったでしょ?

コロネ
コロネ
うん、送った!

ファオ
ファオ
で、その選手フィギュアが売れるとETHがいつの間にか増えてるでしょ?

コロネ
コロネ
うん、いつの間にか増えてる!

ファオ
ファオ
フィギュアを出品したときに送ったトランザクションのスマートコントラクトに、「これが売れたら送信者に売れた代金を送ってください」って内容が含まれてるんだよ。
それが実行されてインターナルトランザクションとして記録されてるわけだ。

コロネ
コロネ
うーん、ちょっとだけわかった。

ファオ
ファオ
まあ、スマートコントラクトからETHやトークンが送られてくるときはインターナルトランザクション、って覚えておけばOK。

ファオ
ファオ
ではインターナルトランザクション一覧の見方を説明しよう。
  • ParentTxHash: インターナルトランザクションの元となったトランザクションが持つ固有のIDのようなもの
  • Block: ParentTxHashが含まれるブロック
  • Age: ParentTxHashが発行された日付
  • From: 送信元のスマートコントラクのアドレス
  • To: 送信先アドレス
  • Value: 送付されたETHの量

ファオ
ファオ
この場合のParentTxHashってのは、コロネが出品したときに送ったトランザクションではなくて、だれかがこの商品を買ったときに送ったトランザクションだね。

コロネ
コロネ
…………………。

ファオ
ファオ
お前、今寝てただろ。

コロネ
コロネ
…………寝てないよ。

ファオ
ファオ
次寝たらヘソにたっぷりラード塗り込むからな。

コロネ
コロネ
オレのキュートなおへそがテラテラになってしまう!

ファオ
ファオ
話を戻すと、ここで大事なのは「Value」かな。
結局、これが手に入ったETHの額ということになるよ。

インターナルトランザクション詳細の見方

ファオ
ファオ
だいぶ長くなったけどこれで最後だよ。
ようやくコロネが知りたかった「いつ何がいくらで売れたか」っていう情報が明らかになる。

コロネ
コロネ
やっとかー。

ファオ
ファオ
「ParentTxHash」をクリックするとそのトランザクションの詳細が表示されるよ。

ファオ
ファオ
ここで見て欲しいのは「Token Transfered」と「Value」の項目だよ。

コロネ
コロネ
「ERC-721 Tokenid [25240] ERC721 (MLBCB)」って書いてある。

ファオ
ファオ
うん。
これは「MLBCBというスマートコントラクトで25240というIDのトークンの持ち主が移動した」ということだね。
そして、「Value」がその値段だ。

コロネ
コロネ
それはつまり……?

ファオ
ファオ
MLBクリプトベースボールでID:25240の選手が0.012ETHで売れた、ってことだ。

ファオ
ファオ
ここで一つ注意。
トランザクション詳細のページのValueは「いくらで売れたか」ってことで、出品者が手に入れたETHの額じゃないよ。
インターナルトランザクション一覧で表示されてるValueの方が実際手に入ったETHの額だからね。

コロネ
コロネ
ID:25240の選手って言っても、番号だけじゃだれかわからないよ?

ファオ
ファオ
MLBクリプトベースボールのサイトにアクセスすれば調べることができるよ。

ファオ
ファオ
MLBクリプトベースボールの選手フィギュアのURLは
https://www.mlbcryptobaseball.com/asset/(ID)
という形式で表示されるんだ。

ファオ
ファオ
その(ID)のところにさっきの25240を入れると、
https://www.mlbcryptobaseball.com/asset/25240
になるよね。
このURLにアクセスすれば……

コロネ
コロネ
おっ、表示された!

ファオ
ファオ
選手じゃなくてトロフィーだったね。
こうやれば、いつ何がいくらで売れたかわかるでしょ。

ファオ
ファオ
MLBクリプトベースボールではこの方法で特定できたけど、サービスごとにトークン情報の表示の仕方は違うから、その場合は自分でやり方を探してもらう必要があるね。

コロネ
コロネ
このゲームについてはオッケーだ!

コロネ
コロネ
それにしても、ここまで長い道のりだった……。

ファオ
ファオ
基本的なところから説明したからね。
慣れればあっという間に調べられるようになるよ。

コロネ
コロネ
そうなる自信がまるで湧いてこない……。

ファオ
ファオ
だいじょぶ、だいじょぶ。
慣れだ、慣れ。

おわりのピプリクトトーク

ファオ
ファオ
イーサスキャンの基本的な使い方は以上!

コロネ
コロネ
ありがとう、ファオ!
また何か困ったことがおきたら助けてくれ!

ファオ
ファオ
おう。
ヘソにラード塗りこまれないように目はさましてこいよ。