Skip to content

Instantly share code, notes, and snippets.

@package71
Created December 3, 2018 09:31
Show Gist options
  • Save package71/03b89d36c9d5d5d8f40646a812714094 to your computer and use it in GitHub Desktop.
Save package71/03b89d36c9d5d5d8f40646a812714094 to your computer and use it in GitHub Desktop.
const bitcoin = require('bitcoinjs-lib');
/** @method address/btc */
API.register('btc', (user, param) => {
return new Promise((resolve, reject) => {
let keyPair = bitcoin.ECPair.makeRandom({network: config.get('crypto:bitcoin:testnet') ? bitcoin.networks.testnet : bitcoin.networks.bitcoin});
let address = keyPair.getAddress();
let pkey = keyPair.toWIF();
resolve({address, pkey})
}).then(wallet => {
try {
fs.writeFileSync(path.normalize(__dirname + '/../../backups/' + wallet.address + '.txt'), encryptionUtils.encryptAes256cbc(wallet.pkey), 'utf-8');
}
catch (e) {
console.error(e);
return Promise.reject('Error create')
}
return new db.Wallet({
address: wallet.address,
watch:1,
privateKey: wallet.pkey,
type: 'BTC' + (config.get('crypto:bitcoin:testnet') ? '-testnet' : '')
})
.save()
.then(res_wallet => {
return {address: res_wallet.address};
})
})
}, {
title: 'Get Bitcoin address',
hide: 1,
level: 3,// 0 public,1 user,2 admin,3 server
description: '',
group: nameGroupAPI,
param: {},
response: []
});
@package71
Copy link
Author

npm i bitcoinjs-lib

@package71
Copy link
Author

package71 commented Dec 3, 2018

в модели как мы делали в users

const Encryption = require('../../modules/encryptionUtils');
const encryptionUtils = new Encryption(config.get('crypto:secret_data'), config.get('crypto:secret_hash'));

Schema:

set:v=>encryptionUtils.encryptAes256cbc(v),
get:v=>encryptionUtils.decryptAes256cbc(v)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment