如何檢索 Ledger 錢包中持有的 BTC 總數
我是 Ledger 的新手。
作為一名軟體工程師,我想編寫自己的應用程序(供我個人使用),它有點像 Ledger Live 的更基本版本。
我想在我為自己建構的私人 Google 表格中顯示我的餘額。
我想使用 Apps 腳本以如下格式從所有相關區塊鏈(最好通過簡單、免費的 API)獲取總數:
{ BTC: 0.1, ETH: 1, NEAR: 20 }
其中每個程式碼顯示我的分類帳“持有”的所有代幣的總數(總和)。
由於比特幣、乙太坊和其他區塊鏈都是公開的,我想我可以很容易地通過公共錢包地址查詢我的錢包餘額。
但現在我的理解是,我的 Ledger 的每個區塊鏈的公共錢包地址在交易後都會發生變化。
那麼我怎樣才能實現我的目標呢?
同樣,我想要一個簡單的令牌總和,如上面的 JSON 所示。
我希望這筆款項可以定期自動檢索,而無需我登錄我的分類帳。
謝謝!
PS 我發現是否可以使用 xpub 地址來監控以前生成的地址的餘額?以及如何了解 Ledger Nano S 中的餘額?
但是當我轉到 Ledger Live > Accounts > Bitcoin > wrench icon > Advanced 並獲取我的“xpub”字元串並在https://www.blockchain.com/btc/xpub/xxxx瀏覽它時,我看到 20 個錢包地址(分為 4 頁),每頁 0 個事務。所以看起來這些是未來的錢包,而不是我的 Ledger 目前使用的錢包。
Blockonomics API支持 xpub/ypub/zpub 的餘額和交易歷史
您可以使用以下站點搜尋 xpub/ypub/zpub 的地址餘額/歷史記錄:
我不會重複密鑰、地址和余額如何在比特幣上工作的心智模型,假設您對此很熟悉:https ://bitcoin.stackexchange.com/a/115830/137501
還有一點需要注意:
我仍然沒有完整的答案,以下僅適用於 BTC(我更喜歡適用於許多區塊鏈的答案)
你得到的關於比特幣的答案只能適用於其他比特幣技術區塊鏈(如萊特幣、比特幣現金等)。乙太坊等其他區塊鏈使用完全不同的方案,我一點都不熟悉。
好的,所以你知道為了找到你的 UTXO,你需要找到一些實現這 3 個 BIP 的好庫:
此外,SatoshiLabs(Trezor 錢包製造商)維護著許多區塊鏈的推導路徑列表:
在更高的層次上,你必須:
- 從助記詞生成主密鑰
- 生成主 xpub。請注意,生成主密鑰和 xpub 應該在離線設備上完成,然後復製到線上設備以保持“氣隙”的安全性。也許 Ledger 設備只能導出 xpub?如果可能的話,那麼您就可以跳過自己做的冒險業務。
- 使用派生路徑產生一些
N
地址的列表- 根據這些地址掃描 UTXO 集併計算餘額
- 如果你想要錢包歷史而不僅僅是目前餘額,你需要根據地址列表掃描整個區塊鏈
請注意,每次您收到付款時,錢包都會創建一個新地址,因此列表會增加。當你從種子中恢復錢包時,他們不知道
N
,所以他們所做的是掃描一定數量的地址,比如 100,然後找到實際使用的最後一個地址,然後從中掃描另外 100 個地址。那個,直到他們到達從未使用過的 100。那麼,如何進行第4步和第5步的掃描呢?我對此並不完全熟悉,但我可以告訴你在哪裡看:
如果您正在執行自己的節點,請找到該節點的 RPC 文件,看看您是否可以使用該節點的 RPC 完成大部分工作
使用Electrum API獲取您需要的東西,無論是從公共伺服器還是在您的節點旁邊執行您自己的 Electrum 伺服器。
使用 Ledger API 並像他們的錢包與他們交談一樣與他們的伺服器交談,但我不確定這被記錄得如何。
有很多公共伺服器可以查詢,數據可以去信任驗證,你只需要區塊頭。但是,伺服器可能會儲存您的查詢和 IP,因此存在隱私損失權衡。如果您不想使用伺服器,您可以在您的節點旁邊自己執行一個Electrum 伺服器,該伺服器將從區塊鏈數據中生成索引,以便輕鬆查找地址歷史記錄。