tuweni / org.apache.tuweni.devp2p.eth / EthClient

EthClient

open class EthClient : EthRequestsManager, SubProtocolClient (source)

Client of the ETH subprotocol, allowing to request block and node data

Constructors

<init>

Client of the ETH subprotocol, allowing to request block and node data

EthClient(service: RLPxService, pendingTransactionsPool: TransactionPool, connectionSelectionStrategy: ConnectionSelectionStrategy)

Functions

connectionSelectionStrategy

Strategy to pick a connection.

open fun connectionSelectionStrategy(): ConnectionSelectionStrategy

headersRequested

fun headersRequested(connection: WireConnection, blockHeader: BlockHeader): Request<List<BlockHeader>>?

nodeDataWasRequested

fun nodeDataWasRequested(connection: WireConnection): Request<List<Bytes?>>?

requestBlock

Requests a block from block hash

open fun requestBlock(blockHash: Hash, connection: WireConnection): AsyncResult<Block>

requestBlockBodies

Requests block bodies from block hashes

open fun requestBlockBodies(blockHashes: List<Hash>, connection: WireConnection): AsyncResult<List<BlockBody>>

requestBlockHeader

Requests a block header

open fun requestBlockHeader(blockHash: Hash, connection: WireConnection): AsyncResult<BlockHeader>

requestBlockHeaders

Requests block headers

open fun requestBlockHeaders(blockHash: Hash, maxHeaders: Long, skip: Long, reverse: Boolean, connection: WireConnection): AsyncResult<List<BlockHeader>>
open fun requestBlockHeaders(blockNumber: Long, maxHeaders: Long, skip: Long, reverse: Boolean, connection: WireConnection): AsyncResult<List<BlockHeader>>
open fun requestBlockHeaders(blockHashes: List<Hash>, connection: WireConnection): AsyncResult<List<BlockHeader>>

requestTransactionReceipts

Requests transaction receipts

open fun requestTransactionReceipts(blockHashes: List<Hash>, connection: WireConnection): AsyncResult<List<List<TransactionReceipt>>>

submitPooledTransaction

Submits a new pending transaction to the transaction pool to be gossiped to peers.

open suspend fun submitPooledTransaction(vararg tx: Transaction): Unit

transactionReceiptsRequested

fun transactionReceiptsRequested(connection: WireConnection): Request<List<List<TransactionReceipt>>>?

wasRequested

fun wasRequested(connection: WireConnection): Request<List<BlockBody>>?

Inheritors

EthClient66

Client of the ETH subprotocol, allowing to request block and node data

class EthClient66 : EthClient