Skip to content

MinervaGov/minerva_main

Repository files navigation

Agentic DAO Voting System

Static Badge Static Badge Static Badge Made-With-ETHERS Made-With-Javascript Made-With-NodeJS Made-With-Express Static Badge

Minerva is an Agentic DAO voting system to automatically cast votes in DAO governance proposals based on an user's character profile.

🚀 Getting Started

Prerequisites:

node >= 22 🟢
pnpm >= 9.14.1 📦

🤖 Gaianet node

First we need to start a gaia node for inference.

Requirements

  • CUDA enabled GPU (Make sure CUDA toolkit is installed)
  • Minimum 16GB VRAM, Recommended 24GB (for our config)
  • 12 GB of storage for models only

Steps to run

  1. Install node
curl -sSfL 'https://github.com/MinervaGov/minerva_main/raw/refs/heads/main/gaia/install.sh' | bash

This will create a gaianet folder in your $HOME directory

  1. Follow on screen instruction at the end to finalize installation.
cd $HOME/gaianet
  1. Download knowledge base
wget https://chibi.palbro.tech/api/file/64713428-0580-45c6-817f-5543a455a5cb/download -O comb.tar.gz
  1. Edit the config.json file with this

  2. Initialize node

gaianet init
  1. Start the node
gaianet start

The gaianet domain link in the output will be the gaianet api url.

⚙️ Backend

Pre-requisite

Make sure you have a redis-stack-server running on port 6379 before running the server. Redis instructions here

Steps

  1. Clone the repository
git clone https://github.com/MinervaGov/minerva_main.git
cd minerva_main
  1. Open the backend directory
cd server
  1. Install dependencies
pnpm install
  1. Copy .env.example file to .env and fill in the required details
cp .env.example .env

All the necessary details regarding services used are in the env file

  1. Sync database functions and schema with Convex Cloud
npx convex dev
  1. Start the server
pnpm run start

🎨 Frontend

  1. Open the frontend directory
cd client
  1. Install the dependencies
pnpm install
  1. Copy the .env.example file to .env.local and fill in the details
cp .env.example .env.local
  1. Start the development server
pnpm run dev

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.