Ripple

rippleのシークレットキーとアドレスを新規に作成する

More than 1 year has passed since last update.

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 })
}