This project contains the implementation of the PDP service contract, auxiliary contracts, and development tools for the Provable Data Possession protocol.
The PDP service contract and the PDP verifier contracts are deployed on Filecoin Mainnet and Calibration Testnet.
Disclaimer:
⚠️ These contracts are still under beta testing and might be upgraded for bug fixes and/or improvements. Please use with caution for production environments.⚠️
Mainnet
- PDP Verifier: 0x9C65E8E57C98cCc040A3d825556832EA1e9f4Df6
- PDP Service: 0x805370387fA5Bd8053FD8f7B2da4055B9a4f8019
Calibration Testnet
- PDP Verifier: 0x5A23b7df87f59A291C26A2A1d684AD03Ce9B68DC
- PDP Service: 0x6170dE2b09b404776197485F3dc6c968Ef948505 Note this has proving period every 30 minutes instead of every day
Depends on Foundry and npm for development.
make build
make test
To deploy on calibrationnet, run:
make deploy-calibrationnet
For comprehensive design details, see DESIGN.md
The PDP contracts have undergone the following security audits:
Contributions are welcome! Please follow these contribution guidelines:
Follow the existing code style and patterns. Write clear, descriptive commit messages and include relevant tests for new features or bug fixes. Keep changes focused and well-encapsulated, and document any new functionality.
Use descriptive PR titles that summarize the change. Include a clear description of the changes and their purpose, reference any related issues, and ensure all tests pass and code is properly linted.
If you need assistance, feel free to open a issue or reach out to the maintainers of the contract in the #fil-pdp channel on Filecoin Slack.
Dual-licensed under MIT + Apache 2.0