diff --git a/README.md b/README.md index bd12b7b0..5fc88902 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,59 @@ # moonstream -The Bugout blockchain inspector + +\[[Live at https://moonstream.to/](https://moonstream.to)\] | \[[Join us on Discord](https://discord.gg/pYE65FuNSz)\] + +## 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? + +1. **Development teams deploying decentralized applications.** They use Moonstream to analyze how + users are calling their dapps, and set up alerts for suspicious activity. +2. **Algorithmic funds.** They use Moonstream to execute transactions directly on-chain under + prespecified conditions. +3. **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](https://www.apache.org/licenses/LICENSE-2.0). + +You are and _will always be_ free to host your own instance of Moonstream. + +## Architecture + +This monorepo contains the following components: + +1. [`frontend`](./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](https://reactjs.org/). +2. [`backend`'](./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](https://www.python.org/) using [Fast API](https://fastapi.tiangolo.com/). +3. [`crawlers`](./crawlers): This part of the code base contains workers which extract data from + blockchains, transaction pools, and other sources. Currently contains a single [Python](https://www.python.org/) + package but we will soon be addding crawlers implemented in other languages: [Go](https://golang.org/), + [Rust](https://www.rust-lang.org/)), and [Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript). +4. [`db`](./db): Moonstream stores blockchain data in [Postgres](https://www.postgresql.org/). 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](https://bugout.dev). 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](https://discord.gg/pYE65FuNSz).