@JvmOverloads fun open(vertx: Vertx, keyPair: KeyPair, port: Int = 0, host: String? = null, seq: Long = Instant.now().toEpochMilli(), enrData: Map<String, Bytes> = emptyMap(), bootstrapURIs: List<URI> = emptyList(), peerRepository: PeerRepository = EphemeralPeerRepository(), advertiseAddress: String? = null, advertiseUdpPort: Int? = null, advertiseTcpPort: Int? = null, routingTable: PeerRoutingTable = DevP2PPeerRoutingTable(keyPair.publicKey()), packetFilter: ((PublicKey, SocketAddress) -> Boolean)? = null, timeSupplier: () -> Long = CURRENT_TIME_SUPPLIER): DiscoveryService (source)
Start the discovery service.
keyPair - the local node's keypair
port - the port to listen on (defaults to 0, which will cause a random free port to be chosen)
host - the host name or IP address of the interface to bind to (defaults to null, which will cause the
service to listen on all interfaces
seq - the sequence number of the Ethereum Node Record
enrData - the additional key/value pair entries to broadcast as an Ethereum Node Record (ENR).
bootstrapURIs - the URIs for bootstrap nodes
peerRepository - a PeerRepository for obtaining Peer instances
advertiseAddress - the IP address to advertise to peers, or null if the address of the first bound
interface should be used.
advertiseUdpPort - the UDP port to advertise to peers, or null if the bound port should to be used.
advertiseTcpPort - the TCP port to advertise to peers, or null if it should be the same as the UDP port.
routingTable - a PeerRoutingTable which handles the ÐΞVp2p routing table
packetFilter - a filter for incoming packets
\ * @param bufferAllocator a ByteBuffer allocator, which must return buffers of size 1280 bytes or larger
timeSupplier - a function supplying the current time, in milliseconds since the epoch
@JvmOverloads fun open(vertx: Vertx, keyPair: KeyPair, bindAddress: SocketAddress, seq: Long = Instant.now().toEpochMilli(), enrData: Map<String, Bytes> = emptyMap(), bootstrapURIs: List<URI> = emptyList(), peerRepository: PeerRepository = EphemeralPeerRepository(), advertiseAddress: String? = null, advertiseUdpPort: Int? = null, advertiseTcpPort: Int? = null, routingTable: PeerRoutingTable = DevP2PPeerRoutingTable(keyPair.publicKey()), packetFilter: ((PublicKey, SocketAddress) -> Boolean)? = null, timeSupplier: () -> Long = CURRENT_TIME_SUPPLIER): DiscoveryService (source)
Start the discovery service.
keyPair - the local node's keypair
bindAddress - the address to listen on
seq - the sequence number of the Ethereum Node Record
enrData - the additional key/value pair entries to broadcast as an Ethereum Node Record (ENR).
bootstrapURIs - the URIs for bootstrap nodes
peerRepository - a PeerRepository for obtaining Peer instances
advertiseAddress - the IP address to advertise for incoming packets
advertiseUdpPort - the UDP port to advertise to peers, or null if the bound port should to be used.
advertiseTcpPort - the TCP port to advertise to peers, or null if it should be the same as the UDP port.
routingTable - a PeerRoutingTable which handles the ÐΞVp2p routing table
packetFilter - a filter for incoming packets
timeSupplier - a function supplying the current time, in milliseconds since the epoch