Apr26th

バックアップ-Ubuntu

Top / バックアップ-Ubuntu

はじめに

kotod が動いているターミナルをxで消したり、kotod を kill コマンドで終了したりすると wallet.dat が壊れる可能性があります。
必ず Ctrl + C または下のコマンドで終了してください。

koto-cli stop

正常に終了するように心がけていても、停電やパソコンの故障などでウォレットが壊れる可能性があります。
バックアップを取っていなければ復旧は難しいと思います。(kotod -salvagewallet でダメなら諦めるしかない)
なので、バックアップはこまめに取るようにしましょう

バックアップの方法

準備

koto-cli のコマンドでバックアップを行う場合は、-exportdir オプションをつけて kotod を起動していなければなりません。

kotod -exportdir=./KotoBackup で起動、または koto.conf に exportdir=./KotoBackup と記述してから起動すると
kotod を起動したディレクトリ内に KotoBackupディレクトリ が作成され、その中にバックアップファイルが保存されます。

なお、コマンドでバックアップを行うときに指定するファイル名には英数字のみ使用できます。ピリオド(.)やアンダーバー(_)などは使えないので注意しましょう。

wallet.dat をコピー

~/.koto ディレクトリ内の wallet.dat をコピーするだけです。最も簡単なバックアップの方法です。ファイルの内容を読むことはできません。

例)

cp ~/.koto/wallet.dat ~/KotoBackup/wallet.dat

backupwallet コマンド

このコマンドは、wallet.dat のコピーと同じことをしています。作成されるバックアップファイルの内容は wallet.dat と全く同じです。
wallet.dat のコピーと同じく、ファイルの内容を読むことはできません。

例)

koto-cli backupwallet "filename"

dumpwallet コマンド

このコマンドは、人が読める形式で kアドレス のバックアップを行います。
このコマンドで作成したバックアップファイルには zアドレス は含まれていないので注意してください。
バックアップをこのコマンドだけで行うのはオススメできません。

例)

koto-cli dumpwallet "filename"

z_exportwallet コマンド

このコマンドは、人が読める形式で zアドレス と kアドレス 両方のバックアップを行います。

例)

koto-cli z_exportwallet "filename"

バックアップからの復旧方法

前提

以下のコマンドでバックアップを行なったとします。

cp ~/.koto/wallet.dat ~/KotoBackup/wallet.dat
koto-cli backupwallet "backupwalletfile"
koto-cli dumpwallet "dumpwalletfile"
koto-cli z_exportwallet "zexportwalletfile"

バックアップファイルは全て ~/KotoBackup ディレクトリ内にあるとします。

wallet.dat をコピーして作成したバックアップファイル

バックアップファイルを ~/.koto ディレクトリ内に置きます。

例)

cp ~/KotoBackup/wallet.dat ~/.koto/wallet.dat

backupwallet コマンドで作成したバックアップファイル

バックアップファイルのファイル名を wallet.dat にリネームして、~/.koto ディレクトリ内に置きます。

例)

cp ~/KotoBackup/backupwalletfile ~/.koto/wallet.dat

dumpwallet コマンドで作成したバックアップファイル

importwallet コマンドでバックアップファイルを指定します。
復旧に時間がかかります。終わるまで待ちましょう。

例)

koto-cli importwallet ~/KotoBackup/dumpwalletfile

z_exportwallet コマンドで作成したバックアップファイル

z_importwallet コマンドでバックアップファイルを指定します。
復旧に時間がかかります。終わるまで待ちましょう。

例)

koto-cli z_importwallet ~/KotoBackup/zexportwalletfile

その他

プライベートキー(秘密鍵)の取り出し

kアドレスの場合は

koto-cli dumpprivkey "kアドレス"

zアドレスの場合は

koto-cli z_exportkey "zアドレス"

プライベートキー(秘密鍵)の取り込み

kアドレスの場合

koto-cli importprivkey "kアドレスの秘密鍵"

zアドレスの場合

koto-cli z_importkey "zアドレスの秘密鍵"

ペーパーウォレットの作成方法

z_exportwallet コマンドで作成したバックアップファイルは、以下のような内容になっています。

プライベートキー(秘密鍵)  日付  reserve=1  #  addr=kアドレス
・
・
・
プライベートキー(秘密鍵)  日付  label=  #  addr=kアドレス
・
・
・
プライベートキー(秘密鍵)  日付  #  zaddr=zアドレス

これを印刷すればペーパーウォレットの完成です。

kアドレスの label= となっている行が getnewaddress コマンドで取得したアドレスの情報です。
zアドレスは全て z_getnewaddress コマンドで取得したアドレスの情報です。

プライベートキー(秘密鍵)の取り込み の方法で復旧できます。

復旧後のリスキャン

バックアップからの復旧後に送金しようとすると「Witness for note commitment is null」というエラーが出て送金できないことがあります。
一度 -rescan オプションをつけて kotodを起動しましょう。

kotod -rescan

シェルスクリプト

説明や使い方などが以下のページに記されています。
https://github.com/akarinS/shellscript-kotobackup