segregated witness – Appropriate Configuration for Producing Bitcoin SegWit (BIP84) Addresses

0
5


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 handle outputs when producing them with bitcoinjs-lib in comparison with the outcomes from Ian Coleman’s software.

I discovered that the reason being within the community config, I am utilizing the bitcoin community config immediately from bitcoinjs-lib, whereas in that repo there is a customized config.

This is the config I used:

{
  messagePrefix: 'x18Bitcoin Signed Message:n',
  bech32: 'bc',
  bip32: {
    public: 0x0488b21e,
    personal: 0x0488ade4,
  },
  pubKeyHash: 0x00,
  scriptHash: 0x05
  wif: 0x80,
}

And right here’s the config from Ian Coleman’s software:

{
  messagePrefix:"u0018Bitcoin Signed Message:n",
  bech32:"bc",
  bip32:
    { 
      public: 78792518, // 0x4B24746
      personal: 78791436 // 0x4B2430C
    },
  pubKeyHash: 0, // 0x00
  scriptHash: 5, // 0x05
  wif: 128 // 0x80
}

My consequence 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:

  1. Which configuration is right for producing native SegWit (BIP84) addresses?
  2. 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?”

LEAVE A REPLY

Please enter your comment!
Please enter your name here