I am producing SegWit keys and addresses utilizing bitcoinjs-lib. I am new to Blockchain so I am utilizing Ian Coleman’s bip39 repo for steerage. Nonetheless, I encountered completely different key and deal with outputs when producing them with bitcoinjs-lib
in comparison with the outcomes from Ian Colemanâs device.
I came upon that the reason being within the community config, I am utilizing the bitcoin
community config instantly from bitcoinjs-lib
, whereas in that repo there is a customized config.
Here is the config I used:
{
messagePrefix: 'x18Bitcoin Signed Message:n',
bech32: 'bc',
bip32: {
public: 0x0488b21e,
non-public: 0x0488ade4,
},
pubKeyHash: 0x00,
scriptHash: 0x05
wif: 0x80,
}
And hereâs the config from Ian Coleman’s device:
{
messagePrefix:"u0018Bitcoin Signed Message:n",
bech32:"bc",
bip32:
{
public: 78792518, // 0x4B24746
non-public: 78791436 // 0x4B2430C
},
pubKeyHash: 0, // 0x00
scriptHash: 5, // 0x05
wif: 128 // 0x80
}
My outcome outputs keys that begin from xprv
and xpub
whereas Ian Coleman’s resulted in zprv
and zpub
.
On condition that BIP84 mandates zprv
and zpub
prefixes for native SegWit keys, Ian Colemanâs config appears extra applicable. Nonetheless, each configurations generate seemingly right addresses.
So, my questions are:
- Which configuration is right for producing native SegWit (BIP84) addresses?
- Are there any dangers or drawbacks in utilizing the xpub/xprv prefixes for SegWit addresses, or will it simply have an effect on compatibility with sure wallets?”