2016.05.30:「repairwallet」はQtのコマンドか?最近のMonacoin Core/bitcoin coreでは使えない模様。

暗号通貨のWallet関連のTipsです。
「XXXX Coin Qt」など、古いWalletで有効な手段です。
v0.10系以降のbitcoin core/monacoin core では、repairwallet は使えなくなっているようです。

以下、古い情報です。資料としてお読みください。
※QT系のWalletを利用している通貨の場合は現在も有効です。



スポンサー リンク

Walletの更新失敗や、ブロックチェーンの分岐など、様々な理由により、(本当に時々ですが) Wallet.datが破損してしまい、コインの残高が正常に表示できなくなる事があります。

そんな時は、Walletを最新版に更新して、同期を最初からやり直し、Walletのバックアップを取ってから、デバッグウィンドウで「repairwallet」と入力してみましょう。(詳細な手順はページ後半に記載してあります)

Walletのデバッグコンソール画面
repairwallet
▲クリックで拡大
このコマンドでwallet.dat の修復が行われ、正常に戻る場合があります。
※注: バックアップを取っておかないと、このコマンドで症状が悪化した場合、取り返しが付かなくなります。

この方法は、Wallet.datが破損した場合に有効です。ブロックチェーンの分岐などでwalletの同期が取れなくなっただけの場合は、再同期を行うだけでも正常に戻る場合が多いです。

以下は、上記解決手順を詳細に記したものです。

Walletの同期が取れない、残高がおかしい時に確認すること

  1. 該当コインのフォーラムなどで、ブロックチェーンの分岐が起きていないかを確認する。
  2. Walletの更新がないか確認する。
    (Walletの更新はあるが、自分の利用しているOS用のWalletのビルドがまだ。。。という場合は、しばらく待つか自分でビルドする)
  3. ブロックチェーンエクスプローラーで、自分のコインアドレスの残高が正常である事を確認する。
  4. さらに、ブロックチェーンエクスプローラーと自分のWalletのブロックの進行具合を照らし合わせ、自分が本流のブロックチェーンに乗っている事を確認する。
  5. 自分のwalletが本流に乗っていないと感じた時は、wallet.dat以外のPC内のデータを全て削除して、はじめから同期をやり直す。
    • やり方
      まずWalletを終了させ、
      C:\Users\【ユーザー名】\AppData\Roaming\ 内のコインフォルダーを開く。
      C:\Users\【ユーザー名】\AppData\Roaming\
      ▲クリックで拡大
      wallet.datのバックアップを取り、中身は全て削除します。
      ※注: kumacoinのフォルダを例に解説していますが、kumaが分岐を起こしているという意味ではありません
    • 必要に応じ、*.confファイルを作成します。
      confファイルを作成
      ▲クリックで拡大
      分岐が発生している場合、大抵はそのコインのフォーラムに本流のブロックチェーンのノードがアップされています。*.confファイルにノードを加えます。
      ※注: 上記画像のノードは、Cloakcoinのノードです。
    • Walletを再起動し、同期を再開させます
      (分岐が発生している時は、同期に通常よりかなり長い時間が必要です。)
    • 同期が終了したら、再びwalletを終了させ、バックアップしたWallet.datを元に戻します。
      通常は、ここまでの手順でブロックチェーンは正常に戻り、walletの残高は正常に戻っているはずです。
  6. それでも残高がおかしい場合は、冒頭で紹介したwalletのデバッグウィンドウで「repairwallet」を試みてみましょう。
    • このページの冒頭で紹介した手順です。
      まず始めに、Wallet.datのバックアップを取っておきます
    • 次にデバッグコンソール画面へアクセスします
      デバッグコンソール画面へのアクセス方法
      ▲クリックで拡大
      まずツールバーの「Help」からDebug Windowを開きます。
    • デバッグコンソール画面
      repairwallet
      ▲クリックで拡大
      コンソールタブに切り替え、repairwallet と入力します。
      これでwallet.datの修復が完了します。
      Walletを一度再起動すれば、正常な残高に戻っているはずです。
  7. それでもダメな場合は・・・・?
    私もまだまだ経験不足で、これ以上のトラブルには遭遇した事がありません。とりあえず、wallet.datはこまめにバックアップを取っておきましょう。特にWalletをアップデートする前は、必ずwallet.datをバックアップするようにしておきましょう。

あとがき

私事ですが、6月初旬、私はCloakcoinを掘っていました。
Cloakcoin
▲クリックで拡大
ありがちな話ですが、「POW/POSハイブリッドコイン」で、POS開始のタイミングでWalletの更新が入り、そこでブロックチェーンに分岐が発生しました。
国内の例ではringoのスタートアップで何度かブロックチェーンの分岐が発生していましたので、記憶に新しい方も多いかと思います。

そして今回の私の場合・・・
wallet.datが壊れた?
▲クリックで拡大
ブロックチェーンを最初から同期しなおしても、addnodeを変更しながら何度同期を繰り返しても残高がゼロになってしまいます。
本流に乗っている時も分岐に乗ってしまった時もゼロのままです。

滅多に起きる事ではないのですが、どうやらwallet.datが壊れたらしいです。。。1週間掘ったらすぐに売り払う予定だったので、walletのバックアップは取っていませんでした。。。

途方に暮れながら デバッグウィンドウのhelpを眺めていると、「repairwallet」というコマンドがある事を発見。

repairwallet
▲クリックで拡大
このコマンドを入力し、Walletを再起動してみると。。。

残高復活しました\(^o^)/
残高復活
▲クリックで拡大

んで、この方法が分かってからフォーラムを読み返してみると・・・・
フォーラム内の解決方法
▲クリックで拡大
色んな人が、何度も繰り返し、この方法を紹介しているんですよね(^_^;

自分がトラブルに遭ってる真っ最中は、これに気付けませんでした。
経験も知識もない情報を英語で集める難しさを痛感しました。
あと、短期間のマイニングでもバックアップの必要性を実感しました。。。orz