環境
OS : osx
目的
Gethの"Basic Use Case Documentation"にある3つをそれぞれ試す。Ethereum開発に必要なClientであるGethの使い方を学ぶ。
- Managing your accounts(アカウント管理)
- Mining(マイニング)
- Contracts and Transactions(契約と取引)
始めに
- アカウントを暗号化する際のパスワードを忘れるとそのアカウントにはアクセスできなくなるので注意
- gethはaccountというサブコマンドによってアカウント管理できる
- 鍵は<DATADIR>/keystore以下に保存される
- 定期的なバックアップをオススメする
- 鍵のバックアップに関する詳細:Backup & restore
- ヘルプコマンド
geth account help <subcommand>
アカウント管理でできること
- 新たなアカウントの作成
- 既存アカウントのリスト化
- 新たなアカウントに対する秘密鍵のインポート
- 最新の鍵形式への移行とパスワード変更
アカウントの作成
新たなアカウントを作る
前回の投稿で作成したgo-ethereum内で作業を行う。$ geth account new
WARN [06-18|10:42:55] No etherbase set and no accounts found as default
Your new account is locked with a password. Please give a password. Do not forget this password.
Passphrase:
Repeat passphrase:
Address: {2e9f6ce30074338fac346090d4bc6a1fd5506f38}
リスト化した情報を参照してみる。
$ geth account list
Account #0: {2e9f6ce30074338fac346090d4bc6a1fd5506f38} keystore:///Users/xxx/Library/Ethereum/keystore/UTC--2017-06-18T13-53-47.688998272Z--2e9f6ce30074338fac346090d4bc6a1fd5506f38
アカウント情報を暗号化形式で保存する。この時に指定するパスフレーズはアカウントをアンロックする時に必要なので決して忘れてはならない。
$ > personal.newAccount test
上記の作業前後でディレクトリ内には以下のような変化が。
(前)
$ ls AUTHORS build core les rlp COPYING circle.yml crypto light rpc COPYING.LESSER cmd eth log swarm Dockerfile common ethclient metrics tests Makefile compression ethdb miner trie README.md consensus ethstats mobile vendor VERSION console event node whisper accounts containers interfaces.go p2p appveyor.yml contracts internal params(後)
$ ls
AUTHORS console metrics
COPYING containers miner
COPYING.LESSER contracts mobile
Dockerfile core node
Makefile crypto p2p
README.md eth params
VERSION ethclient personal.newAccount
accounts ethdb rlp
appveyor.yml ethstats rpc
build event swarm
circle.yml interfaces.go tests
cmd internal trie
common les vendor
compression light whisper
consensus log
アカウントに関するファイルが生成されている。
秘密鍵のインポートによってアカウントを作る
暗号化されてない秘密鍵を使用する場合。これは不要なのでスキップする。既存のアカウントをアップデートする
アカウントを暗号化形式で最新バージョンに保存する。
この時アカウントのロックを解除するためにパスフレーズを求められる。
この時アカウントのロックを解除するためにパスフレーズを求められる。
$ geth account update 2e9f6ce30074338fac346090d4bc6a1fd5506f38 Unlocking account 2e9f6ce30074338fac346090d4bc6a1fd5506f38 | Attempt 1/3 Passphrase: INFO [06-19|22:07:53] Unlocked account address=0x2e9f6ce30074338fac346090d4bc6a1fd5506f38 Please give a new password. Do not forget this password. Passphrase: Repeat passphrase:
プリセールウォレットをインポートする
スキップ。
アカウントのリスト化と残高のチェック
現在のアカウントのリスト化
$ geth account list
Account #0: {2e9f6ce30074338fac346090d4bc6a1fd5506f38} keystore:///Users/kichino/Library/Ethereum/keystore/UTC--2017-06-18T13-53-47.688998272Z--2e9f6ce30074338fac346090d4bc6a1fd5506f38