bitpay / bitcore

A full stack for bitcoin and blockchain-based applications
https://bitcore.io/
MIT License
4.8k stars 2.07k forks source link

why the p2sh address different from bitcored #2673

Open vfight opened 4 years ago

vfight commented 4 years ago

var addr = '3Pq132Z4THM8RUmefaqWCsovMg7yyeHxnQ'; //addr create by bitcoind var priv = 'L1juonn7yHeVUjXx92mnKs4mdWfUmRk4D4EtnecC3QK6FGjdMqJi' // dumpprivkey addr

function test1() { const bitcoinjs = require('bitcoinjs-lib'); var ecpair = bitcoinjs.ECPair.fromWIF(priv); var addr1 = bitcoinjs.payments.p2sh({ redeem: bitcoinjs.payments.p2wpkh({ pubkey: ecpair.publicKey }), }) console.log('BitcoinJs: ' + addr1.address) // 3Pq132Z4THM8RUmefaqWCsovMg7yyeHxnQ }

function test2() { const bitcore = require('bitcore-lib'); var privateKey = new bitcore.PrivateKey.fromWIF(priv); var publicKey = privateKey.toPublicKey(); var addr2 = bitcore.Address.createMultisig([ publicKey ], 1, 'mainnet', true);

console.log('bitcore: ' + addr2.toString()) // 3HSh6cwhmekUBBUNnjMGjRZLAyyheEY287

}

test1(); test2();

maektwain commented 4 years ago

You need to understand few things.

  1. This is a Legacy format provided by Bitpay.