stones/README.md

57 lines
2.1 KiB
Markdown

# 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