コントラクトアドレスには送金できない?その仕組みと対処法を教えます!
コントラクトアドレスとは
イーサリアム(Etherum)などの、スマートコントラクトを用いて契約情報をブロックチェーン上で管理しているプラットフォームでは、ビットコインなどのように行われた取引内容を記録するのではなく、まずコントラクト(契約内容)をブロックチェーンに書き込み、それからそのコントラクトの内容を実行しています。
そして、このコントラクトに与えられたアドレスこそがコントラクトアドレスなんです。
したがって、他の多くの暗号資産(仮想通貨)において送付先となるアドレスとは少し性質が違うということになります。
それではこのコントラクトアドレスに関してしばしば起こっているトラブルについて詳しく説明していきます。
コントラクトアドレスには送金できないってどういうこと?
よくあるトラブル・悩みとは
まず送金に関してよくあるトラブルとして、送金アドレスを間違えてしまってお金が消えてしまった…というものがあります。
これに関しては、送金アドレスを手で入力せずにコピペをする、完了する前にもう一度しっかり確認を行うなどの対処法が考えられます。
しかし、アドレスをコピペしたし間違えていないのに送金ができていない場合もあります。
イーサを取引所から送金しようとしたら「コントラクトアドレスには送付できません(coincheck)」「コントラクトアドレスは登録できません(bitFlyer)」と出てしまう
というような場合です。ERC20トークンのICOへの投資などイーサリアムを送金する必要がある場合も多いため、送金ができないとなればなかなか深刻な問題です。
では、一体なぜ送金ができないのでしょうか?
どうして送金できないの?
冒頭でも説明したように、そもそもコントラクトアドレスと一般的な送金アドレスは異なるものであることを認識しておく必要があります。
実は、これはセキュリティ上の問題だと言われていますが、取引所からそのまま直接コントラクトアドレスを指定してそこに送金するということはできないようになっているのです!
ということは、取引所にあるイーサはコントラクトアドレスには送金することができないのか?
もちろんそんなことはありません。送金する手段はちゃんとあります!
送金できない場合の対処法
MyEtherWalletを使おう!
実は、コントラクトアドレスにも秘密鍵が付いているウォレットからならイーサを送ることができるのです!
そこで、ここではイーサリアムの保管にオススメなMyEtherWalletを利用した対処法をCryptoManiaが紹介します!
bitFlyerからMyEtherWalletへ
例として、bitFlyerからMyEtherWalletへイーサを送る手順を紹介します。
まず、bitFlyerにログインし、左側のメニューから「入出金」を選んでください。
次に、「ETHご送付」を選択します。すると、次のような画面になります。
「ラベル」には自分が送付先とわかるような名前を、「イーサリアムアドレス」にはMyEtherWalletのアドレスを入力し、右側の「追加する」というボタンを押します。
これで送付先の登録ができたので、登録された送付先を選択し、下に送付数量を入力します。
(*二段階認証をメールで行っている方はここで4桁の暗証番号の入力も必要になります。)
これでMyEtherWalletへの送金は完了です。
MyEtherWalletからイーサ(Ether)を送金!
次に、MyEtherWalletに入っているイーサをICOの投資先などコントラクトアドレスに送る方法を説明します。
まずは、MyEtherWalletをアンロックします。登録の時と同じページ(ホームページ)から、左上の「Ether/トークンの送出」を選択します。
すると上のようになるので、「Keystore/JSON File」を選んでウォレットを作った際にダウンロードしたファイルを選択するか、「秘密鍵」を選んで保存しておいた秘密鍵を入力し、「アンロック」しましょう。
すると、送出の画面になります。
ここで、「宛先アドレス」には送金先のコントラクトアドレスを入力し、送出数量を入力しましょう。
また、送金を確実にしたい場合にはガスリミットを上げるなどしておきましょう。
以上の事項を入力し、「トランザクションを生成」を押し、アドレスなどの確認をもう一度しっかりとしたら、送金を完了しましょう。
これでコントラクトアドレスに無事イーサを送ることができます!
コントラクトアドレスに関するQ&A
BittrexやPoloniexなど海外取引所に送る際はどうすればいい?
国内の取引所にあるイーサをBittrexやPoloniexに送りたいのに送金が完了しない、、という声をよく聞きます。
このケースについても、原因はコントラクトアドレスにあることがほとんどです。BittrexやPoloniexで生成された受け取り用のアドレスが実はコントラクトアドレスであるために送金することができないんです!
こうした送金ミスがあると、キャンセルされてそのまま手元に残ればまだいいのですが、手元に戻ってこない場合は問い合わせなどが必要になり返金すらもとても面倒なことになりかねません。
こうした送金を行う際にも一度MyEtherWalletなどウォレットを経由すればこのような面倒事を避けることができるでしょう。
また、送金ができないもう一つの理由として「ガス」が足りないということも考えられます。イーサリアムの取引には「ガス」に依存して決まる手数料が必要なので、手数料の用意も忘れないようにしましょう。
まとめ
取引所にあるイーサをコントラクトアドレスに直接送金しようとして失敗してしまったという経験は多くの方がしたことがあるのではないでしょうか?
ビットコインに次ぐ暗号資産(仮想通貨)とも言えるイーサリアムですから取引をする機会が多いかもしれませんが、コントラクトアドレスと一般的な送金アドレスの違いを認識し、危険な送金ミスをしないように気をつけましょう!