LoginSignup
5
2

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-08-02

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 })
}
5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2