BSP FAQs and Troubleshooting¶
What if my BSP registration failed?¶
Make sure to check the following:
- Account has sufficient balance (200+ HAVE)
- BCSV key is correctly inserted
- Capacity meets minimum (2 data units)
- Provider ID is correctly calculated
What if my BSP is not receiving files from the MSP?¶
Make sure to check the following:
- BSP is registered on-chain
--bsp-upload-file-taskflag is enabled- Storage capacity not exceeded
- Node is fully synced
- Network connectivity to MSPs
What if my BSP's proof submission is failing?¶
Make sure to check the following:
--bsp-submit-proof-taskflag is enabled- Node is fully synced
- Sufficient balance for transaction fees
- Files are correctly stored and accessible
- Check logs for specific errors
What if fee charging is not working?¶
Make sure to check the following:
--bsp-charge-fees-taskflag is enabled- Users have sufficient debt to charge
- Node is synced and connected
What if I change my mind about BSP registration before confirming?¶
You can cancel the registration by executing await polkadotApi.tx.Providers.cancel_sign_up().
Are storage proofs submitted automatically?¶
BSPs automatically submit proofs when --bsp-submit-proof-task is enabled.
What does the proof submission flow look like?¶
The proof submission flow is as follows:
- Challenge received: BSP receives storage proof challenge from ProofsDealer pallet.
- Proof generation: BSP generates Merkle proof for challenged data.
- Proof submission: BSP submits proof via
proofsDealer.submitProofextrinsic. - Verification: ProofsDealer pallet verifies proof on-chain.
- Reward/Penalty: BSP receives reward for valid proof or penalty for invalid/missing proof.
How can I monitor proof submissions?¶
Run the following command in terminal:
What are best practices I should keep in mind?¶
- Use production-grade storage (NVMe SSD recommended).
- Monitor storage capacity proactively.
- Enable all BSP tasks for full functionality.
- Keep node software updated.
- Implement monitoring and alerting for proof submissions.
- Set reasonable
bsp-submit-proof-max-attempts(3-5). - Document operational procedures.
- Monitor network connectivity to MSPs.
How do I perform a health check for my BSP?¶
Run the following commands:
# Check node health
curl -s -H "Content-Type: application/json" \
-d '{"id":1, "jsonrpc":"2.0", "method": "system_health"}' \
http://localhost:9946 | jq
# Check provider status
curl -s -H "Content-Type: application/json" \
-d '{"id":1, "jsonrpc":"2.0", "method": "storageprovider_getStatus"}' \
http://localhost:9946 | jq
How do I check BSP logs?¶
A collection of helpful Docker Compose commands you’ll use while developing or debugging your BSP node. Copy the specific command you need:
-
Run the container in the background:
-
Stop and remove the container:
-
Check status and logs while the container is running:
-
Continuously tail logs in terminal:
-
Continuously display logs in terminal and save them into a file:
-
Continuously stream and continuously save all logs into a file:
-
Filter logs for storage-related events:
-
Monitor storage proof submissions:
What are key metrics to monitor?¶
- Storage capacity usage
- Number of stored files
- Proof submission success rate
- File upload success rate from MSPs
- Fee collection status
- Bucket migration status
| Created: January 14, 2026