MORYLAB;

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

Ethereumをはじめてみる③

今日は送金をやってみる。

送金準備

accouts[0]からaccouts[1]へ10Ether送金してみよう。

はじめに、それぞれのアカウント残高を確認。

> eth.getBalance(eth.accounts[0])
290000000000000000000
> eth.getBalance(eth.accounts[1])
0

続いて、送金の準備だがここで注意点がある。
現在接続しているのはプライベートネットワーク、つまりオレオレブロックチェーンなので参加者は自分1人だ。 この状態で送金をしたところで誰がブロックを更新するのか。

そう、「自分」。

ということで、プライベートネットで送金をしたい場合は裏でマイニングを走らせておこう。

> miner.start(1)
null
> eth.mining
true

続いて送金元のアカウントのロックを解除する。
パスワードを聞かれるので入力してreturn。

> personal.unlockAccount(eth.accounts[0])
Unlock account 0x30daa337a6696d7c007b32374c34c3362fe61bbf
Passphrase:


いよいよ送金

送金のコマンドは、 eth.sendTransaction({from: 送金元, to: 送金先, value: 金額})

今回は単位をEtherにして送金したいので、単位を変換する。

> eth.sendTransaction({from: eth.accounts[0], to: eth.accounts[1], value:web3.toWei(10,"ether")})
"0x3f635f7feb8ea6b2d1abb9fca9cf762dce754d82452a41db0410c3a14f805fbe"


とりあえず確認

トランザクションIDが表示されればOK。
残高が更新されているか確認してみる。

> eth.getBalance(eth.accounts[0])
280000000
000000000000
> eth.getBalance(eth.accounts[1])
10000000000000000000

OK。


もっと確認

今回のトランザクションの詳細を見たいときは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
}

今回のトランザクションの詳細が出てくる。


今日は眠いのでとりあえずここまで。
次回はトランザクションの中身を詳しく見ていきます