本記事ではMyEtherWalletを利用してEthereumとERC20トークンのためのウォレットを作成し、送受金する方法を紹介します。
目次
MyEtherWalletとは
MyEtherWalletはEthereumネットワークとやりとりするためのオープンソースのツールです。ユーザーはMyEtherWalletを通じてEthereumやEthereumベースのトークンの標準ERC20に準拠するERC20トークンをサポートするウォレットを作成したり、送受金したりすることができます。
※ ERC20トークンについては本ブログの「Ethereumベースのトークンの標準ERC20」を参照してください。
MyEtherWalletはMyEtherWalletのウェブサイトでも利用できますが、GitHubからソースコードをダウンロードすることでブラウザで動くクライアントサイドのアプリケーションとして利用することもできます。
MyEtherWallet自体はウォレットではなく、あくまでEthereumブロックチェーンと「ウォレットを作成する」「送受金する」といったやりとりをしやすくするためのインターフェイスを提供しているだけで、ウォレットの情報はユーザーの手元にだけ存在します。
MyEtherWalletは2015年8月、Ethereumの最初のβ版であるFrontierがリリースされて間もなく公開されました。MyEtherWalletの初回リリース時のredditのスレッドで開発者のKvhnuke氏は「多くのユーザーがEthereumクライアントをコンピューターにセットアップするのに依然大きな問題を抱えているようなので」としてMyEtherWalletの公開をアナウンスしました。ERC20トークンにはERC20が正式採用される1年以上前から対応しています。
ここからはMyEtherWalletのウェブサイトでウォレットを作成し、実際にEtereumやトークンをやりとりするプロセスを見てみましょう。
MyEtherWalletでウォレットを作成する
はじめてMyEtherWalletのウェブサイトを訪れると、MyEtherWalletについてのチュートリアルダイアログが表示され、MyEtherWalletの仕組みや気をつけなければいけないことが説明されます。
画像: 初回アクセス時のチュートリアル(MyEtherWalletのウェブサイトより)
チュートリアルが終わったら、ヘッダメニューにある「New Wallet」をクリックしてパスワードを入力し、「Create New Wallet」ボタンをクリックします。このパスワードは次のステップでダウンロードするKeystoreファイルのパスワードです。大切に保存してください。
画像: ウォレットのKeystoreファイルのパスワード設定画面(MyEtherWalletより)
「Download Keystore File」ボタンをクリックしてKeystoreファイルを保存します。Keystoreファイルとパスワードはウォレットにアクセスする手段のひとつです。繰り返しになりますが、どちらかひとつでもなくしてしまうとウォレットにアクセスする手段のひとつを失うことになりますので大切に保存してください。保存したら注意文をよく読み、「I understand. Continue.」をクリックして次に進みます。
画像: Keystoreファイルのダウンロード画面(MyEtherWalletより)
続いてウォレットのプライベートキーが表示されます。このプライベートキーもウォレットにアクセスする手段のひとつです。安全な場所に保存してください。「Print Paper Wallet」をクリックするとペーパーウォレットが表示されるのでこれを印刷しておいてもよいでしょう。
画像: ウォレットの秘密鍵表示画面(MyEtherWalletより)
これでEthereumとERC20トークンに対応したウォレットができあがりました。
MyEtherWalletでのEthereumの送受金
MyEtherWalletを利用したEthereumの送金手続きを見てみましょう。MyEtherWallet.comのヘッダメニューにある「Send Ether & Tokens」をクリックし、ウォレットにアクセスする方法を選択します。MyEtherWalletはMetaMaskやハードウェアウォレットの利用を推奨していますが、ここではステップを簡略化するために「Private Key」を選択し、プライベートキーを入力します。入力後に表示される「Unlock」ボタンをクリックしてウォレットを開きます。
※ MyEtherWalletも警告している通り、ブラウザにプライベートキーを入力するのは危険です。本格的に使う場合はMyEtherWalletが推奨するウォレットへのアクセス方法を検討してください。
画像: ウォレットへのアクセス画面(MyEtherWalletより)
Ethereumの送金については、表示された送金フォームに送り先のアドレスと金額、ガス量の最大値(Gas Limit)を指定して「Generate Transaction」をクリックします。しばらくすると送金先のアドレスで送金したEthereumを確認できます。
※ ガス量は送金手数料に関連する値で、送金手数料は「ガス量 × ガス価格」で計算されます。下の画像の例では、ガス量の最大値は21000(ガス量) × 20(ガス価格 20Gwei)はETHにして0.00042ETHとなり、最大で約0.45ドル、日本円にして50円ほどの手数料となります(2018年1月現在)。
画像: MyEtherWalletの送金フォーム(MyEtherWalletより)
Ethereumの受け取りについては、前項で作成したパブリックキーをアドレスとして相手に伝え、トークンを送ってもらいます。
MyEtherWalletでのERC20トークンの残高照会と送受金
MyEtherWalletの特徴はEthereumだけでなくERC20トークンも扱えるところにあります。ここでは予測市場AugurのトークンREPを例にMyEtherWalletを利用したERC20トークンの送受金のしかたを見てみましょう。
前項と同様にMyEtherWallet.comのヘッダメニューの「Send Ether & Tokens」をクリックし、送金フォームを表示します。右側のメニュー「Token Balances」の「Show All Tokens」をクリックし、残高を照会したいトークン名をクリックします。REPを探してクリックすると残高が表示されます。クリックのタイミングでEthereumブロックチェーンを参照しているので、値が表示されていなくても焦らずリスト上のトークン名をクリックしてみましょう。
画像: 各トークンの残高のリスト(MyEtherWalletより)
送金手順はEthereumの場合とほとんど変わらず、送金料を指定する「Amount to Send」の入力欄で単位を送金したいトークンの単位に変えるだけです。
画像: ERC20トークンの送金(MyEtherWalletより)
ERC20トークンの受け取りについてはEthereum同様、MyEtherWalletのパブリックキーをアドレスとして相手に伝え、トークンを送ってもらいます。
ウォレットの復元
冒頭でもふれましたが、MyEtherWalletはウェブウォレットなどと異なり、Ethereumブロックチェーンとやりとりするためのインターフェイスを提供しているだけです。本記事の手順で作成したウォレットの場合、完全なアクセス権を得るためには「ウォレットのプライベートキー」または「ウォレット作成時に指定したパスワードとKeystoreファイルの組み合わせ」のいずれかひとつが必要です。これらを利用してMyEtherWalletなどでウォレットを復元(ウォレットへのアクセス権を取得)します。
また、Chromeの拡張として提供されているウォレットMetaMaskに秘密鍵をインポートし、MyEtherWalletと連携させることでブラウザに秘密鍵をコピーアンドペーストすることなく、フィッシングに合うリスクをなくしてより安全にウォレットを利用することができます。この方法はMyEtherWalletが推奨しているウォレットへのアクセス方法のひとつで、その他にもTREZOR、Ledger Wallet、Digital Bitboxといったハードウェアウォレットも推奨されています。
おわりに
今後トークンエコノミーの拡大にともない、ERC20トークンの利用が広がる可能性があります。ウォレットにアクセスするためのプライベートキーなどの管理に気を使う必要はありますが、Ethereumと合わせてEthereumベースのERC20トークンをMyEtherWalletで一元管理できるのは大きなメリットではないでしょうか。本記事を参考にぜひ一度MyEtherWalletを試してみてください。