A powerful blockchain indexing platform built on Helius webhooks that enables developers to easily integrate and index Solana blockchain data into their PostgreSQL database.
- User authentication and database management
- Customizable data indexing options
- Real-time blockchain data indexing using Helius webhooks
- Support for multiple indexing categories:
- NFT bids and prices
- Token borrowing availability
- Token prices across platforms
- Next.js with TypeScript
- PostgreSQL with Prisma ORM
- Redis for caching and job queues
- Helius SDK for blockchain integration
- Docker for development environment
- Node.js 18+
- Docker and Docker Compose
- Helius API key
-
Clone the repository:
git clone <repository-url> cd blockchain-indexer
-
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env # Edit .env with your configuration -
Start the development environment:
docker-compose up -d
-
Run database migrations:
npx prisma migrate dev
-
Start the development server:
npm run dev
-
Visit http://localhost:3000 to access the application
npm run dev: Start development servernpm run build: Build production versionnpm run start: Start production servernpm run test: Run testsnpm run lint: Run linting
Before pushing to GitHub:
- Ensure your
.gitignorefile includes.envand other sensitive files - Check that no API keys or credentials are hardcoded in the source code
- Push your code to GitHub:
git add .
git commit -m "Initial commit"
git push origin main- Create an account on Vercel if you don't have one
- Install the Vercel CLI:
npm install -g vercel- Login to Vercel:
vercel login- Deploy to Vercel:
vercel-
Configure environment variables in the Vercel dashboard:
- Go to your project in the Vercel dashboard
- Navigate to "Settings" > "Environment Variables"
- Add all the variables from your
.env.examplefile with appropriate values
-
Set up a PostgreSQL database:
-
Set up Redis (optional):
- For production, consider using a managed Redis service like Upstash or Redis Labs
- Update the Redis environment variables accordingly
-
For continuous deployment:
- Connect your GitHub repository to Vercel
- Configure build settings in the Vercel dashboard
- Each push to your main branch will trigger a new deployment
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
MIT