Wallet
Bitcoinj:多個錢包
在我的 Java 應用程序中,我現在需要處理多個比特幣錢包(HD 錢包?)。這意味著發送和接收 BTC。不幸的是,比特幣對我來說很新,所以有一些問題:
是否可以使用 BitcoinJ 來做到這一點?它在數百個(或更多)錢包中表現良好嗎?如果沒有,還有什麼替代方案?
關於工作流程:當然,私鑰將保留在使用者端,因此應用程序本身無法讀取。如果沒有錢包的私鑰,是否仍然可以引發諸如“收到錢”之類的事件?
我也有同樣的疑問。我在圖書館 bitcoinj 做了一點研究,我認為可以同時使用多個錢包。我建議您首先使用單個錢包,以便您可以了解它是如何工作的庫。我舉個例子:
public class MainClass { private static final File BLOCKCHAIN_FILE = new File("block.dat"); private static final NetworkParameters NET_PARAMS = MainNetParams.get(); public static void main(String[] args) throws Exception { List<Wallet> wallets = getWallets(); BlockStore blockStore = new SPVBlockStore(NET_PARAMS, BLOCKCHAIN_FILE); BlockChain blockChain = new BlockChain(NET_PARAMS, wallets, blockStore); PeerGroup peerGroup = new PeerGroup(NET_PARAMS, blockChain); for (Wallet w : wallets) { peerGroup.addWallet(w); } //Starting peerGroup; peerGroup.startAsync(); //Start download blockchain peerGroup.downloadBlockChain(); } public static List<Wallet> getWallets() throws UnreadableWalletException { List<Wallet> wallets = new ArrayList<>(); for (int i = 0; i < 5; i++) { Wallet w = Wallet.loadFromFile(new File("wallet_" + i + ".dat"), null); wallets.add(w); } return wallets; } }