Address-Generation
如何使用 python、java 或 c++ 離線生成批量錢包?
我想生成,比如說 100000 個密鑰對(地址/私鑰)。它應該離線完成,不使用 website/javascript ,在命令行上有一個程序。當然,軟體應該使用最好的方式來產生隨機性。<https://www.bitaddress.org>上有這樣的功能,但它是javascript,命令行腳本不容易使用。你知道這樣的軟體嗎?
一個非常簡單的方法是使用
Vanitygen
以下命令:vanitygen -k -o output.txt -s seeds.txt 1
-k
找到命中後繼續執行-o output.txt
將密鑰對寫入文件output.txt
-s seeds.txt
會讓你有不同的種子。事先創建這個1
是 Vanitygen 將尋找的模式。因為所有地址都以 開頭1
,所以每次點擊都會很好。如果您想擁有漂亮的地址,例如1Hristo
或其他東西,也很好。請記住,它會大大降低速度。Vanitygen 在我的 2010 MBP CPU 上創建大約 300 kKey/秒。
oclvanitygen
大約是 750 kKeys/秒。會output.txt
稍微降低速度,但不會花費一生。我現在不在可以測試命令的電腦上,但它應該可以工作。這將生成密鑰對直到無窮大。如果你真的想要正好有 1000000(或任何其他數字)對,請嘗試使用 bash for-loop 之類的東西
vanitygen 1 >> output.txt
再說一次,我現在無法檢查這個,所以我不知道這些對在
output.txt
.
您可以使用bitcoinj — 一個由Google員工編寫的經過全面測試的 Java 庫,作為 20% 的項目。它被一些錢包應用程序使用,例如武士錢包、比特幣錢包、greenbits(菌絲體計劃遷移到比特幣j)。
- 從https://github.com/bitcoinj/bitcoinj.git複製項目
- 如果缺少 maven(例如在 osx 或linux 上)安裝maven,然後同步項目以便滿足所有依賴項:(來自項目文件夾)。
brew install maven``apt install maven``mvn install
- 使用以下程式碼生成您的私鑰/公鑰對。
import org.bitcoinj.core.Address; import org.bitcoinj.core.DumpedPrivateKey; import org.bitcoinj.core.ECKey; import org.bitcoinj.core.NetworkParameters; public class GeneratePrivateKey { public static void main(String[] args) { for (int i=0; i<10000; i++) { ECKey key = new ECKey(); DumpedPrivateKey privKey = key.getPrivateKeyEncoded(NetworkParameters.prodNet()); System.out.println("private key: " + privKey.toBase58()); Address pubAddress = new Address(NetworkParameters.prodNet(), key.getPubKeyHash()); System.out.println("public key: " + pubAddress.toBase58()); System.out.println("--------------------------------"); } } }