Bitcoin-Core
如何從可用的 xPub 密鑰創建觀看地址
Watch-only 錢包只能接收付款,但不能花費可用的硬幣。我正在使用 bitcoinj(在 Java 中)。
誰能告訴我如何從可用的 xPub 密鑰創建觀看地址?錢包在哪裡可以接收付款?以及如何檢查與特定 xPub 密鑰相關的觀看地址列表。提前致謝
要從擴展公鑰生成僅限手錶錢包的地址,首先您需要先使用該擴展公鑰創建僅限手錶錢包。然後您可以簡單地從中一一推導出地址。
範常式式碼如下所示:
// 指定主網或測試網的網路參數 NetworkParameters 參數 = NetworkParameters.prodNet(); // 提供要從中派生地址的公鑰 字元串 xPub = "xpub6Cw8YA6Mko3xfkYpMQDZjGjgDTWUrJr87NBSiDPXqcmcSJTgxLXm3VCw3iQs4iC5ZrwpY3M21a43DZmiMzDXWzzhF1n7yxSXDnEHjJN6jwK"; // 在 Wallet 類的幫助下創建監視錢包 錢包錢包 = Wallet.fromWatchingKeyB58(params, xPub, DeterministicHierarchy.BIP32_STANDARDISATION_TIME_SECS); // 從提供的公鑰列印第一個派生地址 System.out.println("收款地址:" + wallet.currentReceiveAddress());
輸出將是:
1L23PHmL38qjqbs75doB1VTSL3CKPwkPbC
您可以從https://iancoleman.io/bip39/及其所有特定派生地址獲取公鑰。您可以從那裡比較您第一個生成的地址,以確保您獲得正確的地址。
如果要獲取前 20 個或 30 個地址,則可以在循環中使用給定行。提供高達 20 或 30(您想要的)的循環限制。
// Run this statement in a loop, where i is the loop variable. System.out.println(i + " : " + wallet.freshReceiveAddress());
您可以再次從https://iancoleman.io/bip39/比較這些地址
祝你好運!