Contact Us

Case study

Big data analytics case study: Ethereum transactions, wallet activity and contract events, ready to query as they happen

ResultTransactions processed with few or no stops, and the indexed history retrieved quickly as it grows

Client
A client building blockchain data tools for crypto and NFT markets (anonymised)
Industry
Web3: crypto and NFT markets
Service
Data engineering: real-time ingestion, indexing and analytics
Type
Ethereum data platform (web app)
Timeline
30 months
Status
In use

This big data analytics case study follows a platform we built for a client serving crypto and NFT markets. It keeps its Ethereum nodes in sync, takes in transactions, wallet activity and smart contract events as they happen, and indexes the chain's full history, so the people making decisions see fresh data with the whole record behind it. Transactions are processed with few or no stops, and Terraform cut the manual work of building the infrastructure and setting up data replication.

Real time
Ethereum transactions, wallet activity and contract events, taken in as they happen
Full history
of the chain indexed, and retrieved quickly as it grows
Few or no stops
in transaction processing, with the queue system

The challenge: keeping up with Ethereum while preserving its history

The client wanted live insight into Ethereum transactions and other activity on the chain, room for detailed historical analysis, and an app that stayed easy to use as the chain's data kept growing. The platform needed to meet five requirements:

  • Nodes that agree. Each node pairs an execution client with a consensus client. The two had to be configured to work together, so reading data didn't mean long delays, and several nodes had to stay in sync so the data stayed intact and reachable.
  • A continuous stream. Transactions arrive constantly and in volume, and the platform had to follow them in real time.
  • Blocks that change. When the chain reorganises, blocks already read can be replaced, and the data has to stay correct through the change.
  • Fast answers from a growing history. Analysis needed fast queries over the chain's data, and storage that kept retrieval quick as the dataset grew.
  • A manageable operating workload. Processing had to continue with minimal interruption, need hands-on fixes as rarely as possible, and keep setup and syncing straightforward for the team operating it.

What we built: big data analytics from synced nodes to fast queries

We built the node set-up, the pipeline, the storage, the analytics and the app. Six pieces carry it:

  • Synced nodes. Geth (execution) and Prysm (consensus) run together, so the nodes stay coordinated, and Erigon nodes support further analytics. The same set-up pulls extra data from the chain for analysis.
  • Queues for a constant stream. Redis and BullMQ run the queues that take in the chain's flow of data, so transactions are processed with few or no stops, and updates reach the app in real time.
  • Storage that stays fast. Astra DB stores the indexed chain data and retrieves it quickly as the dataset grows, behind a Node.js back end.
  • Models for chain behaviour. Mathematical models analyse what happens on the chain, from smart contract actions to reorganised blocks, and OpenAI's models are used for advanced analytics.
  • Infrastructure as code. Terraform builds the infrastructure and sets up data replication, which cut manual work and made new data sources simpler to add.
  • An app for large datasets. A Next.js and Material UI front end with a minimal interface makes big blockchain datasets easier to work with. Bugsnag reports errors.

From synced nodes to fast queries

Nodes

  • Geth and Prysm

    Execution and consensus, kept in sync

  • Erigon nodes

    For further analytics

Intake

  • Queues on Redis and BullMQ

    The chain's constant stream, taken in with few or no stops

Storage

  • Astra DB

    The indexed history, behind a Node.js back end

Analysis

  • Mathematical models

    Contract actions and reorganised blocks

  • OpenAI's models

    Advanced analytics

The app

  • Next.js and Material UI

    Fresh data with the whole record behind it, for the people deciding what it means

Where the pipeline stops, and who takes over

The pipeline and its models turn the chain into data people can query. What that data means, and what to do about it, stays with the people using the platform.

Who does what on the platform

  1. 01The pipeline

    Keeping the nodes in sync

    Geth and Prysm, configured to work together

  2. 02The pipeline

    Taking in transactions as they arrive

    Queues on Redis and BullMQ

  3. 03The pipeline

    Storing and retrieving the indexed history

    Astra DB

  4. 04Models

    Analysing contract actions and reorganised blocks

    Mathematical models

  5. 05Models

    Advanced analytics

    OpenAI's models

  6. 06The pipeline

    Building the infrastructure and setting up replication

    Terraform

  7. 07The pipeline

    Reporting errors

    Bugsnag

  8. 08People

    Deciding what the activity means

    The decision-makers using the platform

Results

Before and after the platform
MeasureBeforeAfter
Manual work to build the infrastructure and set up data replicationManual infrastructure setup before TerraformReduced, with Terraform
Effort to add a new data sourceThe process for adding a source before TerraformSimpler, with Terraform
Stops in transaction processingProcessing reliability before the queue systemFew or none, with the queue system

The platform's users see fresh data from Ethereum, from transaction history to the details of smart contract events, and the back end stays reliable as the dataset grows. The table says what changed rather than by how much.

Technologies and tools

  • JavaScript
  • TypeScript
  • Next.js
  • Material UI
  • Node.js
  • TypeORM
  • Redis
  • BullMQ
  • Geth
  • Prysm
  • Erigon
  • Astra DB
  • OpenAI
  • Terraform
  • Bugsnag

Timeline

The build and ongoing development spanned 30 months.

If your AI work is waiting on data that arrives too late to be worth reading, our data engineering services design the pipeline backwards from whatever will read it, and ship a data contract and a quality gate with every dataset.

ServiceData engineering services

Bring us the data your team needs sooner

Tell us where the data starts, how fresh it needs to be and who or what will use it. An engineer replies within two business days with how we'd build the pipeline and what we'd check first.