geth マイニングと送金(2/2)┃スマートコントラクト開発環境構築

   2018/01/17

geth インストールと設定(1/2)┃スマートコントラクト開発環境構築 の続き

プライベートネットワークで起動しgethを起動する。
gethコンソールが表示されているところからとする。

マイニング

マイニング開始

利用するCPUのスレッド数は1を指定しました。

> miner.start(1)
null

nullと表示されますがtrueの意味。(1.7.3ではまだバグが修正されていない模様)
CPUの使用率が100%になったと思います。大体数分で止めると良いでしょう。

マイニング確認

> eth.mining
true

trueであればマイニング中。

マイニング停止

> miner.stop()
true

trueでマイニングが止まりました。
CPUの使用率が下がったと思います。

残高の確認

> eth.getBalance(eth.accounts[0])
2.389e+21

マイニングした時間により残高が変わります。

> web3.fromWei(eth.getBalance(eth.accounts[0]), "ether")
2389

web3.fromWei関数を使用してetherに変換しました。

送金

ロックの解除

> personal.unlockAccount(eth.accounts[0])
Unlock account 0x6ba8d1e97893ca96bd53178402f4c2d50f1ccdc7
Passphrase:
true
> personal.unlockAccount(eth.accounts[1])
Unlock account 0x735655b691570d27cd9a28374662374d9603f769
Passphrase:
true

アカウント作成時に設定したパスワードは"password"なのでPassphraseにpasswordと入力します。

残高の確認

> web3.fromWei(eth.getBalance(eth.accounts[0]), "ether")
2389
> web3.fromWei(eth.getBalance(eth.accounts[1]), "ether")
0

送金処理

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

マイニング後に残高の確認

送金処理をマイニングで実行してから残高の確認を行う。

> eth.mining
true
> web3.fromWei(eth.getBalance(eth.accounts[1]), "ether")
11

トランザクションの確認

> eth.getTransaction("0x8d6942832a8eb86504088e1a6894eb1f7d82a946b685931ca4f1bb7590349c0e")
{
 blockHash: "0xce484c2cfaceec0fec2b995c462f13164f29a56eafc110c17f805e5e513753de",
 blockNumber: 444,
 from: "0x6ba8d1e97893ca96bd53178402f4c2d50f1ccdc7",
 gas: 90000,
 gasPrice: 18000000000,
 hash: "0x8d6942832a8eb86504088e1a6894eb1f7d82a946b685931ca4f1bb7590349c0e",
 input: "0x",
 nonce: 1,
 r: "0x4801f46059bf5e4289abd6d6af8f09ee9ba9b3219452a608f1cc9555c69b2031",
 s: "0x22f497f9ea75ddaaf80e3bc5d01a956bade7e463cfdbefe54edef208b19adf9",
 to: "0x735655b691570d27cd9a28374662374d9603f769",
 transactionIndex: 0,
 v: "0x38",
 value: 1100000000000000000
}

トランザクションレシートの確認

送金処理が完了しブロックに取り込まれると発行されます。

> eth.getTransactionReceipt("0x8d6942832a8eb86504088e1a6894eb1f7d82a946b685931ca4f1bb7590349c0e")
{
blockHash: "0xce484c2cfaceec0fec2b995c462f13164f29a56eafc110c17f805e5e513753de",
blockNumber: 444,
contractAddress: null,
cumulativeGasUsed: 21000,
from: "0x6ba8d1e97893ca96bd53178402f4c2d50f1ccdc7",
gasUsed: 21000,
logs: [],
logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
root: "0xb2b1eac0769d47978e0d92fa64d51c0def5d83d8741c2849003287afa5b64d3e",
to: "0x735655b691570d27cd9a28374662374d9603f769",
transactionHash: "0x8d6942832a8eb86504088e1a6894eb1f7d82a946b685931ca4f1bb7590349c0e",
transactionIndex: 0
}

gethの終了

> exit

 

以上でgethのインストールと設定、操作を終わります。

jun

会社やってます。大阪出身。40歳を超えてもまだまだ若輩者でございまする。

https://www.jiji-cloud.jp/

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。