Inspiration

Data infrastructure is very important for every blockchain. They are used for monitoring transactions and events, provide analytics or give insight about how a network is performing. EVMOS is an hybrid of EVM and Cosmos but data infrastructure is lacking in the Cosmos ecosystem. There are several options for indexing or exploring Ethereum data and some of them work with Evmos. The options include TheGraph, Dune, Covalent and ethereum-etl. While the option for indexing Cosmos data is Subquery.

This project is inspired by ethereum-etl, it is an ETL for Cosmos blockchain. It works for EVMOS and any other Cosmos chain that has tendermint RPC.

What it does

Cosmos-etl is an ETL for getting blocks, transactions and events of any cosmos blockchain that has tendermint RPC.

How we built it

The project is built using python.

Challenges we ran into

There are 2 challenges that were not done with at the time of submission. The first one was indexing messages which is another important component of Cosmos. Haven't figured out an efficient and simple way to index and structure messages. The other challenge is having a working airflow. ethereum-etl is accompanied with an airflow which is used to store the data in GCP BigQuery or AWS Redshift. I was working on cosmos-etl-airflow for GCP but the repo is empty at the time of submission cause my code isn't working.

Accomplishments that we're proud of

It was fun learning about Cosmos, launching cosmos-etl to pypi and having an analytics demo

What we learned

Apart from the Cosmos, Tendermint and IBC stuff, some fascinating thing to see is that Block timestamp of tendermint is in nanoseconds compared to microseconds on most networks and the genesis block can be any positive integer.

What's next for Cosmos ETL

The next thing is to solve the 2 challenges mentioned above and see if it can be included to blockchain-etl organisation.

Built With

Share this project:

Updates