solana-bankingstage-dashboard/README.md

3.0 KiB

Solana Banking Stage Inspection Dashboard

Status

Production - contact us for Link

Screenshots

List of Transaction errors

Transaction Errors

Transaction details with heavily write-locked accounts

Transaction Details

List of Blocks with fill rate / errors / total tx

Recent Blocks

Block details

Block Details

Block details with heavily write-locked accounts

Block Details Heavy Locked Accounts

Search for a Block/Transaction by Slot Number/Signature

Search Block

Recent Blocks - stop refreshing

The auto-refresh can be stopped by appending parameter to_slot to the URL: /recent-blocks?to_slot=232135000

Tx Errors List - show more rows

The number of rows requested from Database can be changed by appending parameter limit to the URL: /tx-errors?limit=300. A value for limit restricted to 1-10000. Default is 50.

Local Development

Caution: Port 5000 cannot be used on MacOS.

# Unix/macOS
python3 -m venv .venv
source .venv/bin/activate
SOLANA_CLUSTER=testnet POOLED_DB_MAX_SIZE=4 PGDATABASE=da11copy PGUSER=query_user PGPASSWORD=secret TEMPLATES_AUTO_RELOAD=True flask run --port 5050 --debug --reload

Use this to test with gunicorn:

  • CAUTION: did not figure out how to enable template reloading
SOLANA_CLUSTER=testnet POOLED_DB_MAX_SIZE=4 PGDATABASE=da11copy PGPORT=5432 PGUSER=query_user PGPASSWORD=secret gunicorn app:webapp --workers 1 --threads 30 --bind :5050 --reload

Open Firefox Browser and navigate to ...

Deployment

Limits

Description System Variable Config
Max number of PostgreSQL connections Application POOLED_DB_MAX_SIZE fly.toml
Limit of HTTP Requests fly.io soft_limit fly.toml
Hard Limit of HTTP Requests fly.io hard_limit fly.toml
Python HTTP Server gunicorn --workers, --threads Dockerfile

Data Model

Source:

  • transaction_infos: transaction in blocks
  • transaction_slot: transaction from banking stage plugin; reflecting errors

Conventions:

Table Name Alias
transaction_slot tx_slot
accounts_map_blocks amb
transaction_infos txi
blocks blocks
accounts_map_transaction amt
transaction_slot tx_slot