mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-02-07 14:54:15 +00:00
Allow specification of the remote peer to connect to in PingService.
Save the wallet after receiving a pending transaction.
This commit is contained in:
parent
7aa485110a
commit
543542c551
@ -17,6 +17,7 @@
|
|||||||
package com.google.bitcoin.examples;
|
package com.google.bitcoin.examples;
|
||||||
|
|
||||||
import com.google.bitcoin.core.*;
|
import com.google.bitcoin.core.*;
|
||||||
|
import com.google.bitcoin.discovery.DnsDiscovery;
|
||||||
import com.google.bitcoin.store.BlockStore;
|
import com.google.bitcoin.store.BlockStore;
|
||||||
import com.google.bitcoin.store.BoundedOverheadBlockStore;
|
import com.google.bitcoin.store.BoundedOverheadBlockStore;
|
||||||
import com.google.bitcoin.utils.BriefLogFormatter;
|
import com.google.bitcoin.utils.BriefLogFormatter;
|
||||||
@ -54,7 +55,10 @@ public class PingService {
|
|||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
BriefLogFormatter.init();
|
BriefLogFormatter.init();
|
||||||
|
|
||||||
boolean testNet = args.length > 0 && args[0].equalsIgnoreCase("testnet");
|
String peerHost = args.length > 0 ? args[0] : null;
|
||||||
|
int peerPort = args.length > 1 ? Integer.parseInt(args[1]) : 0;
|
||||||
|
|
||||||
|
boolean testNet = peerPort == NetworkParameters.testNet().port;
|
||||||
final NetworkParameters params = testNet ? NetworkParameters.testNet() : NetworkParameters.prodNet();
|
final NetworkParameters params = testNet ? NetworkParameters.testNet() : NetworkParameters.prodNet();
|
||||||
String filePrefix = testNet ? "pingservice-testnet" : "pingservice-prodnet";
|
String filePrefix = testNet ? "pingservice-testnet" : "pingservice-prodnet";
|
||||||
|
|
||||||
@ -82,9 +86,15 @@ public class PingService {
|
|||||||
BlockChain chain = new BlockChain(params, wallet, blockStore);
|
BlockChain chain = new BlockChain(params, wallet, blockStore);
|
||||||
|
|
||||||
final PeerGroup peerGroup = new PeerGroup(params, chain);
|
final PeerGroup peerGroup = new PeerGroup(params, chain);
|
||||||
peerGroup.addAddress(new PeerAddress(InetAddress.getLocalHost()));
|
|
||||||
// Download headers only until a day ago.
|
// Download headers only until a day ago.
|
||||||
peerGroup.setFastCatchupTimeSecs((new Date().getTime() / 1000) - (60 * 60 * 24));
|
peerGroup.setFastCatchupTimeSecs((new Date().getTime() / 1000) - (60 * 60 * 24));
|
||||||
|
|
||||||
|
if (peerHost != null) {
|
||||||
|
peerGroup.addAddress(new PeerAddress(InetAddress.getByName(peerHost), peerPort));
|
||||||
|
} else {
|
||||||
|
peerGroup.addPeerDiscovery(new DnsDiscovery(params));
|
||||||
|
}
|
||||||
|
|
||||||
peerGroup.addWallet(wallet);
|
peerGroup.addWallet(wallet);
|
||||||
peerGroup.start();
|
peerGroup.start();
|
||||||
|
|
||||||
@ -98,7 +108,13 @@ public class PingService {
|
|||||||
BigInteger value = tx.getValueSentToMe(w);
|
BigInteger value = tx.getValueSentToMe(w);
|
||||||
|
|
||||||
if (tx.isPending()) {
|
if (tx.isPending()) {
|
||||||
System.out.println("Received pending tx for " + Utils.bitcoinValueToFriendlyString(value));
|
System.out.println("Received pending tx for " + Utils.bitcoinValueToFriendlyString(value) +
|
||||||
|
": " + tx);
|
||||||
|
try {
|
||||||
|
w.saveToFile(walletFile);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
// Ignore for now, as we won't be allowed to spend until the tx is no longer pending. We'll get
|
// Ignore for now, as we won't be allowed to spend until the tx is no longer pending. We'll get
|
||||||
// another callback here when the tx is confirmed.
|
// another callback here when the tx is confirmed.
|
||||||
return;
|
return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user