Post
Topic
Board Bahasa Indonesia (Indonesian)
Merits 3 from 2 users
Re: BITCOIN CORE
by
abhiseshakana
on 30/05/2024, 01:23:13 UTC
⭐ Merited by Husna QA (2) ,ABCbits (1)
-snip-
Fungsinya sih mirip-mirip dengan argument listdescriptors yang jika ditambahkan dengan boolean argument private=true, maka akan memberikan informasi BIP32 Root Key. Hanya saja pada fungsi gethdkeys informasinya lebih spesifik, dimana juga dicantumkan extended public key dari BIP32 Root Key tersebut. Namun untuk masing-masing "purpose path level" (contoh BIP44 path) hanya ditampilkan informasi dari "Account Extended Public Key", dan tidak ada informasi untuk masing-masing Account XPRV.

Dengan kata lain, kalau mau menampilkan informasi yang lebih banyak semisal untuk menampilkan informasi setiap account XPRV, argument-nya tetap menggunakan listdescriptors. Jadi tinggal disesuaikan dengan kebutuhan.

Meskipun informasi dari fungsi listdescriptors true sekilas seperti menampilkan banyak XPRV, namun itu sebenarnya bukanlah "Account XPRV" dari "purpose" path, karena jika diperhatikan dari masing-masing Descriptor memiliki XPRV yang sama, yang dibedakan hanyalah Derivation Path dan checksum-nya saja.

Contoh : saya membuat sebuah descriptor wallet dengan label "test-desc-wallet, dan dibawah ini adalah informasi yang didapat dari fungsi listdescriptors dan listdescriptors true

Code: (listdescriptors)
{
  "wallet_name": "test-desc-wallet",
  "descriptors": [
    {
      "desc": "pkh([1515f2b6/44h/1h/0h]tpubDDr9JiJs7GsZhhDpB4hDHV8Z5E6R4pW2a5DGmzSoUFetMcEgQxc8v2tLBT5uVtYaAgm1vddewXxRHnBz9GSRvStkaY2mkbwDXoipSHN7WGW/0/*)#35yaqm3h",
    },
    {
      "desc": "pkh([1515f2b6/44h/1h/0h]tpubDDr9JiJs7GsZhhDpB4hDHV8Z5E6R4pW2a5DGmzSoUFetMcEgQxc8v2tLBT5uVtYaAgm1vddewXxRHnBz9GSRvStkaY2mkbwDXoipSHN7WGW/1/*)#qqpuawp0",
    },
    {
      "desc": "sh(wpkh([1515f2b6/49h/1h/0h]tpubDCFGurQNg79RaaHS6ffwcujZBHoqwE6XzhW7dC6NGuiLTiRZngQziVjTrFornJDGc87sVMN6NWqXtKNZyk7JLZ5cDMom9aybQAdADJzpeFV/0/*))#qr3kw65h",
    },
    {
      "desc": "sh(wpkh([1515f2b6/49h/1h/0h]tpubDCFGurQNg79RaaHS6ffwcujZBHoqwE6XzhW7dC6NGuiLTiRZngQziVjTrFornJDGc87sVMN6NWqXtKNZyk7JLZ5cDMom9aybQAdADJzpeFV/1/*))#4zlqk9pg",
    },
    {
      "desc": "wpkh([1515f2b6/84h/1h/0h]tpubDCuxh2HzTrmpVv3JrAfkDEMgM7cVEVTZaJKm33KTdKgw4BtvAHCyqKDDyzihEYLDoEW9t27okbWi6jnUwdXVtUtMJz1YTdVbzcZWuRqpvvb/0/*)#a8777ngc",
    },
    {
      "desc": "wpkh([1515f2b6/84h/1h/0h]tpubDCuxh2HzTrmpVv3JrAfkDEMgM7cVEVTZaJKm33KTdKgw4BtvAHCyqKDDyzihEYLDoEW9t27okbWi6jnUwdXVtUtMJz1YTdVbzcZWuRqpvvb/1/*)#vnmlrxcq",
    }
  ]
}

Code: (listdescriptors true)
{
  "wallet_name": "test-desc-wallet",
  "descriptors": [
    {
      "desc": "pkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/44h/1h/0h/0/*)#ajdlht2z",
    },
    {
      "desc": "pkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/44h/1h/0h/1/*)#vxg72766",
    },
    {
      "desc": "sh(wpkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/49h/1h/0h/0/*))#n0rpx3z9",
    },
    {
      "desc": "sh(wpkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/49h/1h/0h/1/*))#4vtyauf3",
    },
    {
      "desc": "wpkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/84h/1h/0h/0/*)#0j46t6hm",
    },
    {
      "desc": "wpkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/84h/1h/0h/1/*)#7xsmk08r",
    }
  ]
}

* Untuk informasi : timestamp, active, internal, range sengaja saya hilangkan biar lebih mudah membandingkannya


Dari informasi pada listdescriptors true, XPRV yang tertampilkan sebenarnya adalah BIP32 Root Key, sehingga jika ingin mengetahui Account XPRV dari masing-masing "purpose" path (jenis descriptor) itu bisa didapatkan dengan menggunakan bantuan node.js atau melalui situs https://iancoleman.io/bip39/

Misal >>> Output descriptor PKH ("purpose" path BIP44) dari informasi diatas diketahui memiliki :
Account Extended Public Key : tpubDDr9JiJs7GsZhhDpB4hDHV8Z5E6R4pW2a5DGmzSoUFetMcEgQxc8v2tLBT5uVtYaAgm1vddewXx RHnBz9GSRvStkaY2mkbwDXoipSHN7WGW
BIP32 Root Key : tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzf PXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W

Jika BIP32 Root Key tersebut diinputkan ke situs https://iancoleman.io/bip39/ pada Derivation Path BIP44, maka akan diketahui :
Account Extended Private Key : tprv8hA7AJGcxuBtpEC2HR2ct5USWCaUuVK7zmcVVUQW3yrVX7yunZnYjYGU1JScwiArwj5d2qPH34z XhpdP1568BkaVa6bwKCgADFPPTrqdsSz
Account Extended Public Key : tpubDDr9JiJs7GsZhhDpB4hDHV8Z5E6R4pW2a5DGmzSoUFetMcEgQxc8v2tLBT5uVtYaAgm1vddewXx RHnBz9GSRvStkaY2mkbwDXoipSHN7WGW