開源比特幣錢包
任何人都可以推薦任何比特幣錢包或任何比特幣應用程序或客戶端的開原始碼嗎?
請張貼連結或樣本。
謝謝
基於你不知道從哪裡開始,我強烈建議你使用現有的錢包之一,而不是試圖重新發明輪子。也就是說,如果您只是將此作為練習來學習程式碼,那麼在程式碼中四處尋找可能是一種很好的學習方式。所以這就是我可以告訴你的關於錢包的事情。
1)在我看來,比特幣軍械庫是功能最全的錢包,但代價是使用了您電腦上的最多資源。這是我使用的那個,所以我在所有錢包中最了解它。它曾經將區塊鏈載入到記憶體中,但隨著區塊鏈的快速增長,這種方法使軍械庫的 RAM 如此密集,以至於除了那些擁有大量 RAM 的人之外,它基本上對所有人都無法使用。如果你想使用那個舊版本,我推薦 8 GB+ RAM,你擁有的記憶體越多,它的執行效果就越好,特別是從長遠來看,因為區塊鏈只會變得更大。
Armory 的核心開發人員 Alan 意識到這種方法對大多數 Armory 使用者來說是不可持續的,因此他重新設計了它,以便它現在製作區塊鏈的副本並使用它而不是載入整個區塊鏈。當然,問題在於,這意味著將 Armory 用作完整客戶端意味著使用 2 倍的區塊鏈大小。目前,根據我的電腦,區塊鏈使用了 22.6 GB,所以對於你的硬碟驅動器軍械庫所需的空間量來說是兩倍。無論哪種方式,這都是一種資源消耗,但在我看來,他做出的權衡是有道理的,因為硬碟空間通常比 RAM 豐富得多,如果需要的話,獲得更多空間也便宜得多。
軍械庫是用 python 編寫的。我沒有看過程式碼,但是 Alan 在 bitcointalk 論壇上說它有很好的文件記錄。它有一些非常有用的功能,包括: 確定性錢包,這意味著無論您使用多少個地址,一個備份將永遠存在;易於使用的冷庫,這對大多數人來說是Armory的最大好處;對於網路開發人員,您可以在您的網站上執行一個軍械庫守護程序來接受比特幣支付。不幸的是,它的資源密集度不亞於桌面版本,因此不切實際,除非您的虛擬主機上有無限的空間。
- Electrum是一個輕量級的比特幣錢包,也是用 python 編寫的。與 Armory 不同,Electrum 將完整的區塊鏈儲存在您通過客戶端/伺服器模型訪問的伺服器上。這意味著 Electrum 使用的資源數量遠不及軍械庫的資源量,它只需要您將錢包託管在您的電腦上。Electrum 還支持冷儲存,錢包可以使用種子恢復,這意味著你不需要執行定期備份,你只需要確保你永遠不會失去/忘記那個種子。
3)Multibit也是一個用Java編寫的輕量級錢包。它也像 Electrum 一樣在客戶端/伺服器模型上執行。根據Multibit 的 FAQ,使用者必須儲存的區塊鏈部分只有大約 25 MB,換句話說,只包含您自己的交易。如果您不熟悉比特幣的一般運作方式,我建議您查看 Multibit 的常見問題解答,因為它不僅解釋了 Multibit,而且解釋了比特幣的一般運作方式。Multibit 的網站沒有像 Armoury 和 Electrum 那樣宣傳確定性錢包功能,因此它可能需要像原始比特幣錢包一樣定期備份。
- Hivewallet也是一個用 Java 編寫的輕量級錢包。像 Armory 和 Electrum 一樣,它也是確定性的。根據其網站,您所要做的就是備份密碼並設置好。Hivewallet 在 OSX 和 Android 作業系統上執行。
5)比特幣核心是原始的比特幣錢包。與 Armory 和 Electrum 不同,它不是確定性的。因此,不建議您使用此客戶端來儲存您的比特幣,因為與確定性客戶端不同,它需要定期備份。它是用 C++ 編寫的。
如果您仍想深入研究程式碼,我鼓勵您選擇一個您已經熟悉程式語言的錢包,以簡化學習曲線,因此您只需學習該錢包的程式碼,而不是那個錢包的程式碼和那個程式語言。