This repo is the frontend interface for SandWorm, a multi-chain blockchain data explorer and query IDE. We currently support Sui, Base, Ethereum, and other EVM-compatible networks and actively expanding to additional ecosystems beyond EVM. This repository contains the web-based UI, including the landing page, public gists, and the integrated IDE for querying blockchain data with SandWorm's SQL-like query language (WQL).
Copy the example .env file and configure it with the necessary values:
cp .env.example .env.localapps/graphql-api: Graphql backend Apiapps/web: Web frontend application
packages/api: Common library for APIspackages/postgresql-typeorm: TypeORM configuration and utilities for PostgreSQLpackages/nest-common: Common modules and services for NestJSpackages/ui: UI components librarypackages/eslint-config: ESLint configurationpackages/typescript-config: TypeScript configuration
- Node.js >= 18.x
- pnpm >= 8.x
- Docker (optional, for development environment)
# Clone repository
git clone https://github.com/sand-worm-labs/sandworm-web.git
# Install dependencies
pnpm install
# Create environment files
cp apps/graphql_api/.env.example apps/graphql_api/.env
cp apps/graphql_api/.env.example apps/graphql_api/.env# Run all applications in development mode
pnpm dev
# Run a specific application
pnpm dev --filter=graphql_api
pnpm dev --filter=web# Build all applications and packages
pnpm build
# Build a specific application
pnpm build --filter=graphql_api# Run all tests
pnpm test
# Run tests for a specific application
pnpm test --filter=graphql_apiEach application can be deployed independently. See the README of each application for detailed deployment instructions.
- Create a new branch from
develop - Make changes
- Create pull request
- Wait for review and merge
To contribute:
- Read our Contributing Guidelines.
- Check the Developer Notes (
DEVELOPER_NOTE.md) for pending features. - Follow the project structure and coding guidelines.
To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Commit your changes (
git commit -m "Added new feature"). - Push to the branch (
git push origin feature-branch). - Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
If you encounter any issues or have questions, please create an issue on GitHub.