Generate a random address

Paper wallet

To generate a new random address you can use Obyte paper wallet offline here: https://bonustrack.github.io/obyte-paperwallet/

Node.js

Open your terminal and run:

npm i byteball bitcore-mnemonic --save

Then run this script to generate a new wallet:

const { toWif, getChash160 } = require('byteball/lib/utils');
const Mnemonic = require('bitcore-mnemonic');

const testnet = false; // Change to "true" to generate testnet wallet
const passphrase = ''; // Add a passphrase for encryption

const path = "m/44'/0'/0'/0/0";
let mnemonic = new Mnemonic();
while (!Mnemonic.isValid(mnemonic.toString())) {
  mnemonic = new Mnemonic();
}
const xPrivKey = mnemonic.toHDPrivateKey(passphrase);
const { privateKey } = xPrivKey.derive(path);
const privKeyBuf = privateKey.bn.toBuffer({ size: 32 });
const wif = toWif(privKeyBuf, testnet);
const pubkey = privateKey.publicKey.toBuffer().toString('base64');
const definition = ['sig', { pubkey }];

const { privateKey: devicePrivateKey } = xPrivKey.derive('m/1');
const devicePubKey = devicePrivateKey.publicKey.toBuffer().toString('base64');

console.log(
  'Root private key:', xPrivKey.toString(),
  '\nSeed words:', mnemonic.phrase,
  '\nPath:', path,
  '\nWIF:', wif,
  '\nWallet public key:', pubkey,
  '\nWallet address:', getChash160(definition),
  '\nDevice address:', `0${getChash160(devicePubKey)}`
);

Last updated