Package org.bitcoinj.net.discovery
Class SeedPeers
- java.lang.Object
-
- org.bitcoinj.net.discovery.SeedPeers
-
- All Implemented Interfaces:
PeerDiscovery
public class SeedPeers extends java.lang.Object implements PeerDiscovery
SeedPeers stores a pre-determined list of Bitcoin node addresses. These nodes are selected based on being active on the network for a long period of time. The intention is to be a last resort way of finding a connection to the network, in case IRC and DNS fail. The list comes from the Bitcoin C++ source code.
-
-
Constructor Summary
Constructors Constructor Description SeedPeers(int[] seedAddrs, NetworkParameters params)
Supports finding peers by IP addressesSeedPeers(NetworkParameters params)
Supports finding peers by IP addresses
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.net.InetSocketAddress
getPeer()
Acts as an iterator, returning the address of each node in the list sequentially.java.util.List<java.net.InetSocketAddress>
getPeers(long services, long timeoutValue, java.util.concurrent.TimeUnit timeoutUnit)
Returns all the Bitcoin nodes within the list.void
shutdown()
Stops any discovery in progress when we want to shut down quickly.
-
-
-
Constructor Detail
-
SeedPeers
public SeedPeers(NetworkParameters params)
Supports finding peers by IP addresses- Parameters:
params
- Network parameters to be used for port information.
-
SeedPeers
public SeedPeers(int[] seedAddrs, NetworkParameters params)
Supports finding peers by IP addresses- Parameters:
seedAddrs
- IP addresses for seed addresses.params
- Network parameters to be used for port information.
-
-
Method Detail
-
getPeer
@Nullable public java.net.InetSocketAddress getPeer() throws PeerDiscoveryException
Acts as an iterator, returning the address of each node in the list sequentially. Once all the list has been iterated, null will be returned for each subsequent query.- Returns:
- InetSocketAddress - The address/port of the next node.
- Throws:
PeerDiscoveryException
-
getPeers
public java.util.List<java.net.InetSocketAddress> getPeers(long services, long timeoutValue, java.util.concurrent.TimeUnit timeoutUnit) throws PeerDiscoveryException
Returns all the Bitcoin nodes within the list.- Specified by:
getPeers
in interfacePeerDiscovery
- Parameters:
services
- Required services as a bitmask, e.g.VersionMessage.NODE_NETWORK
.- Throws:
PeerDiscoveryException
-
shutdown
public void shutdown()
Description copied from interface:PeerDiscovery
Stops any discovery in progress when we want to shut down quickly.- Specified by:
shutdown
in interfacePeerDiscovery
-
-