diff --git a/src/com/google/bitcoin/core/Peer.java b/src/com/google/bitcoin/core/Peer.java index 5b5cfd96..494e40f7 100644 --- a/src/com/google/bitcoin/core/Peer.java +++ b/src/com/google/bitcoin/core/Peer.java @@ -69,6 +69,14 @@ public class Peer { this.eventListeners = new ArrayList(); } + /** + * Construct a peer that handles the given network connection and reads/writes from the given block chain. Note that + * communication won't occur until you call connect(). + */ + public Peer(NetworkParameters params, PeerAddress address, BlockChain blockChain) { + this(params, address, 0, blockChain); + } + public synchronized void addEventListener(PeerEventListener listener) { eventListeners.add(listener); } diff --git a/src/com/google/bitcoin/examples/FetchBlock.java b/src/com/google/bitcoin/examples/FetchBlock.java index d7415bed..696f124b 100644 --- a/src/com/google/bitcoin/examples/FetchBlock.java +++ b/src/com/google/bitcoin/examples/FetchBlock.java @@ -29,12 +29,18 @@ import java.util.concurrent.Future; public class FetchBlock { public static void main(String[] args) throws Exception { System.out.println("Connecting to node"); - final NetworkParameters params = NetworkParameters.prodNet(); - NetworkConnection conn = new NetworkConnection(InetAddress.getLocalHost(), params, 0, 60000); + final NetworkParameters params = NetworkParameters.testNet(); + BlockStore blockStore = new MemoryBlockStore(params); BlockChain chain = new BlockChain(params, blockStore); - Peer peer = new Peer(params, conn, chain); - peer.start(); + final Peer peer = new Peer(params, new PeerAddress(InetAddress.getLocalHost()), chain); + peer.connect(); + new Thread(new Runnable() { + @Override + public void run() { + peer.run(); + } + }).start(); Sha256Hash blockHash = new Sha256Hash(args[0]); Future future = peer.getBlock(blockHash);