OpenViSTAI · Agents · Blockchain · Crypto
Menu
Explorers & Analytics

Mars

Mars is a Rust-based command-line pipeline that exports Ethereum chain data into structured files for local or object storage, with a documented workflow for loading the data into Databend.

Independent OpenViST project profile, based on linked sources.

Mars — OpenViST project profile in Explorers & Analytics.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Mars when you need to turn Ethereum node data into structured files and follow the documented path into a Databend warehouse.

Who it is for

  • Data analysts and engineers preparing Ethereum records for warehouse queries.
  • Teams building Ethereum datasets for downstream analysis or visualization.

Documented uses

  • Export blocks, transactions, receipts, logs, token transfers and ENS data for a selected block range.
  • Store exported data in a filesystem, Amazon S3 or Azure Blob storage.
  • Load exported Parquet data into Databend tables for querying.
Before you choose

Requirements & limits

  • Requires access to an Ethereum node endpoint and configuration of an output storage destination.
  • The documented warehouse workflow uses Databend; the project documentation identifies no other supported warehouse.
  • The repository is licensed under Apache-2.0.
  • Adding another blockchain requires chain-specific data extraction and matching structured schemas.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Export Ethereum chain data to S3 with Mars

Configure Mars and export a selected Ethereum block range to an S3 bucket.

Before you start

  • The ethetl binary downloaded from the Mars GitHub releases page.
  • An Ethereum node endpoint URL.
  • An S3 bucket and its access key ID and secret access key.

Steps

  1. Download the ethetl binary from the GitHub releases page.

  2. Copy the sample configuration to mars.toml; set the storage type to S3, enter the bucket and credentials, and retain or set the export output directory to pub.

  3. Run ./ethetl -p -s 16600001 -e 16600002 -c ./mars.toml, replacing the endpoint and block bounds as needed.

Expected outcome

Mars writes exported Ethereum data to the configured S3 location; the documented example uses `//pub` and processes blocks 16600001–16600002.

Guide limitations

  • The documented export example covers Ethereum only.
  • The S3 configuration and export example do not document Azure Blob or local-filesystem steps.
  • The README identifies Databend as the only supported warehouse.
Source-based practical guide

Load Mars S3 exports into Databend

Create Databend tables from Mars schemas and ingest exported Parquet datasets from S3.

Before you start

  • Mars data exported to an S3 bucket under the pub path.
  • A Databend deployment, either self-deployed or Databend Cloud.
  • Access credentials for the S3 bucket.

Steps

  1. Create the Databend tables using the schema files under schemas/databend, beginning with schemas/databend/1_schema.sql.

  2. In Databend, create an external stage pointing to s3:///pub and provide the S3 access key ID and secret access key.

  3. Run Databend COPY INTO statements for the exported dataset directories, using the Parquet file pattern shown in the README.

Expected outcome

The exported blocks, transactions, receipts, token transfers, logs, and ENS Parquet files can be ingested into their corresponding Databend tables.

Guide limitations

  • The documented ingestion instructions cover S3 and Databend; they do not provide equivalent steps for other warehouses or storage targets.
  • Databend's documented file-tracking idempotency period is a default of seven days.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
16 October 2026
Original website title
deepeth/mars · Official homepage title · retained in its source language