はじめに
コールドウォレットは普段はネットワークから切り離すことで攻撃者から物理的にアクセスできなくしリスクを出来るだけ下げる事を言う
一般的に秘密鍵だけの存在にしておき、その情報を知るコンピュータはネットワークに接続しないことでセキュリティを担保する
秘密鍵の入ったコンピュータはオペレーションが必要なときにだけネットワークに接続する
rippleの公式ページから作ったアカウントはrippleのホームページを通して作られるためIDとPASSWORDが存在する
そのため二段階認証などが存在しネットワークに繋がった状態に近い
rippleの公式ページを介さないでプログラムから生成する方法がある
REST-APIを経由して作る
REST-APIを経由して作成するには以下のエンドポイントを使う
https://api.ripple.com/v1/wallet/new
このAPIをHTTPS経由で叩くとwallet addressとsecret keyが生成される
HTTPSを利用しているがネットワークを通して生成なので安全度は下がる
ripple-libを使って生成する
ripple-libで生成する場合はネットワークに接続せずにウォレットを作ることができる
var rippleLib = require('ripple-lib');
var wallet = rippleLib.Wallet;
var w = wallet.generate();
console.log(w)
リザルト
{
address: 'r3sBHwjwAb6eFpHbCEbJmhC8scmDeqXZyZ',
secret: 'snovmDoPbb5Y14JVA5wxtBtPgHNaP'
}
※2015/01/07追記
ネットワークに接続してrippledから乱数生成に使うエントロピーを受け取ったほうが良いと公式に書いてありました
https://github.com/ripple/ripple-lib/blob/develop/docs/GUIDES.md#generating-a-new-ripple-wallet
ダウンロード版クライアントで生成する
以下のURLからクライアントをダウンロードする
起動後、新規アカウント作成→空のアカウントから作成を選択する
ダウンロード版クライアントからの生成は内部でripple-libを使用しているのでネットワークへの接続はなく安全である。
※ダウンロード版クライアントの注意点としては執筆時点現在、手数料設定が出来ないのでコールドウォレットからの送金がエラーとなります。直るまで資金が動かせないので気をつけてください。
資金を動かす必要がある場合、rippletrade.comに秘密鍵をインポートしてアカウントを開く必要があります。
※2015/01/13追記
Settings->AdvancedからNetwork SettingsにてFeeの設定ができるようになりました
問題なく資金の移動ができるようになってます
rippletrade.comのホットウォレットをコールドウォレットにする
ログイン後、設定からDelete Ripple Trade accountでアカウントを削除する
その時点でネットワーク上からアクセスできなくなりコールドウォレットとなります。
秘密鍵自体は必ず削除前にメモしておかないと永久にアクセスできなくなります。
一度ネットワークにさらされているので安全度は少し下がります。
コールドウォレット共通点
アドレスは生成時点では計算上生成されただけなので、まだレジャーに登録されていない。
他から有効なアカウントとして認識されるためには準備金として20xrp以上送金し、アクティベートしておく。
アクティベートされれば各種ツールやAPIにてアカウントの存在を確認することができる
このアカウントで送金したりIOUを発行する場合はAPIやripple-lib、またはダウンロード版クライアントを通したアクセスになる
コールドウォレットから送金する
現状、ダウンロード版ウォレットの不具合でコールドウォレットにすると送金する手段がないので緊急の場合は拙作のコマンドツールから送金できます
withdraw.jsにて送金可能
※2015/01/13追記
Settings->AdvancedからNetwork SettingsにてFeeの設定ができるようになりました
問題なく資金の移動ができるようになってます