How to Contribute to the Kin Rewards Engine
A step-by-step guide on how to submit your ideas for the Kin Rewards Engine
The Kin Foundation has opened up the Kin Rewards Engine improvement process for public participation. That means (i) anyone can contribute to the KRE’s development, and (ii) the payout calculation and iteration process is now fully transparent for all to see. But how exactly does one contribute their ideas to the evolution of the KRE? Here’s a step-by-step guide:
Getting Started
If it is your first time contributing to the KRE, you may have to complete any number of the following steps, depending on your prior engagement with GitHub and Kin’s rewards-engine repository:
- Make a GitHub account.
In order to participate, you will need a GitHub account. This step is self-explanatory. Use this link to sign up: Sign Up for GitHub - Explore the KRE repository.
Before submitting new ideas, it might be a good idea to see what the current KRE looks like, and what people are already suggesting. To do this, explore the following sections:
A. Current KRE & Spend Guidelines (link)
Along with an introduction page you can always find the current KRE payout algorithms & spend guidelines here (pictured above).
B. Issues (Discussions & Contributions) (link)
“Issues” are open threads created by contributors in which any topic pertaining to that repository (or file directory) can be discussed. In this case, all issues are questions, discussions, and suggested edits pertaining to the Kin Rewards Engine and ongoing improvements. Once a discussion has been resolved, it is closed. To learn more about how to create an issue and participate in ongoing improvement discussions, check out the “How to Participate in Ongoing Improvements” section of this guide.
C. Accepted Proposals (link)
This folder contains a historical archive of all individual accepted KRE proposals.
D. Improvement Proposals (link)
This folder contains improvement proposals that have been picked up for implementation review and debate within the community. All feedback for specific ongoing improvement proposals should be submitted as an issue (see How to Participate in Ongoing Improvements).
3. Review the “How to Contribute” document.
This document will get you up and running in no time if you are familiar with GitHub. It is recommended that you review this document before submitting any contributions.
How to Participate in Ongoing Improvements
If you are submitting an edit or addition to a current improvement proposal, you should complete the following steps:
- Create an Issue (tag title if appropriate).
In order to submit a suggestion or start a discussion about something you believed should be included in the next improvement update, create an issue. Here’s how you do that:
First, click on issues (pictured above).
Then, click the green “New Issue” button (pictured above).
Creating an issue will open a new thread which everyone will be able to comment in. Include a tag in the title if your issue is in reference to an existing improvement proposal (e.g. Issue XYZ [KRE-v1.1]) so that everyone knows what you are discussing. Likewise, if you are discussing any outside source, it is good practice to at least include a link so that everyone can easily reference the source material in question.
2. Comment on an existing Issue.
If you would like to participate in an ongoing discussion, comment on that issue, by leaving a comment:
3. General Rules
Discussion not adhering to the following rules will be closed.
- Discussion on this repo must relate to the improvement of the Kin Rewards Engine.
- Keep discussion civil.
- When appropriate, you can also comment on specific line changes (see additional resources for guide).
How to Submit an Improvement Proposal
- Review the improvement proposal template. (link)
If you would like to submit your own improvement proposals for specific modifications of the KRE algorithms and spend guidelines, you should first review the Improvement Proposal template. While this format is not required, it is an easy-to-use guide that can save a contributor a lot of time.
Clicking “Raw” will allow you to access the source text, complete with formatting markdown. It should look something like this:
This is useful for copy and pasting in order to create your own proposal. For more information on GitHub markdown, please see the Additional Resources section of this guide.
2. Create and submit an improvement proposal for consideration.
A. Create a fork.
Fork the rewards-engine repo so that you can make changes in your own repository. If successful, you should see a screen like this:
B. Create a new file in your rewards-engine/improvement-proposals folder.
C. Using the improvement proposal template, create an improvement proposal of your own.
If you copy and pasted the raw improvement proposal template into the text input (see previous step), it should look something like the above (highlighted green). Make sure to title your improvement proposal properly (arrow, see versioning in the template), your file must end in .md in order for the markdown to apply. Customize the template as you see fit and use the “Preview” tab to see what your improvement proposal would look like with the markdown applied. For more information on GitHub markdown, please see the Additional Resources section of this guide.
When you are ready to create the file, or have finished making new edits, “commit” those changes to make them final in your repo:
Once you’ve committed, your improvement proposal should exist in your repo:
D. Submit a pull request.
Now that you’ve created an improvement proposal, it’s time to request for it to be pulled into the main rewards-engine repo:
After clicking “Pull Request”, you will be brought to a screen in which you can directly compare repositories (i.e. your changes). When you are ready to proceed, click the green “Create pull request” button.
Make sure to only open pull requests on finalized improvement proposals, because once you open them other people will be notified! Now that you’ve submitted an improvement proposal, you can wait for the Kin Foundation to pick it up. For more information on the improvement process please visit the Improvement Process section of this guide.
Additional Resources
GitHub Tutorial:
https://guides.github.com/activities/hello-world/
GitHub Markdown Guide:
https://guides.github.com/features/mastering-markdown/
Improvement Process
Kin Foundation representation scans the rewards-engine repo daily. Valid issues and improvement proposals are raised. The Directors of the Board also have access to the repo, and browse at will. When an improvement proposal has been picked up for consideration, it will be announced, along with a window of time during which the community can comment, debate, and suggest edits to the improvement proposal. By that date, the Kin Foundation will deliberate and make a decision on the implementation of that proposal. Please note that the iteration process for the KRE is one that is always evolving.
— —
To stay up to date with the latest developments in the Kin Ecosystem, follow us on Twitter: https://twitter.com/Kin_Ecosystem
— —
Kevin Ricoy
Comms @ Kin Foundation
https://www.kin.org
— —
Credits:
Icon made by freepik @ www.flaticon.com