A Polkadot Smart Contract Proposal (PSP) describes standards for smart contracts in the Polkadot ecosystem. The Polkadot Smart Contract Proposal GitHub is a community-based initiative. The PSP process is not supposed to be a substitute for the Polkadot Governance process or the RFCs process.
Disclaimer: The Polkadot Standards Proposals have been renamed to Polkadot Smart Contract Proposals (PSPs). Everything else should be discussed as part of the RFCs process.
Below is the workflow of a successful PSPs:
1. Draft -> 2. Call for Feedback -> 3. Published -> 4. Integrated
- Draft: A valid draft, which is merged into the draft subfolder and actively improved together with the community.
- Call for Feedback: The PSP will be shared on different public channels for additional feedback for at least two weeks. The result of this step is either an acceptance of the standard (->Published) or a rejection (->Draft).
- Published: Any further changes are unlikely, and developers can start integrating the PSP.
- Integrated: The PSP is actively used, and a reference implementation exists.
In order to be merged or accepted for the different stages, reviewers need to approve a PR. Reviewers should be known experts in the topic covered by the PSP.
Before you start writing a formal PSP, you should discuss an idea in the various community public channels (see the Polkadot community website). A PSP should provide the motivation as well as a technical specification for the feature.
- Fork this repository.
- In the newly created fork, create a copy of the template.
- Fill out the template with the details of your PSP. If your PSP requires images, the images should be integrated into a subdirectory of the src folder, which has your PSP number as the name.
- Once you have completed the application, click on "create new pull request".
- Rename the file with "psp-number_of_your_pr.md".
- Update the pull request.