Bitcoin Forum
June 21, 2024, 06:24:22 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 »  All
  Print  
Author Topic: BITCOIN CORE  (Read 8126 times)
punk.zink
Sr. Member
****
Offline Offline

Activity: 406
Merit: 434


Rollbit.com - Crypto Futures


View Profile
May 28, 2024, 04:35:07 PM
 #461

Btw, ada tulisan yang cukup menarik perhatian saya ketika tadi baca di GitHub-nya Bitcoin Core yang di publish oleh sipa (a.k.a Pieter Wuille) beberapa hari lalu mengenai: "Enable importprivkey, addmultisigaddress in descriptor wallets";



Menarik jika ini diterapkan, jadi ada cara baru dalam penggunaan command untuk mengakomodasi importprivkey, dll. sebagaimana tertera di screenshot yang sebelumnya masih di-support legacy wallet.

Untuk usulan importprivkey hampir mirip dengan Pull Request #29136, cuman yang berbeda usulannya Pieter Wuille lebih spesifik buat support fungsi yang ada di legacy wallet yang dalam waktu ke depan bakal dihilangkan dari Bitcoin Core. Sementara salah satu commit dari PR #29136 yang ingin di merge ke master branch dari repository Bitcoin adalah RPC Command addhdkey yang bisa digunakan untuk meng-import BIP32 HD Key (kemungkinan dalam bentuk extended Private Key). Sehingga model single Private Key seperti yang ada di Legacy wallet kemungkinan tidak akan bisa menggunakan argumen addhdkey.

R


▀▀▀▀▀▀▀██████▄▄
████████████████
▀▀▀▀█████▀▀▀█████
████████▌███▐████
▄▄▄▄█████▄▄▄█████
████████████████
▄▄▄▄▄▄▄██████▀▀
LLBITCRYPTO
FUTURES
[
1,000x
LEVERAGE
][
.
COMPETITIVE
FEES
][
INSTANT
EXECUTION
]██████
██
██
██
██
██
██
██
██
██
██
██
██████
████████████████████████████████████████████████████████
.
TRADE NOW
.
████████████████████████████████████████████████████████
██████
██
██
██
██
██
██
██
██
██
██
██
██████
Husna QA (OP)
Legendary
*
Offline Offline

Activity: 2310
Merit: 2902


#SWGT CERTIK Audited


View Profile WWW
May 28, 2024, 11:35:41 PM
 #462

Btw, ada tulisan yang cukup menarik perhatian saya ketika tadi baca di GitHub-nya Bitcoin Core yang di publish oleh sipa (a.k.a Pieter Wuille) beberapa hari lalu mengenai: "Enable importprivkey, addmultisigaddress in descriptor wallets";
-snip-

Untuk usulan importprivkey hampir mirip dengan Pull Request #29136, cuman yang berbeda usulannya Pieter Wuille lebih spesifik buat support fungsi yang ada di legacy wallet yang dalam waktu ke depan bakal dihilangkan dari Bitcoin Core. Sementara salah satu commit dari PR #29136 yang ingin di merge ke master branch dari repository Bitcoin adalah RPC Command addhdkey yang bisa digunakan untuk meng-import BIP32 HD Key (kemungkinan dalam bentuk extended Private Key). Sehingga model single Private Key seperti yang ada di Legacy wallet kemungkinan tidak akan bisa menggunakan argumen addhdkey.

Ini yang paham bahasa pemrograman C++ mungkin bisa ikut berkontribusi atau mencoba test beberapa Covered new code yang terdapat di sini:
https://corecheck.dev/bitcoin/bitcoin/pulls/29130, contoh wallet.cpp

Code:
    };

}

RPCHelpMan gethdkeys()

{

    return RPCHelpMan{

        "gethdkeys",

        "\nList all BIP 32 HD keys in the wallet and which descriptors use them.\n",

        {

            {"options", RPCArg::Type::OBJ_NAMED_PARAMS, RPCArg::Optional::OMITTED, "", {

                {"active_only", RPCArg::Type::BOOL, RPCArg::Default{false}, "Show the keys for only active descriptors"},

                {"private", RPCArg::Type::BOOL, RPCArg::Default{false}, "Show private keys"}

            }},

        },

        RPCResult{RPCResult::Type::ARR, "", "", {

            {

                {RPCResult::Type::OBJ, "", "", {

                    {RPCResult::Type::STR, "xpub", "The extended public key"},

Nampak pada code di atas, dibawah "gethdkeys" tercantum "\nList all BIP 32 HD keys in the wallet and which descriptors use them.\n"

Currently, specified HD keys must already exist in the wallet. To make it easier for the user to know, gethdkeys is also added to list out the HD keys in use by all of the descriptors in the wallet. This will include all HD keys, whether we have the private key, for it, which descriptors use it and their activeness, and optionally the extended private key. In this way, users with more complex wallets will be still be able to get HD keys from their wallet for use in other scenarios, and if they want to use createwalletdescriptor, they can easily get the keys that they can specify to it.

punk.zink
Sr. Member
****
Offline Offline

Activity: 406
Merit: 434


Rollbit.com - Crypto Futures


View Profile
May 29, 2024, 07:20:39 AM
Merited by ABCbits (1), Husna QA (1)
 #463

Ini yang paham bahasa pemrograman C++ mungkin bisa ikut berkontribusi atau mencoba test beberapa Covered new code yang terdapat di sini:
https://corecheck.dev/bitcoin/bitcoin/pulls/29130, contoh wallet.cpp

Nampak pada code di atas, dibawah "gethdkeys" tercantum "\nList all BIP 32 HD keys in the wallet and which descriptors use them.\n"

Currently, specified HD keys must already exist in the wallet. To make it easier for the user to know, gethdkeys is also added to list out the HD keys in use by all of the descriptors in the wallet. This will include all HD keys, whether we have the private key, for it, which descriptors use it and their activeness, and optionally the extended private key. In this way, users with more complex wallets will be still be able to get HD keys from their wallet for use in other scenarios, and if they want to use createwalletdescriptor, they can easily get the keys that they can specify to it.

PR #29130 sudah di merge ke repository master:bitcoin, dan untuk fungsi gethdkeys baru akan bisa dirasakan pada saat muncul update lagi dari client Bitcoin Core karena untuk saat ini pada Client 0.27 kalo dicoba untuk menggunakan parameter tersebut, hasilnya adalah "Method not found (code -32601)"





Sementara kalo saya coba menggunakan Node Testnet4 yang memang saya build menggunakan code Bitcoin terbaru, fungsi dari gethdkeys sudah bisa digunakan sebagaimana mestinya
Code:
./bitcoin-cli -testnet4 -rpcuser=punk -rpcpassword=punk help gethdkeys


gethdkeys ( {"active_only":bool,"private":bool,...} )

List all BIP 32 HD keys in the wallet and which descriptors use them.

Arguments:
1. options    (json object, optional) Options object that can be used to pass named arguments, listed below.

Named Arguments:
active_only    (boolean, optional, default=false) Show the keys for only active descriptors
private        (boolean, optional, default=false) Show private keys

Code:
./bitcoin-cli -testnet4 -rpcuser=punk -rpcpassword=punk -rpcwallet="punk-wallet" gethdkeys

Result:
[
  {
    "xpub": "tpubD6NzVbkrYhZ4YY1DFwU7yTeiu4nFMUz3sy1T4ccapZFt6Aiwn4PQBSBLoesq1pZRqP6DJJPkcEzcpmm7ZQULvDHpnFFi6KZqtsC3Yqjqnhh",
    "has_private": true,
    "descriptors": [
      {
        "desc": "pkh([75756328/44h/1h/0h]tpubDCbHnuM8SU5FyRwKJe42B9R7vC47fk2pstB2DYkwe3SAfdvGAkKwKFixjdGsbmP9DJkWska8LdzM13nhC4ZnBLzmgzqqBhHhvdvjNsGf1gb/0/*)#t3t3k0ad",
        "active": true
      },
...
]

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.

R


▀▀▀▀▀▀▀██████▄▄
████████████████
▀▀▀▀█████▀▀▀█████
████████▌███▐████
▄▄▄▄█████▄▄▄█████
████████████████
▄▄▄▄▄▄▄██████▀▀
LLBITCRYPTO
FUTURES
[
1,000x
LEVERAGE
][
.
COMPETITIVE
FEES
][
INSTANT
EXECUTION
]██████
██
██
██
██
██
██
██
██
██
██
██
██████
████████████████████████████████████████████████████████
.
TRADE NOW
.
████████████████████████████████████████████████████████
██████
██
██
██
██
██
██
██
██
██
██
██
██████
Husna QA (OP)
Legendary
*
Offline Offline

Activity: 2310
Merit: 2902


#SWGT CERTIK Audited


View Profile WWW
May 29, 2024, 11:51:56 PM
 #464

-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.


Beberapa waktu yang lalu @Chikito menyinggung perihal pair tBTC dengan fiat yang disediakan exchange
https://bitcointalk.org/index.php?topic=5196950.msg64104337#msg64104337

Saya lihat ada salah satu contoh marketnya di exchange namun tBTC-nya pair dengan BTC:
https://altquick.com/exchange/market/BitcoinTestnet

Namun jelas disana tercantum warning:

Quote
Bitcoin Testnet v3.0 can be reset and attacked, among other undesirable things, TBTC is an excellent choice for developing, testing, and learning. -snip-

abhiseshakana
Legendary
*
Offline Offline

Activity: 2268
Merit: 2256


From Zero to 2 times Self-Made Legendary


View Profile WWW
May 30, 2024, 01:23:13 AM
Merited by ABCbits (1), Husna QA (1)
 #465

-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

.
.Duelbits.
█▀▀▀▀▀











█▄▄▄▄▄
TRY OUR
  NEW  UNIQUE
GAMES!
.
..DICE...
███████████████████████████████
███▀▀                     ▀▀███
███    ▄▄▄▄         ▄▄▄▄    ███
███   ██████       ██████   ███
███   ▀████▀       ▀████▀   ███
███                         ███
███                         ███
███                         ███
███   ▄████▄       ▄████▄   ███
███   ██████       ██████   ███
███    ▀▀▀▀         ▀▀▀▀    ███
███▄▄                     ▄▄███
███████████████████████████████
.
.MINES.
███████████████████████████████
████████████████████████▄▀▄████
██████████████▀▄▄▄▀█████▄▀▄████
████████████▀ █████▄▀████ █████
██████████      █████▄▀▀▄██████
███████▀          ▀████████████
█████▀              ▀██████████
█████                ██████████
████▌                ▐█████████
█████                ██████████
██████▄            ▄███████████
████████▄▄      ▄▄█████████████
███████████████████████████████
.
.PLINKO.
███████████████████████████████
█████████▀▀▀       ▀▀▀█████████
██████▀  ▄▄███ ███      ▀██████
█████  ▄▀▀                █████
████  ▀                    ████
███                         ███
███                         ███
███                         ███
████                       ████
█████                     █████
██████▄                 ▄██████
█████████▄▄▄       ▄▄▄█████████
███████████████████████████████
10,000x
MULTIPLIER
NEARLY UP TO
.50%. REWARDS
▀▀▀▀▀█











▄▄▄▄▄█
punk.zink
Sr. Member
****
Offline Offline

Activity: 406
Merit: 434


Rollbit.com - Crypto Futures


View Profile
May 30, 2024, 06:10:52 AM
 #466

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.
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 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",
    }
  ]
}

Dari data diatas, ane coba meng-import keseluruhan descriptor ke Node testnet4 untuk membandingkan jika dicall menggunakan gethdkeys private=true, hasilnya akan menunjukan data seperti apa. Untuk itu sengaja ane membuat sebuah wallet baru dengan opsi "blank=true", dengan tujuan biar tidak ada descriptor aktif selain descriptors yang ane coba import tersebut.

Code:
./bitcoin-cli -testnet4 -rpcuser=punk -rpcpassword=punk -rpcwallet="Tester" importdescriptors '[{ "desc": "pkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/44h/1h/0h/0/*)#ajdlht2z", "active": true, "timestamp": "now", "internal": false },{ "desc": "pkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/44h/1h/0h/1/*)#vxg72766", "active": true, "timestamp": "now", "internal": true },{ "desc": "sh(wpkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/49h/1h/0h/0/*))#n0rpx3z9", "active": true, "timestamp": "now", "internal": false },{ "desc": "sh(wpkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/49h/1h/0h/1/*))#4vtyauf3", "active": true, "timestamp": "now", "internal": true },{ "desc": "wpkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/84h/1h/0h/0/*)#0j46t6hm", "active": true, "timestamp": "now", "internal": false },{ "desc": "wpkh(tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W/84h/1h/0h/1/*)#7xsmk08r", "active": true, "timestamp": "now", "internal": true }]'


Pada saat ane call menggunakan perintah gethdkeys '{"active_only":true,"private":true}', hasilnya adalah sebagai berikut

Code:
./bitcoin-cli -testnet4 -rpcuser=punk -rpcpassword=punk -rpcwallet="Tester" gethdkeys '{"active_only":true,"private":true}'
[
  {
    "xpub": "tpubD6NzVbkrYhZ4XuG3u4yC35PBv4TLv129wiqiB31Kkh2fUTAdZ5VzBz8LAoSBwUhwJm9hJ1iWAd9k1MgomzGJuB5Q1RJ8LysotnDhGwGoCKx",
    "has_private": true,
    "xprv": "tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzfPXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W",
    "descriptors": [
      {
        "desc": "pkh([1515f2b6/44h/1h/0h]tpubDDr9JiJs7GsZhhDpB4hDHV8Z5E6R4pW2a5DGmzSoUFetMcEgQxc8v2tLBT5uVtYaAgm1vddewXxRHnBz9GSRvStkaY2mkbwDXoipSHN7WGW/0/*)#35yaqm3h",
        "active": true
      },
      {
        "desc": "pkh([1515f2b6/44h/1h/0h]tpubDDr9JiJs7GsZhhDpB4hDHV8Z5E6R4pW2a5DGmzSoUFetMcEgQxc8v2tLBT5uVtYaAgm1vddewXxRHnBz9GSRvStkaY2mkbwDXoipSHN7WGW/1/*)#qqpuawp0",
        "active": true
      },
      {
        "desc": "sh(wpkh([1515f2b6/49h/1h/0h]tpubDCFGurQNg79RaaHS6ffwcujZBHoqwE6XzhW7dC6NGuiLTiRZngQziVjTrFornJDGc87sVMN6NWqXtKNZyk7JLZ5cDMom9aybQAdADJzpeFV/0/*))#qr3kw65h",
        "active": true
      },
      {
        "desc": "sh(wpkh([1515f2b6/49h/1h/0h]tpubDCFGurQNg79RaaHS6ffwcujZBHoqwE6XzhW7dC6NGuiLTiRZngQziVjTrFornJDGc87sVMN6NWqXtKNZyk7JLZ5cDMom9aybQAdADJzpeFV/1/*))#4zlqk9pg",
        "active": true
      },
      {
        "desc": "wpkh([1515f2b6/84h/1h/0h]tpubDCuxh2HzTrmpVv3JrAfkDEMgM7cVEVTZaJKm33KTdKgw4BtvAHCyqKDDyzihEYLDoEW9t27okbWi6jnUwdXVtUtMJz1YTdVbzcZWuRqpvvb/0/*)#a8777ngc",
        "active": true
      },
      {
        "desc": "wpkh([1515f2b6/84h/1h/0h]tpubDCuxh2HzTrmpVv3JrAfkDEMgM7cVEVTZaJKm33KTdKgw4BtvAHCyqKDDyzihEYLDoEW9t27okbWi6jnUwdXVtUtMJz1YTdVbzcZWuRqpvvb/1/*)#vnmlrxcq",
        "active": true
      }
    ]
  }
]

Dan ternyata memang benar, XPRV tprv8ZgxMBicQKsPeSEG1RJbdfj5M2wQkfqFNREvtWy2LREGdxurvggQ1VWTzesBaUdYy4ukuSRPDzf PXuoN6Vk7zWUDigV9d6zs6WapFjMDX1W ternyata memang BIP32 Root Key (Master Private Key), dan untuk seluruh descriptor mirip dengan informasi descriptors yang ditunjukan pada saat menggunakan perintah "listdescriptors"

R


▀▀▀▀▀▀▀██████▄▄
████████████████
▀▀▀▀█████▀▀▀█████
████████▌███▐████
▄▄▄▄█████▄▄▄█████
████████████████
▄▄▄▄▄▄▄██████▀▀
LLBITCRYPTO
FUTURES
[
1,000x
LEVERAGE
][
.
COMPETITIVE
FEES
][
INSTANT
EXECUTION
]██████
██
██
██
██
██
██
██
██
██
██
██
██████
████████████████████████████████████████████████████████
.
TRADE NOW
.
████████████████████████████████████████████████████████
██████
██
██
██
██
██
██
██
██
██
██
██
██████
Chikito
Legendary
*
Offline Offline

Activity: 2422
Merit: 2060



View Profile WWW
May 31, 2024, 01:59:02 AM
 #467

Beberapa waktu yang lalu @Chikito menyinggung perihal pair tBTC dengan fiat yang disediakan exchange
https://bitcointalk.org/index.php?topic=5196950.msg64104337#msg64104337

Saya lihat ada salah satu contoh marketnya di exchange namun tBTC-nya pair dengan BTC:
https://altquick.com/exchange/market/BitcoinTestnet
Yang namanya kebutuhan, apa pun itu, baik itu mainet, atau testnet kek selagi ada yang nyari dan mau beli pasti akan disediakan, dan yang namanya pasar juga, apa lagi sekarang ini lagi marak-maraknya pengembang untuk membuat token-token di jaringan bitcoin, pasti akan banyak membutuhkan coin testnet, kalau faucet atau yang gratisan tidak menyediakan (ada pun hanya sedikit cuma 0,000...) maka market atau pasarlah yang mereka cari, berapa pun harganya pasti akan dibeli untuk memenuhi kebutuhan pengembang.

Saya cukup yakin itu coin testnet lama-lama bakal mahal di pasaran, kemungkinan harganya bakal sama dengan meme coin kalau sudah sulit untuk ditambang.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
punk.zink
Sr. Member
****
Offline Offline

Activity: 406
Merit: 434


Rollbit.com - Crypto Futures


View Profile
May 31, 2024, 03:56:11 PM
 #468

Beberapa waktu yang lalu @Chikito menyinggung perihal pair tBTC dengan fiat yang disediakan exchange
https://bitcointalk.org/index.php?topic=5196950.msg64104337#msg64104337

Saya lihat ada salah satu contoh marketnya di exchange namun tBTC-nya pair dengan BTC:
https://altquick.com/exchange/market/BitcoinTestnet
Yang namanya kebutuhan, apa pun itu, baik itu mainet, atau testnet kek selagi ada yang nyari dan mau beli pasti akan disediakan, dan yang namanya pasar juga, apa lagi sekarang ini lagi marak-maraknya pengembang untuk membuat token-token di jaringan bitcoin, pasti akan banyak membutuhkan coin testnet, kalau faucet atau yang gratisan tidak menyediakan (ada pun hanya sedikit cuma 0,000...) maka market atau pasarlah yang mereka cari, berapa pun harganya pasti akan dibeli untuk memenuhi kebutuhan pengembang.

Saya cukup yakin itu coin testnet lama-lama bakal mahal di pasaran, kemungkinan harganya bakal sama dengan meme coin kalau sudah sulit untuk ditambang.

Miris sih kalo melihat tBTC yang seharusnya tidak memiliki value, malah menjadi sebuah object yang bisa diperdagangkan secara komersil, karena hal tersebut sudah menyimpang dari konsep dasar Jaringan Testnet diciptakan. Untuk solusinya ya pasti akan terus dilakukan reset, sampai didapatkan kondisi dimana jaringan testnet dan tBTC-nya dipergunakan sebagaimana mestinya.

Alternatif lain bagi para pengembang atau orang-orang yang ingin melakukan eksperimen, yakni dengan cara menjalankan Client Bitcoin pada jaringan Signet. Cara runningnya pun cukup mudah, dengan menjalankan daemon bitcoind pada mode signet : bitcoind/bitcoin-qt -signet

Kalo untuk mode GUI Signet, tidak tersedia file application serta shortcut-nya secara default layaknya Bitcoin mainnet dan testnet. Jadi (untuk pengguna windows) jika ingin menjalankan GUI Bitcoin Signet harus membuat shortcut-nya secara manual.

* Copy shortcut dari Bitcoin Mainnet atau Testnet
* Paste (untuk sementara) ke folder lain
* Klik Properties >>> General >>> Rubah nama shortcut (contoh menjadi Bitcoin Core (signet, 64-bit))
* Tab Shortcut >>> Target >>> rubah menjadi "C:\Program Files\Bitcoin\bitcoin-qt.exe" -signet
* Klik Apply atau OK, lalu pindahkan shortcut tersebut pada folder dimana shortcut Bitcoin mainnet dan testnet tersimpan


Cara lain untuk menjalankan GUI Signet (tanpa harus membuat Shortcut) :

* Jalankan CMD
* Arahkan ke directory dimana bitcoin-qt.exe tersimpan
* lalu ketikan perintah bitcoin-qt -signet

Pada saat pertama kali bitcoind/bitcoin-qt -signet dijalankan, maka akan terbuat dan tersimpan folder "signet" pada directory data Bitcoin yang ada di PC. Dan kita bisa menjalankan GUI Mainnet, Testnet serta Signet secara bersamaan (yang terpenting spek PC-nya kuat untuk menjalankan ketiga program tersebut). Ukuran data pada folder Signet untuk saat ini adalah sekitar 900MB




Faucet Signet
https://signetfaucet.com/
https://signetfaucet.bublina.eu.org/

Blockchain Explorer Signet
https://mempool.space/signet

R


▀▀▀▀▀▀▀██████▄▄
████████████████
▀▀▀▀█████▀▀▀█████
████████▌███▐████
▄▄▄▄█████▄▄▄█████
████████████████
▄▄▄▄▄▄▄██████▀▀
LLBITCRYPTO
FUTURES
[
1,000x
LEVERAGE
][
.
COMPETITIVE
FEES
][
INSTANT
EXECUTION
]██████
██
██
██
██
██
██
██
██
██
██
██
██████
████████████████████████████████████████████████████████
.
TRADE NOW
.
████████████████████████████████████████████████████████
██████
██
██
██
██
██
██
██
██
██
██
██
██████
bayu7adi
Hero Member
*****
Offline Offline

Activity: 1442
Merit: 545

dont be greedy


View Profile WWW
June 03, 2024, 12:40:03 AM
 #469

Saya cukup yakin itu coin testnet lama-lama bakal mahal di pasaran, kemungkinan harganya bakal sama dengan meme coin kalau sudah sulit untuk ditambang.
Terakhir ane cek untuk trade terakhir di market Altquick, harganya 0.00000058 BTC untuk 1 TBTC atau sekitar Rp 600 per TBTC. Ini sudah lebih mahal daripada sebagian besar koin meme yang ada di coinmarketcap.

Kalau baca pengalaman dari @MaxSoocha, ane rasa membeli TBTC seharga 600 rupiah per koinnya lebih worth it daripada harus nambang sendiri yang mana energi listrik yang dibutuhkan untuk nambang 1 TBTC bisa digunakan untuk membeli beberapa puluh atau bahkan ratusan TBTC. Apalagi jaman sekarang sebagian besar orang masih suka yang instan-instan, jadi beli di bursa dengan harga yang relatif murah masih dianggap hal yang lebih efektif.


[1] https://bitcointalk.org/index.php?topic=5489309.msg63837373#msg63837373
punk.zink
Sr. Member
****
Offline Offline

Activity: 406
Merit: 434


Rollbit.com - Crypto Futures


View Profile
June 03, 2024, 05:11:12 AM
Merited by ABCbits (1)
 #470

Terakhir ane cek untuk trade terakhir di market Altquick, harganya 0.00000058 BTC untuk 1 TBTC atau sekitar Rp 600 per TBTC. Ini sudah lebih mahal daripada sebagian besar koin meme yang ada di coinmarketcap.

Kalau baca pengalaman dari @MaxSoocha, ane rasa membeli TBTC seharga 600 rupiah per koinnya lebih worth it daripada harus nambang sendiri yang mana energi listrik yang dibutuhkan untuk nambang 1 TBTC bisa digunakan untuk membeli beberapa puluh atau bahkan ratusan TBTC. Apalagi jaman sekarang sebagian besar orang masih suka yang instan-instan, jadi beli di bursa dengan harga yang relatif murah masih dianggap hal yang lebih efektif.


[1] https://bitcointalk.org/index.php?topic=5489309.msg63837373#msg63837373

Biaya mining tBTC di jaringan testnet memang mahal dan tergantung pada perangkat mining yang digunakan. Karena pada dasarnya tBTC tidak memiliki nilai, maka apapun jenis perangkat hashpower yang dipakai buat mining dan berapapun tBTC yang bisa didapatkan, hasilnya akan selalu loss karena "Cost" akan selalu lebih besar dari "0".

Misal menggunakan ASIC S9 dengan hashrate 13 TH/s dan daya 1300 Watt, dan katakanlah dalam sehari agan bisa mendapatkan seluruh block (144 Blocks), maka Cost mining dalam satu hari adalah : (1300 * 24 / 1000) * Rp 1700 = Rp 53.040, sementara untuk profit 0 walaupun berhasil didapatkan block subsidy sebesar 0.87890544 tBTC (0.00610351 tBTC * 144 Blocks).

Untungnya mayoritas kontributor di jaringan Testnet Bitcoin tidak memiliki pemikiran komersil seperti yang dilakukan oleh https://buytestnet.com/ atau https://altquick.com/exchange/market/BitcoinTestnet. Sehingga kita masih dengan mudah mendapatkan tBTC secara gratis melalui faucet.

R


▀▀▀▀▀▀▀██████▄▄
████████████████
▀▀▀▀█████▀▀▀█████
████████▌███▐████
▄▄▄▄█████▄▄▄█████
████████████████
▄▄▄▄▄▄▄██████▀▀
LLBITCRYPTO
FUTURES
[
1,000x
LEVERAGE
][
.
COMPETITIVE
FEES
][
INSTANT
EXECUTION
]██████
██
██
██
██
██
██
██
██
██
██
██
██████
████████████████████████████████████████████████████████
.
TRADE NOW
.
████████████████████████████████████████████████████████
██████
██
██
██
██
██
██
██
██
██
██
██
██████
punk.zink
Sr. Member
****
Offline Offline

Activity: 406
Merit: 434


Rollbit.com - Crypto Futures


View Profile
June 05, 2024, 04:47:21 AM
Merited by Husna QA (2)
 #471

sebelumnya ane sempet baca2 thread edukasi proses transaksi dan block yang mas punk bikin, n disitu ada bberapa pembahasan mengenai wallet taprot n wallet descriptor.
nah, kebetulan ane ada unek2 tentang caranya memasukan alamat-alamat btc yang ane dapat dari web https://iancoleman.io/bip39/.
tujuan ane membuat custom seed dan memasukan alamat btc dari seed itu ke dompet bitcoin core.
apakah mas punk tau cara memasukan seed ke bitcoin core ?

sori jika lewat dm, soalnya kalok ane posting di thread punyanya situ takutnya malah keluar dari topik

Saya rasa untuk pertanyaan yang agan tujukan pada saya lewat PM, lebih cocok jika dibahas di thread Bitcoin Core, dan maaf jika PM yang agan lakukan saya angkat disini karena saya rasa tidak ada sesuatu yang bersifat pribadi dan sensitif, jadi biar pembahasannya bisa juga berguna bagi member-member lain.

Setauku Bitcoin Core tidak (belum) support dengan mnemonic maupun seed phrase, sehingga tidak ada opsi untuk membuat atau mengimport mnemonic/Seed pada Client Bitcoin Core.

Namun jika yang menjadi tujuannya adalah memasukan address-address yang diturunkan dari mnenomic tersebut kedalam Client Bitcoin Core, maka itu bisa dilakukan dengan cara mengimport keseluruhan descriptor berdasarkan masing-masing derivation path ke dalam sebuah Descriptor wallet pada Bitcoin Core.

- Pertama-tama agan buat sebuah Blank descriptor wallet baru di Bitcoin Core melalui GUI atau Console dengan opsi Private Key enable
createwallet "wallet_name" false true

- Catat BIP32 Root Key (pada Derivation Path BIP32/BIP44) yang didapatkan dari https://iancoleman.io/bip39/
contoh : tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8n Z7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY

- Tambahkan output descriptor dan Derivation Path secara spesifik, agar nantinya di descriptor wallet di Bitcoin core bisa men-generate semua tipe address (P2PKH, Nested segwit, Bech32, dan Bech32m)

P2PKH
Code:
"pkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/44h/1h/0h/0/*)"
"pkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/44h/1h/0h/1/*)"

P2SH-P2WPKH
Code:
"sh(wpkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/49h/1h/0h/0/*))"
"sh(wpkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/49h/1h/0h/1/*))"

P2WPKH (Bech32)
Code:
"wpkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/84h/1h/0h/0/*)"
"wpkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/84h/1h/0h/1/*)"

P2TR (Bech32m)
Code:
"tr(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/86h/1h/0h/0/*)"
"tr(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/86h/1h/0h/1/*)"

0/* untuk receive address (External Path Descriptor), sementara 1/* adalah untuk change address (Internal Path Descriptor)


- Cari masing-masing checksum dari semua output descriptor diatas menggunakan perintah getdescriptorinfo
Code:
getdescriptorinfo "pkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/44h/1h/0h/0/*)"
Code:
"descriptor": "pkh(tpubD6NzVbkrYhZ4WzmmApoogtYk5duS3zbmZwZGk5iiy1yEAc3ZbW94HchU4nUyLK8ffSMXyR5on9UzCerc8kWWdn4DrdYdNTPSYpJGBNrUfUo/44h/1h/0h/0/*)#5c2cher2",
  "checksum": "7vhy8h2a",

Code:
getdescriptorinfo "pkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/44h/1h/0h/1/*)"
Code:
"descriptor": "pkh(tpubD6NzVbkrYhZ4WzmmApoogtYk5duS3zbmZwZGk5iiy1yEAc3ZbW94HchU4nUyLK8ffSMXyR5on9UzCerc8kWWdn4DrdYdNTPSYpJGBNrUfUo/44h/1h/0h/1/*)#9v0e2vnj",
  "checksum": "0cj96z69",
* lakukan hal ini untuk seluruh output descriptor

- Penulisan output descriptor pada saat di import ke Bitcoin Core adalah seperti ini
Code:
"pkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/44h/1h/0h/0/*)#7vhy8h2a"
"pkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/44h/1h/0h/1/*)#0cj96z69"

- Mengimport descriptor ke Bitcoin Core (satu-persatu)
Code:
importdescriptor '[{ "desc": "External Path Descriptor", "active": true, "timestamp": "now", "internal": false },{ "desc": "Internal Path Descriptor", "active": true, "timestamp": "now", "internal": true }]'
Code:
importdescriptor '[{ "desc": "pkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/44h/1h/0h/0/*)#7vhy8h2a", "active": true, "timestamp": "now", "internal": false },{ "desc": "pkh(tprv8ZgxMBicQKsPdXjyHB9DHUtdWcPVtfQrzdxVTZgRYkAqL7nny7KU785btfaVGETntxwQb3bYg8nZ7p2xyjVLP9PPjuXx2CjxcNYPaAYHMiY/44h/1h/0h/1/*)#0cj96z69", "active": true, "timestamp": "now", "internal": true }]'
* lakukan hal ini berulang sampai semua descriptor berhasil di import ke Bitcoin Core

- Bisa juga meng-import keseluruhan descriptor secara bersamaan
Code:
importdescriptor '[{ "desc": "External P2PKH Descriptor", "active": true, "timestamp": "now", "internal": false },{ "desc": "Internal P2PKH Descriptor", "active": true, "timestamp": "now", "internal": true },{ "desc": "External P2SH-P2WPKH Descriptor", "active": true, "timestamp": "now", "internal": false },{ "desc": "Internal P2SH-P2WPKH Descriptor", "active": true, "timestamp": "now", "internal": true },{ "desc": "External P2WPKH Descriptor", "active": true, "timestamp": "now", "internal": false },{ "desc": "Internal P2WPKH Descriptor", "active": true, "timestamp": "now", "internal": true },{ "desc": "External P2TR Descriptor", "active": true, "timestamp": "now", "internal": false },{ "desc": "Internal P2TR Descriptor", "active": true, "timestamp": "now", "internal": true }]'



Setelah seluruh output descriptor berhasil diimport ke Bitcoin core, silahkan buat (generate) masing-masing jenis address (P2PKH, Nested segwit, Bech32, dan Bech32m), dan untuk masing-masing address akan sama dengan address yang ada pada https://iancoleman.io/bip39/.

Contoh : Pada saat agan pertama kalinya men-generate legacy (P2PKH) address pada Bitcoin Core maka ini akan sama dengan address yang ditunjukan di iancoleman.io/bip39 pada derivation path m/44'/1'/0'/0/0 (n1JgEj7RZbS8KXuc5yNYmzKaVYFNnW6Fue) dan jika agan men-generate legacy (P2PKH) address untuk kedua kalinya, address tersebut seperti yang ditunjukkan pada path m/44'/1'/0'/0/1 (n1Hyi9KkiKf8TaYQ3rqG5WEPq4Ns2vpuQ4)

R


▀▀▀▀▀▀▀██████▄▄
████████████████
▀▀▀▀█████▀▀▀█████
████████▌███▐████
▄▄▄▄█████▄▄▄█████
████████████████
▄▄▄▄▄▄▄██████▀▀
LLBITCRYPTO
FUTURES
[
1,000x
LEVERAGE
][
.
COMPETITIVE
FEES
][
INSTANT
EXECUTION
]██████
██
██
██
██
██
██
██
██
██
██
██
██████
████████████████████████████████████████████████████████
.
TRADE NOW
.
████████████████████████████████████████████████████████
██████
██
██
██
██
██
██
██
██
██
██
██
██████
sebas7ian
Member
**
Offline Offline

Activity: 71
Merit: 28


View Profile
June 05, 2024, 10:13:09 AM
 #472

@punk.zink
trims banyak udah diberi penjelasan yg sangat detail.
awalnya agak njlimet karna ane kurang begitu ngerti dgn walet descriptor, namun setelah ane baca pelan2 n praktek lgsg di bitcoin core, akhirnya ane bisa memasukan alamat dari iancoleman ke bitcoin core.

ane ada pertanyaan baru, kira2 apakah aman menggunakan wallet yang privatekey didapatkan dari seed di iancoleman.io ?
jadi maksud saya kalo alamat-alamat itu berasal dari seed, akan memudahkan ane jika sewaktu2 ingin memasukan seed ke walllet lain yang support seed.
Husna QA (OP)
Legendary
*
Offline Offline

Activity: 2310
Merit: 2902


#SWGT CERTIK Audited


View Profile WWW
June 05, 2024, 10:47:36 AM
 #473

ane ada pertanyaan baru, kira2 apakah aman menggunakan wallet yang privatekey didapatkan dari seed di iancoleman.io ?
jadi maksud saya kalo alamat-alamat itu berasal dari seed, akan memudahkan ane jika sewaktu2 ingin memasukan seed ke walllet lain yang support seed.

Gunakan tool dari iancoleman yang versi offline-nya mas: https://github.com/iancoleman/bip39/releases/tag/0.5.6
Bagaimanapun juga cukup beresiko jika meng-generate seed menggunakan tool tersebut dalam keadaan online.


-snip-
- Bisa juga meng-import keseluruhan descriptor secara bersamaan
Code:
importdescriptor '[{ "desc": "External P2PKH Descriptor", "active": true, "timestamp": "now", "internal": false },{ "desc": "Internal P2PKH Descriptor", "active": true, "timestamp": "now", "internal": true },{ "desc": "External P2SH-P2WPKH Descriptor", "active": true, "timestamp": "now", "internal": false },{ "desc": "Internal P2SH-P2WPKH Descriptor", "active": true, "timestamp": "now", "internal": true },{ "desc": "External P2WPKH Descriptor", "active": true, "timestamp": "now", "internal": false },{ "desc": "Internal P2WPKH Descriptor", "active": true, "timestamp": "now", "internal": true },{ "desc": "External P2TR Descriptor", "active": true, "timestamp": "now", "internal": false },{ "desc": "Internal P2TR Descriptor", "active": true, "timestamp": "now", "internal": true }]'

Proses ini mengingatkan saya pada saat test import descriptor dari hardware wallet menggunakan HWI (https://bitcointalk.org/index.php?topic=5196950.msg63946799#msg63946799).
Masih belum dicoba lagi dengan Trezor setelah sebelumnya masih error ketika menggunakan Ledger Nano X.

punk.zink
Sr. Member
****
Offline Offline

Activity: 406
Merit: 434


Rollbit.com - Crypto Futures


View Profile
June 05, 2024, 12:58:46 PM
Merited by Husna QA (2)
 #474

ane ada pertanyaan baru, kira2 apakah aman menggunakan wallet yang privatekey didapatkan dari seed di iancoleman.io ?
jadi maksud saya kalo alamat-alamat itu berasal dari seed, akan memudahkan ane jika sewaktu2 ingin memasukan seed ke walllet lain yang support seed.

Gunakan tool dari iancoleman yang versi offline-nya mas: https://github.com/iancoleman/bip39/releases/tag/0.5.6
Bagaimanapun juga cukup beresiko jika meng-generate seed menggunakan tool tersebut dalam keadaan online.

Seperti yang sudah dijelaskan oleh Om Husna, bahwa https://iancoleman.io/bip39/ bisa dijalankan secara offline dengan cara memutus koneksi internet. Namun jika masih ada kekhawatiran dan ada kecurigaan, jika situs tersebut (atau situs-situs generator lainnya) memiliki hidden vulnerability dan memiliki kapabilitas untuk merekam log files dan mengirimkannya ke server pada saat koneksi internet tersambung kembali, maka salah satu cara untuk membuat mnemonic adalah dengan menggunakan Python atau Node JS.

Terus terang jika menyangkut mnemonic, seed dan private key, saya pribadi juga akan sangat berhati-hati karena informasi sensitif tersebut berkaitan dengan aset crypto yang kita miliki.

Dibawah ini saya buat script node js untuk men-generate BIP39 Mnemonic secara random
Code:
import * as bitcoin from "bitcoinjs-lib";
const bip32 = BIP32Factory(ecc);
import { BIP32Factory } from 'bip32';
import * as ecc from "tiny-secp256k1";
import * as bip39 from 'bip39';
const testnet = bitcoin.networks.testnet;
bitcoin.initEccLib(ecc);

const mnemonic = bip39.generateMnemonic();
const seed = bip39.mnemonicToSeedSync(mnemonic);
const root = bip32.fromSeed(seed, testnet);
const xprv = root.toBase58();
const xpub = root.neutered().toBase58();

console.log('BIP39 Mnemonic :', mnemonic);
console.log('BIP39 Seed :', seed.toString('hex'));
console.log('BIP32 Root Key :', xprv);
console.log('BIP32 Root PubKey :', xpub);

Namun jika agan menginginkan informasi yang lebih detail seperti yang tertampilkan di situs https://iancoleman.io/bip39/, atau buat siapa saja yang ingin mengecek apakah bakal men-generate seed, XPRV, WIF, P2PKH address, dll yang sama dengan yang dihasilkan oleh https://iancoleman.io/bip39/ maupun setelah diimport ke Client Bitcoin Core (menggunakan tutorial yang sudah saya post sebelumnya). Maka bisa menggunakan script panjang dibawah ini.

Code:
import * as bitcoin from "bitcoinjs-lib";
const bip32 = BIP32Factory(ecc);
import { BIP32Factory } from 'bip32';
import * as ecc from "tiny-secp256k1";
import * as bip39 from 'bip39';
const testnet = bitcoin.networks.testnet;
import { toXOnly, tapTreeToList, tapTreeFromList } from 'bitcoinjs-lib/src/psbt/bip371.js';
bitcoin.initEccLib(ecc);

const mnemonic = bip39.generateMnemonic();
const seed = bip39.mnemonicToSeedSync(mnemonic);
const root = bip32.fromSeed(seed, testnet);
const xprv = root.toBase58();
const xpub = root.neutered().toBase58();

console.log('BIP39 Mnemonic :', mnemonic);
console.log('BIP39 Seed :', seed.toString('hex'));
console.log('BIP32 Root Key :', xprv);
console.log('BIP32 Root PubKey :', xpub);
console.log("\n")
const path0 = "m/44'/1'/0'"
const account = root.derivePath(path0);
const accxprv = account.toBase58();
const accxpub = account.neutered().toBase58();

console.log("*BIP-44 (Derivation Path = m/44'/1'/0')");
console.log('Account XPRV :', accxprv);
console.log('Account XPUB :', accxpub);
console.log("\n")

const path1 = "m/44'/1'/0'/0"
const bipp32 = root.derivePath(path1);
const bip32xprv = bipp32.toBase58();
const bip32xpub = bipp32.neutered().toBase58();

console.log("*BIP-44 (Derivation Path = m/44'/1'/0'/0)");
console.log('BIP32 XPRV :', bip32xprv);
console.log('BIP32 XPUB :', bip32xpub);
console.log("\n")

const path2 = "m/44'/1'/0'/0/0"
const child1 = root.derivePath(path2);
const privkey = child1.toWIF();
const publick = child1.publicKey;
const p2pkh  = bitcoin.payments.p2pkh({pubkey: child1.publicKey, network: testnet}).address;

console.log("*BIP-44 (Derivation Path = m/44'/1'/0'/0/0)");
console.log('WIF :', privkey);
console.log('PUBKEY :', publick.toString('hex'));
console.log('P2PKH :', p2pkh);
console.log("\n")

const path3 = "m/49'/1'/0'/0/0"
const child2 = root.derivePath(path3);
const privkey2 = child2.toWIF();
const publick2 = child2.publicKey;
const p2wsh  = bitcoin.payments.p2sh({redeem: bitcoin.payments.p2wpkh({pubkey: child2.publicKey, network: testnet}), network: testnet}).address;

console.log("*BIP-49 (Derivation Path = m/49'/1'/0'/0/0)");
console.log('WIF :', privkey2);
console.log('PUBKEY :', publick2.toString('hex'));
console.log('P2SH-P2WPKH :', p2wsh);
console.log("\n")

const path4 = "m/84'/1'/0'/0/0"
const child3 = root.derivePath(path4);
const privkey3 = child3.toWIF();
const publick3 = child3.publicKey;
const segwit  = bitcoin.payments.p2wpkh({pubkey: child3.publicKey, network: testnet}).address;

console.log("*BIP-84 (Derivation Path = m/84'/1'/0'/0/0)");
console.log('WIF :', privkey3);
console.log('PUBKEY :', publick3.toString('hex'));
console.log('P2WPKH :', segwit);
console.log("\n")

const path5 = "m/86'/1'/0'/0/0"
const child4 = root.derivePath(path5);
const privkey4 = child4.toWIF();
const publick4 = child4.publicKey;
const taproot  = bitcoin.payments.p2tr({internalPubkey: toXOnly(child4.publicKey), network: testnet}).address;

console.log("*BIP-86 (Derivation Path = m/86'/1'/0'/0/0)");
console.log('WIF :', privkey4);
console.log('PUBKEY :', publick4.toString('hex'));
console.log('P2TR :', taproot);

Jika tidak ingin men-generate mnemonic secara random atau sudah memiliki mnemonic yang dibuat sendiri (misal melalui flip coin atau dari wasabi wallet), maka untuk mendapatkan informasi turunan dari mnemonic tersebut :
Code:
const mnemonic = bip39.generateMnemonic();
Diganti dengan
Code:
const mnemonic = 'BIP39 Word List'



Untuk menjalankan Script Node JS diatas, sebelumnya harus mengunduh  javascript library yang dibutuhkan

Code:
npm install bitcoinjs-lib
npm i bip39
npm i bip32
npm i tiny-secp256k1

R


▀▀▀▀▀▀▀██████▄▄
████████████████
▀▀▀▀█████▀▀▀█████
████████▌███▐████
▄▄▄▄█████▄▄▄█████
████████████████
▄▄▄▄▄▄▄██████▀▀
LLBITCRYPTO
FUTURES
[
1,000x
LEVERAGE
][
.
COMPETITIVE
FEES
][
INSTANT
EXECUTION
]██████
██
██
██
██
██
██
██
██
██
██
██
██████
████████████████████████████████████████████████████████
.
TRADE NOW
.
████████████████████████████████████████████████████████
██████
██
██
██
██
██
██
██
██
██
██
██
██████
Husna QA (OP)
Legendary
*
Offline Offline

Activity: 2310
Merit: 2902


#SWGT CERTIK Audited


View Profile WWW
June 05, 2024, 11:42:16 PM
 #475

-snip-
Dibawah ini saya buat script node js untuk men-generate BIP39 Mnemonic secara random
Code:
import * as bitcoin from "bitcoinjs-lib";
const bip32 = BIP32Factory(ecc);
import { BIP32Factory } from 'bip32';
import * as ecc from "tiny-secp256k1";
import * as bip39 from 'bip39';
const testnet = bitcoin.networks.testnet;
bitcoin.initEccLib(ecc);

const mnemonic = bip39.generateMnemonic();
const seed = bip39.mnemonicToSeedSync(mnemonic);
const root = bip32.fromSeed(seed, testnet);
const xprv = root.toBase58();
const xpub = root.neutered().toBase58();

console.log('BIP39 Mnemonic :', mnemonic);
console.log('BIP39 Seed :', seed.toString('hex'));
console.log('BIP32 Root Key :', xprv);
console.log('BIP32 Root PubKey :', xpub);
-snip-

Saya belum mencoba script di atas, namun ada sedikit pertanyaan;
Pada script di atas dituliskan beberapa kali kata "testnet", seperti contoh pada: const testnet = bitcoin.networks.testnet, apakah mesti demikian sementara untuk mainnet tidak perlu dituliskan karena sudah default?

sebas7ian
Member
**
Offline Offline

Activity: 71
Merit: 28


View Profile
June 06, 2024, 04:27:26 AM
 #476


Gunakan tool dari iancoleman yang versi offline-nya mas: https://github.com/iancoleman/bip39/releases/tag/0.5.6
Bagaimanapun juga cukup beresiko jika meng-generate seed menggunakan tool tersebut dalam keadaan online.




trims mas atas infonya.
udah ane download, ternyata berupa file html yg kalok dibuka tampilannya mirip dgn yg berada di web https://iancoleman.io/bip39/


Terus terang jika menyangkut mnemonic, seed dan private key, saya pribadi juga akan sangat berhati-hati karena informasi sensitif tersebut berkaitan dengan aset crypto yang kita miliki.

Dibawah ini saya buat script node js untuk men-generate BIP39 Mnemonic secara random
Code:
import * as bitcoin from "bitcoinjs-lib";
const bip32 = BIP32Factory(ecc);
import { BIP32Factory } from 'bip32';
import * as ecc from "tiny-secp256k1";
import * as bip39 from 'bip39';
const testnet = bitcoin.networks.testnet;
bitcoin.initEccLib(ecc);

const mnemonic = bip39.generateMnemonic();
const seed = bip39.mnemonicToSeedSync(mnemonic);
const root = bip32.fromSeed(seed, testnet);
const xprv = root.toBase58();
const xpub = root.neutered().toBase58();

console.log('BIP39 Mnemonic :', mnemonic);
console.log('BIP39 Seed :', seed.toString('hex'));
console.log('BIP32 Root Key :', xprv);
console.log('BIP32 Root PubKey :', xpub);

tidak banyak yg ane bisa dengan nodejs, tapi kalok hanya menampilkan tulisan hello world atau tulisan2 lain, ane masih bisa.
apakah ada yg salah dengan instalasi nodejs di pc ane, perasaan udah ane impor jga modules2 yg diperlukan, namun tiap kali menjalankan code2 tersebut, hasilnya selalu gagal n muncul perringatan.

(node:13396) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
C:\Users\2nx-8astian\testing.js:1
import * as bitcoin from "bitcoinjs-lib";
^^^^^^

SyntaxError: Cannot use import statement outside a module

punk.zink
Sr. Member
****
Offline Offline

Activity: 406
Merit: 434


Rollbit.com - Crypto Futures


View Profile
June 06, 2024, 05:24:34 AM
 #477

Saya belum mencoba script di atas, namun ada sedikit pertanyaan;
Pada script di atas dituliskan beberapa kali kata "testnet", seperti contoh pada: const testnet = bitcoin.networks.testnet, apakah mesti demikian sementara untuk mainnet tidak perlu dituliskan karena sudah default?

Iya bener Om, jika memang script ditujukan untuk kegunaan pada jaringan Testnet Bitcoin, maka syntax const testnet = bitcoin.networks.testnet harus ditambahkan. Sementara jika yang diinginkan adalah script untuk Bitcoin Mainnet, maka untuk penggunaan syntax testnet bisa dihilangkan.

Testnet
Quote
const testnet = bitcoin.networks.testnet;
const root = bip32.fromSeed(seed, testnet);

Mainnet
Quote
const testnet = bitcoin.networks.testnet;
const root = bip32.fromSeed(seed);

atau bisa juga dituliskan seperti ini (untuk jaringan mainnet)
Quote
const network = bitcoin.networks.bitcoin;
const root = bip32.fromSeed(seed, network);

Pada bagian derivation path juga perlu diperhatikan
Quote
const path2 = "m/44'/1'/0'/0/0"
const child1 = root.derivePath(path2);
const privkey = child1.toWIF();
const publick = child1.publicKey;
const p2pkh  = bitcoin.payments.p2pkh({pubkey: child1.publicKey, network: testnet}).address;
* Simbol 1' pada struktur Derivation Path menyatakan "Coin Type = Bitcoin Testnet"

Jika script diperuntukan buat jaringan mainnet, maka penulisannya sebagai berikut :
Code:
const path2 = "m/44'/0'/0'/0/0"
const child1 = root.derivePath(path2);
const privkey = child1.toWIF();
const publick = child1.publicKey;
const p2pkh  = bitcoin.payments.p2pkh({pubkey: child1.publicKey}).address;



tidak banyak yg ane bisa dengan nodejs, tapi kalok hanya menampilkan tulisan hello world atau tulisan2 lain, ane masih bisa.
apakah ada yg salah dengan instalasi nodejs di pc ane, perasaan udah ane impor jga modules2 yg diperlukan, namun tiap kali menjalankan code2 tersebut, hasilnya selalu gagal n muncul perringatan.

(node:13396) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
C:\Users\2nx-8astian\testing.js:1
import * as bitcoin from "bitcoinjs-lib";
^^^^^^

SyntaxError: Cannot use import statement outside a module

Saya asumsikan pada saat agan menjalankan Node JS, masih menggunakan file "package.json" default dari bawaan installasi Node JS. Sehingga untuk fungsi "import" module / library tidak dapat dijalankan, dan untuk mengganti fungsi "import" digunakan fungsi "const require"

import * as bitcoin from "bitcoinjs-lib" diganti dengan const bitcoin = require('bitcoinjs-lib')


Jika ingin menjalankan Node JS dengan fungsi import berjalan sebagaimana mestinya, maka agan harus membuat (memodifikasi) file "package.json" sendiri.

- Copy file "package.json" dan folder "node_modules"
- Paste keduanya ke Folder Baru
- Buka file "package.json" (di Folder Baru) dan ganti isinya dengan :
Code:
{

  "type": "module"

}
- Buat file xxxxx.js pada Folder Baru
- Buka file xxxxx.js menggunakan notepad atau notepad++, dan paste-kan script (Bitcoin) yang ingin dieksekusi, selalu "save" sebelum mengeksekusi
- Jalankan CMD dan arahkan ke directory dimana Folder Baru tersimpan
- Untuk mengeksekusi script yang dituliskan di notepad, jalankan perintah sebagai berikut :
Code:
node xxxxx.js


R


▀▀▀▀▀▀▀██████▄▄
████████████████
▀▀▀▀█████▀▀▀█████
████████▌███▐████
▄▄▄▄█████▄▄▄█████
████████████████
▄▄▄▄▄▄▄██████▀▀
LLBITCRYPTO
FUTURES
[
1,000x
LEVERAGE
][
.
COMPETITIVE
FEES
][
INSTANT
EXECUTION
]██████
██
██
██
██
██
██
██
██
██
██
██
██████
████████████████████████████████████████████████████████
.
TRADE NOW
.
████████████████████████████████████████████████████████
██████
██
██
██
██
██
██
██
██
██
██
██
██████
abhiseshakana
Legendary
*
Offline Offline

Activity: 2268
Merit: 2256


From Zero to 2 times Self-Made Legendary


View Profile WWW
June 06, 2024, 12:49:55 PM
 #478

Quote
import * as bitcoin from "bitcoinjs-lib";
import { BIP32Factory } from 'bip32';
import * as ecc from "tiny-secp256k1";
const bip32 = BIP32Factory(ecc);
import * as bip39 from 'bip39';
const testnet = bitcoin.networks.testnet;
import { toXOnly } from 'bitcoinjs-lib/src/psbt/bip371.js';
bitcoin.initEccLib(ecc);

Buat yang menjalankan Node.js dan masih menggunakan default package.json maka 'function import()' tidak akan bisa digunakan karena parameter dalam file default package.json di spesifikasian untuk penggunaan function 'require' pada saat memuat modules. Sehingga untuk membuat script diatas bisa dijalankan pada Node.js yang menggunakan default package.json, maka fungsi 'import' harus diganti dengan fungsi 'require'

Code:
const bitcoin = require('bitcoinjs-lib')
const { BIP32Factory } = require('bip32')
const ecc = require('tiny-secp256k1')
const bip32 = BIP32Factory(ecc)
const bip39 = require('bip39')
const testnet = bitcoin.networks.testnet
const toXOnly = pubKey => (pubKey.length === 32 ? pubKey : pubKey.slice(1, 33));
bitcoin.initEccLib(ecc);

.
.Duelbits.
█▀▀▀▀▀











█▄▄▄▄▄
TRY OUR
  NEW  UNIQUE
GAMES!
.
..DICE...
███████████████████████████████
███▀▀                     ▀▀███
███    ▄▄▄▄         ▄▄▄▄    ███
███   ██████       ██████   ███
███   ▀████▀       ▀████▀   ███
███                         ███
███                         ███
███                         ███
███   ▄████▄       ▄████▄   ███
███   ██████       ██████   ███
███    ▀▀▀▀         ▀▀▀▀    ███
███▄▄                     ▄▄███
███████████████████████████████
.
.MINES.
███████████████████████████████
████████████████████████▄▀▄████
██████████████▀▄▄▄▀█████▄▀▄████
████████████▀ █████▄▀████ █████
██████████      █████▄▀▀▄██████
███████▀          ▀████████████
█████▀              ▀██████████
█████                ██████████
████▌                ▐█████████
█████                ██████████
██████▄            ▄███████████
████████▄▄      ▄▄█████████████
███████████████████████████████
.
.PLINKO.
███████████████████████████████
█████████▀▀▀       ▀▀▀█████████
██████▀  ▄▄███ ███      ▀██████
█████  ▄▀▀                █████
████  ▀                    ████
███                         ███
███                         ███
███                         ███
████                       ████
█████                     █████
██████▄                 ▄██████
█████████▄▄▄       ▄▄▄█████████
███████████████████████████████
10,000x
MULTIPLIER
NEARLY UP TO
.50%. REWARDS
▀▀▀▀▀█











▄▄▄▄▄█
sebas7ian
Member
**
Offline Offline

Activity: 71
Merit: 28


View Profile
June 06, 2024, 10:13:18 PM
 #479

ane coba utk melakukan dumpprivkey pada bitcoin core, dgn tujuan utk mengetahui private key dari salah satu alamat btc.
namun itu gagal n ada notif tulisan merah Only legacy wallets are supported by this command (code -4).
setelah ane baca2, ternyata wallet descriptor memang tidak bisa menggunakan perintah dumpprivkey seperti halnya wallet legacy.

apakah ada cara utk mengetahui private key dari alamat yg ada di wallet descriptor ?
abhiseshakana
Legendary
*
Offline Offline

Activity: 2268
Merit: 2256


From Zero to 2 times Self-Made Legendary


View Profile WWW
June 07, 2024, 06:31:36 AM
 #480

ane coba utk melakukan dumpprivkey pada bitcoin core, dgn tujuan utk mengetahui private key dari salah satu alamat btc.
namun itu gagal n ada notif tulisan merah Only legacy wallets are supported by this command (code -4).
setelah ane baca2, ternyata wallet descriptor memang tidak bisa menggunakan perintah dumpprivkey seperti halnya wallet legacy.

apakah ada cara utk mengetahui private key dari alamat yg ada di wallet descriptor ?

Descriptor wallet memang tidak support dengan argumen "dumpprivkey", seperti halnya dengan argumen-argumen di legacy wallet lainnya (importprivkey, importaddress, importwallet, importpubkey, etc). Jadi jika ingin mengetahui (WIF) Private key dari address yang berada di descriptor wallet, maka langkah-langkahnya bisa mengikuti yang dijelaskan pada postingan dibawah ini.

Agan bisa mendapatkan Private Key dari descriptor wallet, namun untuk step-stepnya agak rumit (ane sendiri pernah mempraktekkannya)  Grin

- Pertama-tama bukan console di Bitcoin core, dan gunakan perintah walletpassphrase "password-agan" 600 jika wallet agan memiliki enkripsi passphrase
- Selanjutnya gunakan getaddressinfo "address_yang_dimaksud"
  • Catat jenis script address pada bagian parent descriptor ("parent_desc") berjenis apa : pkh, wpkh, sh atau tr
  • Catat hdkeypath-nya
- Selanjutnya gunakan argumen listdescriptors true
- Dari hasilnya cari descriptor ("desc") yang memiliki jenis script address (pkh, wpkh, sh atau tr) sama dengan "parent_desc" yang sebelumnya agan catat
- Dan pastikan memiliki hdkeypath yang sama pula
- Catat extended private key (xprv key) yang dimaksud
- Download BIP39 Tool (Mnemonic Code Converter) https://github.com/iancoleman/bip39/releases dan jalankan secara offline (matikan jaringan internet)
- Masukan xprv key pada kolom BIP32 Root Key di BIP39 Tool
- Done, agan akan menemukan private key dari address di descriptor wallet tersebut


Sedikit catatan dari saya, yang terpenting adalah mengetahui informasi : HD Key (BIP32 Root Key), Derivation Path secara spesifik (hdkeypath), dan Timestamp. Semisal dalam sebuah Descriptor Wallet terdapat 2 atau lebih HD Key (yang mungkin secara sengaja diimport oleh pemiliknya), maka untuk mengetahui sebuah address merupakan turunan dari HD Key yang mana adalah dari "Timestamp", karena address tersebut akan memiliki "Timestamp" yang sama dengan timestamp dari HD Key yang menurunkannya.

Jangan lupa, lakukan semua proses diatas secara offline.

.
.Duelbits.
█▀▀▀▀▀











█▄▄▄▄▄
TRY OUR
  NEW  UNIQUE
GAMES!
.
..DICE...
███████████████████████████████
███▀▀                     ▀▀███
███    ▄▄▄▄         ▄▄▄▄    ███
███   ██████       ██████   ███
███   ▀████▀       ▀████▀   ███
███                         ███
███                         ███
███                         ███
███   ▄████▄       ▄████▄   ███
███   ██████       ██████   ███
███    ▀▀▀▀         ▀▀▀▀    ███
███▄▄                     ▄▄███
███████████████████████████████
.
.MINES.
███████████████████████████████
████████████████████████▄▀▄████
██████████████▀▄▄▄▀█████▄▀▄████
████████████▀ █████▄▀████ █████
██████████      █████▄▀▀▄██████
███████▀          ▀████████████
█████▀              ▀██████████
█████                ██████████
████▌                ▐█████████
█████                ██████████
██████▄            ▄███████████
████████▄▄      ▄▄█████████████
███████████████████████████████
.
.PLINKO.
███████████████████████████████
█████████▀▀▀       ▀▀▀█████████
██████▀  ▄▄███ ███      ▀██████
█████  ▄▀▀                █████
████  ▀                    ████
███                         ███
███                         ███
███                         ███
████                       ████
█████                     █████
██████▄                 ▄██████
█████████▄▄▄       ▄▄▄█████████
███████████████████████████████
10,000x
MULTIPLIER
NEARLY UP TO
.50%. REWARDS
▀▀▀▀▀█











▄▄▄▄▄█
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!