# Stones Database A database application for collecting Ethereum addresses and contact information for the Farcastle $Stones token launch. ## Project Overview This application provides: - A database to store Ethereum addresses, ENS names, and contact information - Data collection scripts to gather information from various sources (NFT holders, ERC20 holders, Moloch DAO members) - A web interface for accessing and managing the database at stones.boilerhaus.org ## Tech Stack - **Backend**: Node.js with Express - **Frontend**: Next.js with App Router, React, Shadcn UI, and Tailwind CSS - **Database**: PostgreSQL - **Data Collection**: Python scripts for blockchain data scraping - **Deployment**: Docker for containerization ## Project Structure ``` / ├── src/ # Source code │ ├── app/ # Next.js app router pages │ ├── components/ # React components │ ├── lib/ # Shared utilities │ └── server/ # Server-side code ├── scripts/ # Python scripts for data collection │ ├── nft_holders/ # Scripts to collect NFT holder data │ ├── erc20_holders/ # Scripts to collect ERC20 token holder data │ ├── moloch_dao/ # Scripts to collect Moloch DAO member data │ └── utils/ # Shared utilities for scripts ├── prisma/ # Database schema and migrations ├── public/ # Static assets └── docker/ # Docker configuration ``` ## Getting Started 1. Clone the repository 2. Install dependencies: `npm install` 3. Set up environment variables 4. Run the development server: `npm run dev` 5. Access the application at http://localhost:3000 ## Data Collection The application includes various Python scripts to collect data from: - NFT holders - ERC20 token holders - Moloch DAO members (Raid Guild, DAOhaus, Metacartel) - ENS resolution for contact information ## Deployment The application is deployed at stones.boilerhaus.org