896febfe01 | ||
---|---|---|
.github/workflows | ||
backend | ||
crawlers | ||
db | ||
frontend | ||
.gitignore | ||
LICENSE | ||
README.md |
README.md
moonstream
[Live at https://moonstream.to/](https://moonstream.to)
What is Moonstream?
Moonstream is a product which helps anyone participate in decentralized finance. From the most sophisticated flash arbitrageurs to people looking for yield from currency that would otherwise lie dormant in their exchange accounts.
Moonstream users can subscribe to events from any blockchain - from the activity of specific accounts or smart contracts to updates about general market movements. This information comes from the blockchains themselves, from their mempools/transaction pools, and from centralized exchanges, social media, and the news. This forms a stream of information tailored to their specific needs.
They can use this information to execute transactions directly from the Moonstream frontend or they can set up programs which execute (on- or off-chain) when their stream meets certain conditions.
Who uses Moonstream?
- Development teams deploying decentralized applications. They use Moonstream to analyze how users are calling their dapps, and set up alerts for suspicious activity.
- Algorithmic funds. They use Moonstream to execute transactions directly on-chain under prespecified conditions.
- Crypto traders. They use Moonstream to evaluate trading strategies based on data from centralized exchanges, the blockchain, and the transaction pool.
Free software
Proprietary technologies are not inclusive technologies, and we believe in inclusion.
All of our technology is open source. This repository contains all the code that powers https://moonstream.to. The code is licensed with the Apache License, Version 2.0.
You are and will always be free to host your own instance of Moonstream.
Architecture
This monorepo contains the following components:
frontend
: A web frontend for Moonstream. Allows users to perform API operations through a visual interface. The frontend also offers charting and analysis functionality. Built in React.backend
': The Moonstream API. This portion of the code base implements a REST API through which users can manage the events that show up in their stream and actually consume their stream data. Built in Python using Fast API.crawlers
: This part of the code base contains workers which extract data from blockchains, transaction pools, and other sources. Currently contains a single Python package but we will soon be addding crawlers implemented in other languages: Go, Rust), and Javascript.db
: Moonstream stores blockchain data in Postgres. This directory contains the code we use to manage the schema in our Postgres database. For sources that send higher volumes of data, we use a separate Postgres database and interface with it using Bugout. For more information on how that data is processed, check how the API inserts events from those sources into a stream.
Contributing
If you would like to contribute to Moonstream, please reach out to @zomglings on the Moonstream Discord.