Generate a random address

Paper wallet

To generate a new random address you can use Byteball paper wallet offline here: https://bonuschain.github.io/byteball-paperwallet/

Node.js

Open your terminal and run:

npm i bitcore-mnemonic byteballcore wif

Then run this script to generate a new wallet:

const Mnemonic = require('bitcore-mnemonic');
const objectHash = require('byteballcore/object_hash');
const wifLib = require('wif');

const testnet = false; // Change to "true" to generate testnet wallet

const path = testnet ? "m/44'/1'/0'/0/0" : "m/44'/0'/0'/0/0";
const version = testnet ? 239 : 128;
let mnemonic = new Mnemonic();
while (!Mnemonic.isValid(mnemonic.toString())) {
  mnemonic = new Mnemonic();
}
const xPrivKey = mnemonic.toHDPrivateKey();
const { privateKey } = xPrivKey.derive(path);
const privKeyBuf = privateKey.bn.toBuffer({ size: 32 });
const wif = wifLib.encode(version, privKeyBuf, false);
const pubkey = privateKey.publicKey.toBuffer().toString('base64');
const definition = ['sig', { pubkey }];
const address = objectHash.getChash160(definition);

console.log(
  'Seed:', mnemonic.phrase,
  '\nPath:', path,
  '\nWIF:', wif,
  '\nPublic key:', pubkey,
  '\nAddress:', address
);

Last updated