var Mnemonic = require('bitcore-mnemonic');
var bitcore = require('bitcore-lib');

Создайте новую мнемонику:

var code = new Mnemonic(Mnemonic.Words.ENGLISH);
var mnemonic = code.toString();
var data = codeToDetails(code);

Получите открытый и закрытый ключи:

function codeToDetails(code) {
  var xpriv = code.toHDPrivateKey(bitcore.Networks.livenet);
  var derived = xpriv.derive("m/0'");
  var privateKey = derived.privateKey;
  var pk = new bitcore.PrivateKey(privateKey.toString(), bitcore.Networks.livenet);

  var privateKeyStr = pk.toString();
  var publicKey = new bitcore.PublicKey(pk);
  var publicKeyStr = publicKey.toString();
  var address = new bitcore.Address(publicKey, bitcore.Networks.testnet);
  return {
    privateKeyStr: privateKeyStr,
    publicKeyStr: publicKeyStr
  };
  }

Оплатить Пользователю

Теперь вы хотите заплатить пользователю. Для этого вы хотите создать необработанную транзакцию на своем сервере, подписать ее и транслировать. Итак, вам нужен закрытый ключ пользователя.

Мы используем ту же функцию codeToDetails, что и выше, учитывая исходную фразу, предоставленную пользователем.

Во-первых, мы проверяем, является ли это допустимой мнемоникой,

var valid = Mnemonic.isValid(seed);

И если оно действительно,

var code = new Mnemonic(seed);
var data = codeToDetails(code);
  var pk = new bitcore.PrivateKey(data.privateKeyStr, bitcore.Networks.livenet);
  var wif =  pk.toWIF();

Нам нужен формат WIF для создания необработанной транзакции.