とても今さらなのだけど、表題通り Bitcoin core (bitcoin-qt) から Electrum へ、秘密鍵を使って残高を移動させてみたのでメモ。
Bitcoin だけでなく、Monacoin など他の Electrumでも、基本的に同じ手順で残高を移動できる。また、Electrum を初めて使う人向けに、Electrum の導入手順も含めて解説している。
注意事項
このページに書いた手順は「秘密鍵のインポート」手順ではない。「秘密鍵のスイープ」手順である。(この2つは似ているようでかなり違う)
「秘密鍵のスイープ」を選択した理由
- よくある質問 — Electrum 3.3 ドキュメント - 他のMonacoinクライアントから秘密鍵をインポートできますか?
上記サイトをはじめとし、秘密鍵のインポート手順を解説したサイトをいくつか読み、「スイープ」を選択する事にした。 - 具体的には「特別なウォレットを作成する必要があります」「このウォレットはシードから復元できない」この2つに不安を覚えた。(Electrum 初体験なので、ノーマルな環境を用意したかった)
まとめ
最初にこのページのまとめを書いてしまおう。
- この手順を知った時、秘密鍵を使う手間のかかる手法なので、「Bitcoin core で使っていたアドレス」を丸ごとElectrum へ取り込めるのかなー?と思っていた。しかし、新しいアドレスにコインを「移動」させるだけだった。
- おまけにネットワーク上の認証も必要だし、fee も発生するしで、これなら Bitcoin core から Electrum へ普通に送金した方が簡単だし時間もかからないしで、とてもガッカリである。
- メリットは、これでもう同期待ちで長い時間を待たなくて良いのだ、という安堵感のみとなってしまった。
というコトで、
ここまで読んでも「Electrum の利用にあたり、それでもスイープで残高を移動したい」という人だけが、読む価値のあるページとなっている。
以下、本文
まずコインのアドレスと残高をチェック
bitcoin core を起動する。
bitcoin core のオプションを開く
▲クリックで拡大
ここで「ウォレット」の「コインコントロールを有効にする」にチェックを入れる。
こうする事で「送金」タブでアドレス別の残高を確認できるようになる。
▲クリックで拡大
ここで残高とアドレスをメモしておく。
※入金回数が100回を超えているものや、お釣りアドレスの有無をしっかりチェックしておく。
次に、メモしたアドレスを使って秘密鍵の生成を行う。
秘密鍵の生成
bitcoin core のデバックウインドウで以下を入力する
- walletpassphrase <自身が設定したパスワード> 60
※ パスワード設定している場合は上記のロック解除コマンドが必要
※ 末尾の「60」は解除される時間の指定(単位:秒) - dumpprivkey <コインアドレス>
※ ウォレットを完全に移行したい場合であれば、前項で残高を確認したアドレスすべて。アドレスの数だけ行う - 実行時の画像
▲クリックで拡大
秘密鍵は 絶対に外部に漏れないよう、慎重に扱う。秘密鍵の文字列があれば、簡単にコインが移動できてしまう。
bitcoin coreでの作業はここまで。
次に、生成した 秘密鍵を Electrum に取り込む。
まずは Electrum の導入手順から
Electrum の導入手順
※はじめて Electrum を導入すると仮定し、手順を紹介している。
ダウンロード
- 自分の所有するコインに合わせ、ダウンロードする。
- 代表例
起動させる
- 最初にWalletのファイル名を決める。
▲クリックで拡大- 何でもよい。初期設定のままでよい。
※ ここで決めた名前でウォレットのファイルが生成される。
※ ここで生成されるファイルをバックアップする必要はない - 「Next」を押す
- 何でもよい。初期設定のままでよい。
- ウォレットの種類を決める
▲クリックで拡大
- 最初は「Standard Wallet」で十分。
- 「Next」を押す
- Seedを発行する
▲クリックで拡大
- Electrum をはじめてつかう場合は「Create a new seed」を選択する
- seed とは、12以上の単語をパスワードのように組み合わせた、Electrum ウォレットのマスターキーのようなもの。seed があればウォレット内のすべてのアドレスや秘密鍵にアクセスできる。
- 補足メモ
ここで「Use public or private keys」を選択し、秘密鍵を入力してもOKだが、シードなしのウォレットが出来上がってしまうらしい(試していない)。
※ この方法なら送金手数料も同期待ちも発生しないかもしれない。
※ コールドウォレットを作成する時などに利用するものか?
- 「Next」を押す
- Electrum をはじめてつかう場合は「Create a new seed」を選択する
- Seedが発行される
▲クリックで拡大
- 表示された12単語をメモする。
- この12単語さえ保存しておけば、ファイルが読めなくなったり、PCが壊れたり、PCを買い替えた時でもウォレットの復活が出来る。これがウォレットの事実上のバックアップファイルとなる。
- 「Next」を押す
- 表示された12単語をメモする。
- Seedを手入力して確認する
▲クリックで拡大
- コピペできない。手入力する
- 綴りや英単語そのものに間違いがあるとNextを押せない
- 正しくseed を入力し「Next」を押す
- パスワードを決定する
▲クリックで拡大- このパスワードは、「ウォレットの起動」や「送金」の時に使うもの。
- こちらはコピー&ペーストが可能。
- パスワードを決めたら「Next」を押す
- Electrumが起動する
▲クリックで拡大
※ 初めて起動した時は、何も履歴のない真っ白な画面が表示される。
導入手順ここまで。
以下、このページの本題、Electrumで秘密鍵をインポートする手順
Electrumで秘密鍵をスイープする
秘密鍵スイープの手順は以下
▲クリックで拡大
「ウォレット」>「秘密鍵」>「スイープ」
- 中央の入力ボックスに先ほど生成した秘密鍵を貼り付ける
- 入金先アドレスを指定する
※ 秘密鍵を使っても、アドレスごと取り込めるワケじゃなかった。
※ ついでに言うと、fee も取られる。承認も必要。 - 「スイープ」を押す
- 補足: この時、残高がゼロだと以下のエラーが出る。
No inputs founds. (Note that inputs needs to be confirmed)
残高がお釣りアドレスに移動していないか、間違えて空のアドレスから秘密鍵を生成していないか、秘密鍵そのものが間違っていないか、再度確認してみる。
- 補足: この時、残高がゼロだと以下のエラーが出る。
スイープが終わると、送金画面が表示される。
▲クリックで拡大
- 「送信」を押すと、出金 (この場合は入金) 処理が始まる
- この時点ではまだコインは移動していない。「クリア」でキャンセル可能。
- 残高が正しいか、ちゃんとチェックする
- 以下は、「残高が合わない」あるあるネタ
送金ボタンを押すと、パスワードの入力を求められる。
※ BSV など、一部の通貨ではここで警告ダイアログが表示される。
Wallet 作成時に設定したパスワードを入力する。
送金処理が開始される。
この段階では、クライアント側の処理が正常に終わった状態。
この後、ネットワーク上で承認作業が行われ、無事コンフォームが終了すると全ての作業が終了となる。
緑の「レ」が付いたら承認完了。
▲クリックで拡大
送金額や残高が正しいか確認し、間違いがなければこれで終了。
※ 送金手数料が引かれるので、金額は若干減ってしまう。
最後に
もし送金額や残高が大きく異なる場合は、まだコインの移動ができていないアドレスがあるはず。「お釣りアドレス」や「100件以上入金があったアドレス」を中心に、漏れが起きていないか確認してみる。
このページは以上。