"Is the inevitable any less miraculous?" - Veldka, wandering sage
FutureSight is a minimal terminal dashboard for interacting with and observing the Signet network.
FutureSight currently displays the following data:
- Connection Status: Current RPC connection state and last update time
- Chain Halt Detection: Alerts if a new block hasn't been detected within the configured threshold
- Recent Blocks: Rolling history of the latest blocks with tx count & gas utilization
- Block Height: Displays the latest block number from the network
- Gas Price: Current gas price displayed in gwei and wei
- Alerts: Stale connection and block delay warnings
- Tx Pool (optional): If a tx-pool-webservice is configured, shows health and cache sizes for Transactions, Bundles, and Signed Orders
Pre-requisites: make and rust tooling
Clone the repository and build with Cargo:
git clone https://github.com/dylanlott/futuresight
cd futuresight
cargo build --release && cargo runtl;dr make run starts the dashboard for the Parmigiana test net.
# equivalent to make run
cargo run -- http://rpc.parmigiana.signet.sh 30
# with tx-pool-webservice metrics (fetches JSON from /transactions, /bundles, /orders)
TXPOOL_URL=http://localhost:8080 cargo run
# or
cargo run -- --txpool-url http://localhost:8080Common shortcuts:
make build # debug build
make release # optimized build
make run # run FutureSight (targets Parmigiana test network by default)
make fmt # run cargo fmt
make lint # run clippy
make test # run tests- q or Esc: Quit the application
You can configure FutureSight via CLI flags or environment variables.
- RPC URL
- Positional arg:
cargo run -- <RPC_URL> - Env:
RPC_URL=http://... - Default:
http://rpc.parmigiana.signet.sh
- Positional arg:
- Block delay alert threshold (seconds)
- Positional arg:
cargo run -- <RPC_URL> <BLOCK_DELAY_SECS> - Flag/env:
--block-delay-secs <N>orBLOCK_DELAY_SECS=<N> - Default:
60
- Positional arg:
- Refresh interval (seconds)
- Flag/env:
-r, --refresh-interval <N>orREFRESH_INTERVAL=<N> - Default:
5
- Flag/env:
- Max block history (entries kept/displayed)
- Flag/env:
--max-block-history <N>orMAX_BLOCK_HISTORY=<N> - Default:
20
- Flag/env:
- Tx-pool-webservice integration
- Flag/env:
--txpool-url <URL>orTXPOOL_URL=<URL> - FutureSight requests JSON from
<URL>/transactions,<URL>/bundles, and<URL>/signed-ordersand computes counts from the returned items. - The dashboard shows: health, last update, and item counts for Transactions, Bundles, and Signed Orders.
- Flag/env:
Notes:
- The endpoints should return arrays or an object containing an array property (e.g.,
items,data,transactions,bundles,signedOrders,signed_orders). FutureSight counts the items accordingly.
This project is open source and available under the MIT License.
