PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo-express/node_modules/prova-lib/test
Просмотр файла: ecPair.js
const assert = require('assert');
const bitcoin = require('bitcoinjs-lib');
const prova = require('../index');
const should = require('should');
describe('ECPair', function() {
it('from private key hex', function() {
const ecPair = prova.ECPair.fromPrivateKeyBuffer(new Buffer('cda581325f479030593b10dedd9c9337b508ebb302b6a8693f5d5fe05d42a08b', 'hex'));
const pubHex = ecPair.getPublicKeyBuffer().toString('hex');
const prvHex = ecPair.getPrivateKeyBuffer().toString('hex');
pubHex.should.eql('03e074dfee36563d83eaf4c4cf54f31daf92f976a45fa0258778828d7ee36ef7ce');
prvHex.should.eql('cda581325f479030593b10dedd9c9337b508ebb302b6a8693f5d5fe05d42a08b');
});
it('should be able to generate both xpub and xprv', function() {
const ecPair = prova.ECPair.makeRandom();
ecPair.getPrivateKeyBuffer().length.should.eql(32);
ecPair.getPublicKeyBuffer().length.should.eql(33);
const prvHex = ecPair.getPrivateKeyBuffer().toString('hex');
const pubHex = ecPair.getPublicKeyBuffer().toString('hex');
prvHex.length.should.be.greaterThan(60);
pubHex.length.should.be.greaterThan(60);
});
it('lengths should be zero padded', function() {
const xprv = 'xprv9s21ZrQH143K2wzTkqpwwJguJVpxDqq78RCRmq8aVtmPVLd1BZTx2jqEDdu5Xnd9532qefTXYeZFoJN3zBDn7ipkHtL9accNqQP1Nrwgndn';
const hdNode = prova.HDNode.fromBase58(xprv);
const ecKey = hdNode.getKey();
ecKey.getPrivateKeyBuffer().length.should.eql(32);
ecKey.getPublicKeyBuffer().length.should.eql(33);
const prvHex = ecKey.getPrivateKeyBuffer().toString('hex');
const pubHex = ecKey.getPublicKeyBuffer().toString('hex');
});
it('test public key length', function() {
for (let i = 0; i < 50; i++) {
const ecPair = prova.ECPair.makeRandom();
const publicKey = ecPair.getPublicKeyBuffer();
if (publicKey.length !== 33) {
throw new Error('invalid public key buffer length');
}
}
});
});
Выполнить команду
Для локальной разработки. Не используйте в интернете!