diff --git a/GH-banner.jpg b/GH-banner.jpg deleted file mode 100644 index 2d7e3b25b..000000000 Binary files a/GH-banner.jpg and /dev/null differ diff --git a/GH-banner.svg b/GH-banner.svg new file mode 100644 index 000000000..d1f8faef1 --- /dev/null +++ b/GH-banner.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/README.md b/README.md index 83c30c73a..7350560e5 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,20 @@ - + # Zeitgeist: An Evolving Blockchain for Prediction Markets and Futarchy ![Rust](https://github.com/zeitgeistpm/zeitgeist/actions/workflows/rust.yml/badge.svg) [![Codecov](https://codecov.io/gh/zeitgeistpm/zeitgeist/branch/main/graph/badge.svg)](https://codecov.io/gh/zeitgeistpm/zeitgeist) -[![Discord](https://img.shields.io/badge/discord-https%3A%2F%2Fdiscord.gg%2FMD3TbH3ctv-purple)](https://discord.gg/XhAcFWYUej) -[![Telegram](https://img.shields.io/badge/telegram-https%3A%2F%2Ft.me%2Fzeitgeist__official-blue)](https://t.me/zeitgeist_official) +[![Discord](https://img.shields.io/badge/-Zeitgeist-blue?logo=discord&logoColor=ffffff&style=flat)](https://discord.gg/XhAcFWYUej) +[![Telegram](https://img.shields.io/badge/-zeitgeist_official-blue?logo=telegram&style=flat)](https://t.me/zeitgeist_official) +[![X](https://img.shields.io/badge/-zeitgeistpm-blue?logo=X&style=flat)](https://twitter.com/zeitgeistpm) Zeitgeist is a decentralized network for creating, betting on, and resolving -prediction markets. The platform's native currency, the ZTG, is used to sway the -direction of the network, and as a means of last-call dispute resolution. -Additionally, Zeitgeist is a protocol for efficient trading of prediction market -shares and will one day become the backbone of the decentralized finance -ecosystem by allowing traders to create complex financial contracts on virtually -_anything_. +prediction markets, allowing traders to create complex financial contracts on +virtually _anything_. The platform's native currency ZTG is used to sway the +direction of the network, and as a means of last-call dispute resolution in the +decentralized court. ## Modules @@ -25,67 +24,62 @@ _anything_. - [global-disputes](./zrml-global-disputes) - Global disputes sets one out of multiple outcomes with the most locked ZTG tokens as the canonical outcome. This is the default process if a dispute mechanism fails to resolve. -- [liquidity-mining](./zrml/liquidity-mining) - This pallet implements the - time-based incentivization with Zeitgeist tokens for continuously providing - liquidity to swap pools. +- [macros](./macros) - Contains macros shared by the other modules. - [market-commons](./zrml/market-commons) - Contains common operations on markets that are used by multiple pallets. - [neo-swaps](./zrml/neo-swaps) - An implementation of the Logarithmic Market Scoring Rule as constant function market maker, tailor-made for decentralized - combinatorial markets and Futarchy. + combinatorial markets and futarchy. - [orderbook](./zrml/orderbook) - An order book implementation. - [parimutuel](./zrml/parimutuel) - A straightforward parimutuel market maker for categorical markets. - [prediction-markets](./zrml/prediction-markets) - The core implementation of the prediction market logic for creating and resolving markets. -- [simple-disputes](./zrml-simple-disputes) - Simple disputes selects the last - dispute after a predetermined amount of disputes as the canonical outcome. -- [swaps](./zrml/swaps) - An implementation of liquidity pools that allows any - user to provide liquidity to the pool or swap assets in and out of the pool. - The market maker that is traded against is either a Constant Function Market - Maker (CFMM) or a Rikiddo Market Maker. +- [swaps](./zrml/swaps) - An implementation of the Balancer CFMM that allows any + user to create pools, provide liquidity or swap assets. - [primitives](./zrml/primitives) - Contains custom and common types, traits and constants. - [rikiddo](./zrml/rikiddo) - The module contains a completely modular - implementation of our novel market scoring rule [Rikiddo][rikiddo]. It also - offers a pallet, that other pallets can use to utilize the Rikiddo market - scoring rule. Rikiddo can be used by the automated market maker to determine - swap prices. + implementation of our novel market maker [Rikiddo][rikiddo]. It also offers a + pallet that other pallets can use to utilize the Rikiddo market maker. Rikiddo + can be used by the automated market maker to determine swap prices. -## How to build and run a Zeitgeist node +## How to Build and Run a Zeitgeist Node Zeitgeist node comes in two flavors, one for standalone self-contained execution and another for Kusama/Polkadot parachain integration. -To build the standalone version, simply point to the top directory of this -project and type: +To build the standalone version for testing, simply point to the top directory +of this project and type: ```bash cargo build --release ``` +The standalone version uses the runtime defined for Zeitgeist's testnet _Battery +Station_ in [runtimes/battery-station](runtimes/battery-station) and is run in +`--dev` mode by default. + To build the parachain version, execute the following command: ``` cargo build --features parachain --release ``` -Optimized binaries (`--release`) are usually used for production (faster and -smaller), but this behavior is optional and up to you. - -Our current beta test network [Battery Station][zg-beta] runs as a parachain. To -connect your Zeitgeist parachain node, follow the tutorial at our [documentation -site][bs-docs]. +By default, the parachain version will connect to the Zeitgeist main network, +which launched as a parachain of Kusama and has since been migrated to Polkadot. +The runtime of the main network is defined in +[runtimes/zeitgeist](runtimes/zeitgeist). -Alternatively you can run a non-parachain node, which is usually only necessary -for testing purposes, by executing the following command: +To connect to Zeitgeist's testnet Battery Station, which runs as a parachain of +Rococo, run: ``` -cargo run --release --bin zeitgeist -- +cargo run --features parachain --release -- --chain=battery-station ``` -A common value for `` is `--dev --tmp`, which runs a -local temporary development node. +Optimized binaries (`--release`) are usually used for production (faster and +smaller), but this behavior is optional and up to you. ### Using Docker @@ -107,9 +101,8 @@ For standalone, non-parachain Zeitgeist node: docker pull zeitgeistpm/zeitgeist-node ``` -Our current beta test network [Battery Station][zg-beta] runs as a parachain. To -connect your Zeitgeist parachain node, follow the tutorial at our [documentation -site][bs-docs]. +To connect your Zeitgeist parachain node using Docker, follow the tutorial at +our [documentation site][bs-docs]. Alternatively you can run a non-parachain node, which is usually only necessary for testing purposes, by executing the following command: @@ -122,5 +115,5 @@ docker run zeitgeistpm/zeitgeist-node -- [ls-lmsr]: https://www.eecs.harvard.edu/cs286r/courses/fall12/papers/OPRS10.pdf [rikiddo]: https://blog.zeitgeist.pm/introducing-zeitgeists-rikiddo-scoring-rule/ -[zg-beta]: https://blog.zeitgeist.pm/zeitgeist-beta/ +[battery-station]: https://blog.zeitgeist.pm/zeitgeist-beta/ [zg-docker-hub]: https://hub.docker.com/r/zeitgeistpm/zeitgeist-node