Categorygithub.com/metachris/go-ethutils
repository
0.5.3
Repository: https://github.com/metachris/go-ethutils.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

Go Ethereum Utilities

Helpers for working with Ethereum:

Links

Contents

Feedback


BlockWithTxReceipts

blockswithtx is used for concurrently fetching blocks and tx-receipts from a geth node.

Benchmarks - running on the same machine as the geth node:

# IPC connection with concurrency 1, 5, 10, 15
ipc+1x:  Processed 17773 transactions in 29.671 seconds (599.01 tx/sec)
ipc+5x:  Processed 17773 transactions in 7.453 seconds (2384.59 tx/sec)
ipc+10x: Processed 17773 transactions in 5.403 seconds (3289.71 tx/sec)
ipc+15x: Processed 17773 transactions in 4.631 seconds (3837.83 tx/sec)

# WebSocket connection with concurrency 1, 5, 10, 15
ws+1x:  Processed 17773 transactions in 29.784 seconds (596.74 tx/sec)
ws+5x:  Processed 17773 transactions in 8.380 seconds (2120.87 tx/sec)
ws+10x: Processed 17773 transactions in 5.763 seconds (3084.00 tx/sec)
ws+15x: Processed 17773 transactions in 4.842 seconds (3670.32 tx/sec)

# HTTP connection with concurrency 1, 5, 10, 15
http+1x:  Processed 17773 transactions in 33.829 seconds (525.39 tx/sec)
http+5x:  Processed 17773 transactions in 8.828 seconds (2013.30 tx/sec)
http+10x: Processed 17773 transactions in 5.814 seconds (3056.90 tx/sec)
http+15x: Processed 17773 transactions in 5.510 seconds (3225.56 tx/sec)

Over the network I could only get ~200 tx/sec.

Example code: cmd/benchmark-blockswithtx/main.go