protected PeerGroup createPeerGroup() throws TimeoutException { return new PeerGroup(params, vChain); }
protected PeerGroup createPeerGroup() throws TimeoutException { return new PeerGroup(params, vChain); }
@Inject public PeerGroupService(NetworkParameters params, PeerDiscovery peerDiscovery) { this.netParams = params; this.peerGroup = new PeerGroup(params); peerGroup.setUserAgent(userAgentName, appVersion); peerGroup.addPeerDiscovery(peerDiscovery); }
protected PeerGroup createPeerGroup() throws TimeoutException { if (useTor) { TorClient torClient = new TorClient(); torClient.getConfig().setDataDirectory(directory); return PeerGroup.newWithTor(params, vChain, torClient); } else return new PeerGroup(params, vChain); }
protected PeerGroup createPeerGroup() throws TimeoutException { if (useTor) { TorClient torClient = new TorClient(); torClient.getConfig().setDataDirectory(directory); return PeerGroup.newWithTor(params, vChain, torClient); } else return new PeerGroup(params, vChain); }
public static void main(String[] args) throws Exception { BriefLogFormatter.init(); System.out.println("Connecting to node"); final NetworkParameters params = TestNet3Params.get(); BlockStore blockStore = new MemoryBlockStore(params); BlockChain chain = new BlockChain(params, blockStore); PeerGroup peerGroup = new PeerGroup(params, chain); peerGroup.start(); peerGroup.addAddress(new PeerAddress(InetAddress.getLocalHost(), params.getPort())); peerGroup.waitForPeers(1).get(); Peer peer = peerGroup.getConnectedPeers().get(0); Sha256Hash txHash = Sha256Hash.wrap(args[0]); ListenableFuture<Transaction> future = peer.getPeerMempoolTransaction(txHash); System.out.println("Waiting for node to send us the requested transaction: " + txHash); Transaction tx = future.get(); System.out.println(tx); System.out.println("Waiting for node to send us the dependencies ..."); List<Transaction> deps = peer.downloadDependencies(tx).get(); for (Transaction dep : deps) { System.out.println("Got dependency " + dep.getHashAsString()); } System.out.println("Done."); peerGroup.stop(); } }
@Bean public PeerGroup peerGroup(BlockChain bitcoinBlockchain, Context bitcoinContext, NetworkParameters chainNetworkParameters) { PeerGroup peerGroup = new PeerGroup(bitcoinContext, bitcoinBlockchain); // Regtest has no peer-to-peer functionality if (chainNetworkParameters.equals(MainNetParams.get())) { Stream.of(appConfig.getBitcoinNodePeerGroupSeed()) .forEach((peer) -> { try { peerGroup.addAddress(Inet4Address.getByName(peer)); } catch (UnknownHostException e) { LOG.error("Not possible to add peer {} to the peer group. Unknown error: {}", peer, e); } }); } else if (chainNetworkParameters.equals(TestNet3Params.get())) { peerGroup.addPeerDiscovery(new DnsDiscovery(chainNetworkParameters)); } return peerGroup; }
public static void main(String[] args) throws Exception { BriefLogFormatter.init(); System.out.println("Connecting to node"); final NetworkParameters params = TestNet3Params.get(); BlockStore blockStore = new MemoryBlockStore(params); BlockChain chain = new BlockChain(params, blockStore); PeerGroup peerGroup = new PeerGroup(params, chain); peerGroup.start(); PeerAddress addr = new PeerAddress(InetAddress.getLocalHost(), params.getPort()); peerGroup.addAddress(addr); peerGroup.waitForPeers(1).get(); Peer peer = peerGroup.getConnectedPeers().get(0); Sha256Hash blockHash = Sha256Hash.wrap(args[0]); Future<Block> future = peer.getBlock(blockHash); System.out.println("Waiting for node to send us the requested block: " + blockHash); Block block = future.get(); System.out.println(block); peerGroup.stopAsync(); } }
public static void main(String[] args) throws Exception { File file = new File(args[0]); Wallet wallet = Wallet.loadFromFile(file); System.out.println(wallet.toString()); // Set up the components and link them together. final NetworkParameters params = TestNet3Params.get(); BlockStore blockStore = new MemoryBlockStore(params); BlockChain chain = new BlockChain(params, wallet, blockStore); final PeerGroup peerGroup = new PeerGroup(params, chain); peerGroup.startAsync(); wallet.addCoinsReceivedEventListener(new WalletCoinsReceivedEventListener() { @Override public synchronized void onCoinsReceived(Wallet w, Transaction tx, Coin prevBalance, Coin newBalance) { System.out.println("\nReceived tx " + tx.getHashAsString()); System.out.println(tx.toString()); } }); // Now download and process the block chain. peerGroup.downloadBlockChain(); peerGroup.stopAsync(); wallet.saveToFile(file); System.out.println("\nDone!\n"); System.out.println(wallet.toString()); } }
/** * * The constructor takes in a NetworkParameters variable that determines whether we * are connecting to the Production Net or the Test Net. It also takes in an int * which determines the minimum number of peers to connect to before broadcasting a transaction. * */ public Bitcoin(NetworkParameters netParams, int minPeers) { this.netParams = netParams; this.minPeers = minPeers; if (minPeers == 0) { peerGroup = null; } else { peerGroup = new PeerGroup(netParams); peerGroup.setMinBroadcastConnections(minPeers); peerGroup.addPeerDiscovery(new DnsDiscovery(netParams)); peerGroup.start(); } this.context = Context.getOrCreate(this.netParams); }
final PeerGroup peerGroup = new PeerGroup(PARAMS, chain); peerGroup.addPeerDiscovery(new DnsDiscovery(PARAMS)); long now = new Date().getTime() / 1000;
public static void main(String[] args) throws InterruptedException { BriefLogFormatter.init(); PeerGroup peerGroup = new PeerGroup(PARAMS); peerGroup.setMaxConnections(32); peerGroup.addPeerDiscovery(new DnsDiscovery(PARAMS)); peerGroup.addOnTransactionBroadcastListener(new OnTransactionBroadcastListener() { @Override public void onTransaction(Peer peer, Transaction tx) { Result result = DefaultRiskAnalysis.FACTORY.create(null, tx, NO_DEPS).analyze(); incrementCounter(TOTAL_KEY); log.info("tx {} result {}", tx.getHash(), result); incrementCounter(result.name()); if (result == Result.NON_STANDARD) incrementCounter(Result.NON_STANDARD + "-" + DefaultRiskAnalysis.isStandard(tx)); } }); peerGroup.start(); while (true) { Thread.sleep(STATISTICS_FREQUENCY_MS); printCounters(); } }
BlockChain chain = new BlockChain(params, wallet, blockStore); final PeerGroup peerGroup = new PeerGroup(params, chain); peerGroup.addAddress(new PeerAddress(InetAddress.getLocalHost())); peerGroup.startAsync();
public static void main(String[] args) throws Exception { /* * This is just a test runner that will download blockchain till block * 390000 then exit. */ FullPrunedBlockStore store = new LevelDBFullPrunedBlockStore( MainNetParams.get(), args[0], 1000, 100 * 1024 * 1024l, 10 * 1024 * 1024, 100000, true, 390000); FullPrunedBlockChain vChain = new FullPrunedBlockChain( MainNetParams.get(), store); vChain.setRunScripts(false); PeerGroup vPeerGroup = new PeerGroup(MainNetParams.get(), vChain); vPeerGroup.setUseLocalhostPeerWhenPossible(true); vPeerGroup.addAddress(InetAddress.getLocalHost()); vPeerGroup.start(); vPeerGroup.downloadBlockChain(); } }
final int CONNECT_TIMEOUT_MSEC = TOR_TIMEOUT_SECONDS * 1000; manager.setConnectTimeoutMillis(CONNECT_TIMEOUT_MSEC); PeerGroup result = new PeerGroup(context, chain, manager, torClient); result.setConnectTimeoutMillis(CONNECT_TIMEOUT_MSEC);
final int CONNECT_TIMEOUT_MSEC = TOR_TIMEOUT_SECONDS * 1000; manager.setConnectTimeoutMillis(CONNECT_TIMEOUT_MSEC); PeerGroup result = new PeerGroup(context, chain, manager, torClient); result.setConnectTimeoutMillis(CONNECT_TIMEOUT_MSEC);
public void init () { synchronized (initialized) { if (!initialized) { try { blockStore = new SPVBlockStore(Constants.getNetwork(), new File("blockheaders")); } catch (Exception e) { blockStore = new MemoryBlockStore(Constants.getNetwork()); } try { blockChain = new BlockChain(Constants.getNetwork(), blockStore); peerGroup = new PeerGroup(Constants.getNetwork(), blockChain); peerGroup.addPeerDiscovery(new DnsDiscovery(Constants.getNetwork())); peerGroup.setDownloadTxDependencies(false); peerGroup.setBloomFilteringEnabled(false); peerGroup.setFastCatchupTimeSecs(System.currentTimeMillis()); peerGroup.start(); peerGroup.addEventListener(new EventListener(), Threading.SAME_THREAD); registerShutdownHook(); final DownloadProgressTracker listener = new DownloadProgressTracker(); peerGroup.startBlockChainDownload(listener); } catch (Exception e) { throw new RuntimeException(e); } initialized = true; } } }
private void setupNetwork() { params = MainNetParams.get(); peerGroup = new PeerGroup(params, null /* no chain */); peerGroup.setUserAgent("PeerMonitor", "1.0"); peerGroup.setMaxConnections(4); peerGroup.addPeerDiscovery(new DnsDiscovery(params)); peerGroup.addConnectedEventListener(new PeerConnectedEventListener() { @Override public void onPeerConnected(final Peer peer, int peerCount) { refreshUI(); lookupReverseDNS(peer); } }); peerGroup.addDisconnectedEventListener(new PeerDisconnectedEventListener() { @Override public void onPeerDisconnected(final Peer peer, int peerCount) { refreshUI(); synchronized (reverseDnsLookups) { reverseDnsLookups.remove(peer); } } }); }
/** * <p>Create a new peer group</p> * * @param wallet the wallet to add to the peer group after construction * @param useFastCatchup True if only block headers from genesis block is required */ private void createNewPeerGroup(Wallet wallet, boolean useFastCatchup) throws TimeoutException { String[] dnsSeeds = new String[]{ /* "seed.bitcoin.sipa.be", // Pieter Wuille - not reachable */ "dnsseed.bluematt.me", // Matt Corallo "dnsseed.bitcoin.dashjr.org", // Luke Dashjr "seed.bitcoinstats.com", // Chris Decker "seed.bitnodes.io", // Addy Yeow }; log.info("Creating new DNS peer group for '{}'", networkParameters); peerGroup = new PeerGroup(networkParameters, blockChain); peerGroup.addPeerDiscovery(new DnsDiscovery(dnsSeeds, networkParameters)); peerGroup.setConnectTimeoutMillis(CONNECTION_TIMEOUT); peerGroup.setUserAgent( InstallationManager.MBHD_APP_NAME, Configurations.currentConfiguration.getCurrentVersion()); peerGroup.setMaxConnections(MAXIMUM_NUMBER_OF_PEERS); peerGroup.setUseLocalhostPeerWhenPossible(true); peerEventListener = new MultiBitPeerEventListener(); peerGroup.addEventListener(peerEventListener); addWalletToPeerGroup(wallet, useFastCatchup); }
private void startup() { Log.d(TAG, "startup: "); peerGroup = new PeerGroup(Constants.NETWORK_PARAMETERS, blockChain); peerGroup.setDownloadTxDependencies(0); // recursive implementation causes StackOverflowError peerGroup.addWallet(wallet);