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 in beta testing and might be upgraded for bug fixes and/or improvements. Please use with caution for production environments.⚠️
Mainnet:
- PDPVerifier Implementation: 0xe2Dc211BffcA499761570E04e8143Be2BA66095f
- PDPVerifier Proxy: 0xBADd0B92C1c71d02E7d520f64c0876538fa2557F
Calibnet:
- PDPVerifier Implementation: 0x2355Cb19BA1eFF51673562E1a5fc5eE292AF9D42
- PDPVerifier Proxy: 0x85e366Cf9DD2c0aE37E963d9556F5f4718d6417C
Depends on Foundry for development.
make build
make test
To deploy on devnet, run:
make deploy-devnet
To deploy on calibrationnet, run:
make deploy-calibnet
To deploy on mainnet, run:
make deploy-mainnet
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