rippleのシークレットキーの作成
キーを扱うためのripple-keypairsという公式のライブラリが提供されている
ネットワークに接続しない環境(コールドウォレット)で作成可能
install
npm i ripple-keypairs
javascript
var keypairs = require('ripple-keypairs');
var secret = keypairs.generateSeed();
var keypair = keypairs.deriveKeypair(secret);
var address = keypairs.deriveAddress(keypair.publicKey);
console.log({secret:secret, address:address, keypair:keypair})
console
{ secret: 'shzy4ckH1E77MCZNqw6aPLnNmkoEf',
address: 'rfAZN4TBETTtYwPbu7Uz2BYMuQRJpvdSb',
keypair:
{ privateKey: '00BBF6A27C1FB16DEB27CAA6E4BD79F1CB49A7640288E6E33F4A139C71B37A5BC6',
publicKey: '03C37EDCB29E8793208C30C6DD8E346EC282712C34C749C71C73A38955C8FAC920' } }
PS
keypairs.generateSeed()の引数に16byteのエントロピーを指定可能なので信頼できるエントロピーソースが別にあるのであればそれを指定できる
エントロピー指定可能なので遊びでつくったものとして以下の様なものがある
var bip39 = require("bip39");
var keypairs = require('ripple-keypairs');
var generateAddress = function(options) {
var secret = keypairs.generateSeed(options);
var keypair = keypairs.deriveKeypair(secret);
var address = keypairs.deriveAddress(keypair.publicKey);
return { secret: secret, address: address };
}
var mnemonicToRippleAddress = module.exports = function(mnemonic, password){
var masterseed = bip39.mnemonicToSeed(mnemonic, password);
return rippleAddress = generateAddress({ entropy: masterseed })
}