Enable PDP
This section enables Proof of Data Possession (PDP) for a Storage Provider node using Curio. These steps guide you through running a standalone PDP service using Curio and pdptool.
Last updated
Was this helpful?
This section enables Proof of Data Possession (PDP) for a Storage Provider node using Curio. These steps guide you through running a standalone PDP service using Curio and pdptool.
Last updated
Was this helpful?
With Curio running with the GUI layer:
Run the following commands in your Curio CLI to attach storage paths:
Browse to the Configurations page of the Curio GUI.
Create a new layer named pdp. Enable and set to true
the following under Subsystems:
✅ EnableParkPiece
✅ EnablePDP
✅ EnableCommP
✅ EnableMoveStorage
In the HTTP section:
✅ Enable: true
🌐 DomainName: your domain (e.g., pdp.mydomain.com)
📡 ListenAddress: 0.0.0.0:443
Build the pdptool:
Generate a service secret:
Browse to the PDP page of the Curio GUI and in the Services section:
Select Add PDP Service
Input a Service Name of your choice (e.g. pdp-service
)
Copy the previously generated public key into the Public Key field.
Select Add Service
Create a new delegated wallet:
Export & convert your new delegated wallet address private key:
Browse to the PDP page of the Curio GUI and in the Owner Address section:
Select Import Key
Copy the previously generated private wallet key into the Private Key (Hex) field.
Select Import Key
Your 0x wallet address - the delegated Ethereum address derived from your Filecoin Metamask private key - will be added to the Owner Address section of the Curio PDP page.
Make sure to send a small amount of FIL to your 0x wallet - we recommend 5 FIL to ensure uninterrupted PDP operation during initial setup and testing.
Important: Secure your private key material. Don’t expose or store it in plain text without protection.
Restart Curio with both layers:
If you encounter errors binding to port 443 when starting Curio with the pdp configuration layer, run:
Test the PDP service:
Use the service name specified in the Service Name field when you added your public PDP Service key - e.g. pdp-service
Expected output:
You’ve successfully launched a PDP-enabled Filecoin Storage Provider stack. Your system is now:
✅ Syncing with the Filecoin network via Lotus
✅ Recording deal and sector metadata in YugabyteDB
✅ Operating Curio to manage sealing and coordination
✅ Submitting Proof of Data Possession to verify storage integrity
🧭 Monitor logs and metrics
🚙 Take PDP for a test drive with the guide
💬 Join the community - Filecoin Slack -