Api

如何檢索 Ledger 錢包中持有的 BTC 總數

  • November 24, 2022

我是 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 錢包製造商)維護著許多區塊鏈的推導路徑列表:

在更高的層次上,你必須:

  1. 從助記詞生成主密鑰
  2. 生成主 xpub。請注意,生成主密鑰和 xpub 應該在離線設備上完成,然後復製到線上設備以保持“氣隙”的安全性。也許 Ledger 設備只能導出 xpub?如果可能的話,那麼您就可以跳過自己做的冒險業務。
  3. 使用派生路徑產生一些N地址的列表
  4. 根據這些地址掃描 UTXO 集併計算餘額
  5. 如果你想要錢包歷史而不僅僅是目前餘額,你需要根據地址列表掃描整個區塊鏈

請注意,每次您收到付款時,錢包都會創建一個新地址,因此列表會增加。當你從種子中恢復錢包時,他們不知道N,所以他們所做的是掃描一定數量的地址,比如 100,然後找到實際使用的最後一個地址,然後從中掃描另外 100 個地址。那個,直到他們到達從未使用過的 100。

那麼,如何進行第4步和第5步的掃描呢?我對此並不完全熟悉,但我可以告訴你在哪裡看:

  1. 如果您正在執行自己的節點,請找到該節點的 RPC 文件,看看您是否可以使用該節點的 RPC 完成大部分工作

  2. 使用Electrum API獲取您需要的東西,無論是從公共伺服器還是在您的節點旁邊執行您自己的 Electrum 伺服器。

  3. 使用 Ledger API 並像他們的錢包與他們交談一樣與他們的伺服器交談,但我不確定這被記錄得如何。

  4. 有很多公共伺服器可以查詢,數據可以去信任驗證,你只需要區塊頭。但是,伺服器可能會儲存您的查詢和 IP,因此存在隱私損失權衡。如果您不想使用伺服器,您可以在您的節點旁邊自己執行一個Electrum 伺服器,該伺服器將從區塊鏈數據中生成索引,以便輕鬆查找地址歷史記錄。

引用自:https://bitcoin.stackexchange.com/questions/116038