MORYLAB;

エンジニアの卵がソースコードやライフログを綴るブログ。

Ethereumをはじめてみる④

今日はトランザクションの中身を見ていきます。

トランザクションを見てみる

トランザクションの詳細を見たいときはgetTransactionコマンドを使う。
引数に前回作成したトランザクションのIDを入れてみると、

> eth.getTransaction('0x87dbbc27ec15bb0eeed0d1e295d675332add2d43dd01b7ea7e40a9ed7648aea5')
{
  blockHash: "0xeeafe2c1d8df81172dbe606c42ab6b10ee126c23e7a49fd522d68406f7d4da3e",
  blockNumber: 64,
  from: "0x30daa337a6696d7c007b32374c34c3362fe61bbf",
  gas: 90000,
  gasPrice: 18000000000,
  hash: "0x87dbbc27ec15bb0eeed0d1e295d675332add2d43dd01b7ea7e40a9ed7648aea5",
  input: "0x",
  nonce: 1,
  r: "0xa9d968d49f647d76f240401ff1a2385da1df24f07210b86ea8da9264f869d055",
  s: "0x5db2bf4e798c6b0d6a2ac6c6dc5c261cd485c70e0956fde48b9589cab48c6040",
  to: "0x43ceb2d08d417af3d897b5f92a68c362c935605a",
  transactionIndex: 0,
  v: "0x1c",
  value: 10000000000000000000
}

こんな感じ。


詳細を見てみる

blockHash:
このトランザクションが含まれるブロックのハッシュ値
この値を引数にしてブロックの詳細をみることもできる。

blockNumber:
ブロック番号。このトランザクションが何番目のブロックに含まれているか。

from:
誰がトランザクションを実行したか。送金元

gas:
gasの上限値

gasPrice:
送信者が払う手数料的なもの。
トランザクションの処理時にマイナーへ支払う1gas当たりの手数料。

hash:
トランザクションのハッシュ。
ブロックのハッシュではない。

input:
スマートコントラクトがあればここに入る。

nonce:
トランザクションのnonce。
ブロックのnonceではないので注意。このnonce値より、次のトランザクションハッシュ値が変わってくる。

r: ここ参照

s: ここ参照

to:
誰あてのトランザクションか。送金先

transactionIndex:
ブロック内でのトランザクションのインデックス。

v: ここ参照

value: 送金した金額


gasをもう少し詳しく

gasは、支払うgasの最大値。genesisブロックを生成した際に設定した数値で、今回は90000が設定されている。 対して、gasPriceはトランザクションが処理された際ににマイナーへ支払われる1gas当たりの手数料で、単位はwei。

今回のトランザクションでどれくらいのgasが使用されたかを見たい場合は gas / gasPrice を計算すれば良い。今回の例だと、 18000000000/90000 = 200000(gas) 200000gasが使用されたらしい。

コメントでなかじょさんにご指摘頂いたとおり、gasについて認識が間違っていた模様。

gasについてはまた調べ直してまとめてみます。