Hey all, I’m pleased to share that the Thunderhead and Poktfund teams have aligned with the Core Dev Team on the appropriate process to follow for an external contribution to the Pocket Core client.
For context, we just launched a more robust process for external contributors working on v0 client enhancements to collaborate with the Core Dev Team. All external contributors are expected to follow this process, whether they’re contributing a code refactor, stake-weighted selection algorithm, or a light client.
Due to the special circumstances of their proposed contribution to the client – it is expected to reduce costs during a period in which many node runners are at breakeven or making a loss – we will be following a modified version of the standard contribution process. In particular, the contributions will be kept in a private repo that only the Core Dev Team and external contributors will have access to, it will be tested privately, and then open-sourced only if/when the client is confirmed to be ready for mainnet adoption. If another contributor were to come along with an alternate light client, we would take the same approach with them.
The next steps for getting the contributions ready for release are as follows (^ marks steps that the Core Dev Team are supporting with, as they would with other external contributors):
- Share the private repo with all Pocket Core Dev Team members (
done last night) - Integrate the validator components from the Core Dev Team’s feather prototype with the LeanPocket prototype^
- Submit the LeanPocket design spec as a “proposal issue” to the pocket-core repo, as expected from all external contributions (in progress here)^
- Get to code-complete status^
- Define feature-specific scenarios that need to be added to the provided QA suite^
- Run QA/testing and submit a report with results of tests
- Provide necessary documentation for the community and future client developers to understand the feature
- Define deployment plan^
- Private Testnet Beta rollout (to a sample of nodes approved by the Core Dev Team)^
- Private Mainnet Beta rollout (to a sample of nodes approved by the Core Dev Team)^
- If deemed by Core Dev Team to be safe for wider release, open-source client and PR to pocket-core repo to be merged with the official client
- Public Mainnet RC rollout^
The external contributors will be communicating with the Core Dev Team inside the new #pocket-core-contributors channel and in weekly Core Contributors Office Hours. You are all welcome to follow the progress of this work in those channels.
If there are any other external contributors who wish to contribute to the v0 Pocket Core client, and gain access to these channels, please see the guidelines linked above.