/reti

Contracts, Node Daemon, and UI for Algorand 'The Reti' consensus incentives

Primary LanguageTypeScriptMIT LicenseMIT

Réti Open Pooling

Welcome to the Réti Open Pooling monorepo. This README provides instructions for running the protocol and its accompanying example UI in a local environment. Detailed protocol information and its objectives can be found in the Gitbook documentation.

Overview

The Réti Open Pooling protocol enables the creation of decentralized staking pools on the Algorand network, promoting broader participation and enhancing network security through diversification. It is designed to be open-source, non-custodial, and fully decentralized, allowing for the creation and joining of staking pools to meet the minimum stake required for node rewards on Algorand.

Prerequisites

Before starting, ensure you have the following installed:

Quick Start

This section provides instructions for running the protocol and UI in a local AlgoKit sandbox environment.

  • Clone the repository

     git clone https://github.com/TxnLab/reti.git
  • Navigate to the reti directory

     cd reti
  • Install dependencies

     pnpm install
  • Start the local network

     algokit localnet start
  • Bootstrap the validator

    This command bootstraps a new master validator and funds two new test accounts. It also sets environment variables for LocalNet that will be used by the front-end.

     pnpm run bootstrap
  • Launch the UI

     pnpm run dev

TestNet Development

  • Navigate to the ui directory

     cd ui
  • Create a .env.testnet file

    Copy the TestNet variables from the .env.template file into a new .env.testnet file. Check back often to make sure you're using the latest master validator app ID, set to VITE_RETI_APP_ID.

  • Launch the UI

     pnpm run dev:testnet

Additional Resources

  • TEALScript Contracts: Explore the smart contracts that power the protocol. Read more
  • Node Daemon: Learn about the CLI / service daemon which node runners will run as a background service. Read more
  • Example UI: A Vite React project that serves as a dashboard for staking and validator management. Read more

Discord

For questions or technical support, you can reach us in the #reti channel on NFD's Discord: https://discord.gg/w6vSwG5bFK