Data model and UI for exploring the PDP hot storage network
Detailed documentation is available in the following file:
- Documentation - System architecture, database schema, and development guide
This is a first draft at what the PDP explorer will look like 
The mockup file is created using Excalidraw. You can find it here.
A few user journeys: As a user storing data with PDP I can use the explorer to:
- Check if my SP has had any faults. And I can check which data in particular was faulted
- Validate that all of the data added to my proofset is data that I asked to store, not anything else
- Look at fault rate of SPs in the network when deciding who to store my data with
- Learn about data that has been removed from my proofset
This project uses subgraph technology and the Goldsky platform for data indexing and monitoring.
Network configurations are managed in subgraph/config/network.json. This file contains network-specific settings including:
- Network name (e.g.,
filecoin,filecoin-testnet) - PDPVerifier contract address
- Start block number
- Max proving period
- Challenge window size
The build system uses mustache templates to automatically generate:
subgraph.yamlfromtemplates/subgraph.template.yamlsrc/generated/constants.tsfromtemplates/constants.template.ts
Log in to goldsky:
cd subgraph
goldsky login
# API key: enter your Goldsky API key
xxxxxxxxxxxx# Build for mainnet (generates constants and YAML from config/network.json)
npm run build:mainnet
# Deploy to Goldsky
goldsky subgraph deploy <product-name>/mainnet_<version> --path ./# Build for calibration (generates constants and YAML from config/network.json)
npm run build:calibration
# Deploy to Goldsky
goldsky subgraph deploy <product-name>/calibration_<version> --path ./Wait until mainnet_<version> and calibration_<version> finish syncing.
- Configure environment variables
cd subgraph-client
# Parameters
# VITE_GOLDSKY_PROJECT_ID: see Goldsky documentation
# VITE_GOLDSKY_PROJECT_NAME: product-name
# VITE_GOLDSKY_MAINNET_SUBGRAPH_VERSION: mainnet_<version>
# VITE_GOLDSKY_CALIBRATION_SUBGRAPH_VERSION: calibration_<version>
cp .env.example .env
# Local test
yarn dev
# Build
yarn build