28b22f6b22
* upgrade axum to 0.8.9 (and side deps) Bumps axum 0.7.5 → 0.8.9, axum-extra 0.9.4 → 0.12.6, axum-client-ip 0.6.1 → 1.3.1, axum-test 16.2.0 → 20.0.0, utoipa-swagger-ui 8.1 → 9.0.2. * warn upon using fallback ip Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: replace use of deprecated try_next() * update console-subscriber to ensure single version of axum in the lock file * removed unused axum-test dev-dep --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Node Status API
This is a standalone service that can be run by anyone to monitor the status of nodes in the Nym network.
Wellknown instances
Below is a list of wellknown public instances:
- https://node-status.nym.com (Nym Technologies SA)
Quick Start with PostgreSQL
1. Install Prerequisites
# Install sqlx-cli if not already installed
make sqlx-cli
2. Prepare PostgreSQL for Development
# This will:
# - Start PostgreSQL in Docker
# - Run migrations
# - Generate SQLx offline query cache
# - Stop the database
make prepare-pg
3. Build with PostgreSQL
# Build with PostgreSQL feature
make build-pg
# Or manually:
cargo build
4. Run with PostgreSQL
# Start PostgreSQL for development (keeps running)
make dev-db
# In another terminal, run the application
DATABASE_URL=postgres://testuser:testpass@localhost:5433/nym_node_status_api_test \
cargo run
Makefile Targets
make help # Show all available targets
make prepare # Setup PostgreSQL and prepare SQLx cache
make dev-db # Start PostgreSQL for development
make test-db # Run tests with PostgreSQL
make build # Build with PostgreSQL
make psql # Connect to running PostgreSQL
make clean # Clean build artifacts
make clean-db # Stop database and clean volumes
Environment Variables
See .env.example for all configuration options. Key variable:
# For PostgreSQL:
DATABASE_URL=postgres://testuser:testpass@localhost:5433/nym_node_status_api_test
Troubleshooting
SQLx Offline Mode
If you see "no cached data for this query" errors:
- Ensure PostgreSQL is running:
make dev-db - Run:
make test-db-prepare
Connection Refused
If you see "Connection refused" errors:
- Check Docker is running:
docker ps - Check PostgreSQL container:
docker ps | grep nym_node_status_api_postgres_test - Restart database:
make test-db-down && make dev-db