How to Contribute to the Kin Rewards Engine

A step-by-step guide on how to submit your ideas for the Kin Rewards Engine

Kevin R Ricoy
Kin Blog
7 min readDec 12, 2019

--

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:

  1. 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
  2. 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)

Arrows point to the living KRE and spend guidelines (current-KRE.md and current-valid-spend-guidelines.md)

Along with an introduction page you can always find the current KRE payout algorithms & spend guidelines here (pictured above).

B. Issues (Discussions & Contributions) (link)

Click “Issues” to view open discussions, suggested edits, and contributions to ongoing proposals.
Highlighted are open “issues”.

“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)

Past proposals are archived in the folder titled “accepted”.

This folder contains a historical archive of all individual accepted KRE proposals.

D. Improvement Proposals (link)

Improvement proposals being reviewed and debated for implementation are in the “improvement-proposals” folder.

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.

Click on HowtoContribute.md to 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:

  1. 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:
“Issues”

First, click on issues (pictured above).

“New Issue”

Then, click the green “New Issue” button (pictured above).

Creating an Issue. Make sure to include a tag if appropriate.

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:

Comment on open issues to participate in the discussion.

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

  1. 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.
“Raw” will show you the source code / text of the file

Clicking “Raw” will allow you to access the source text, complete with formatting markdown. It should look something like this:

“Raw” improvement proposal template

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:

Creating a fork creates your own clone of an existing GitHub repo

B. Create a new file in your rewards-engine/improvement-proposals folder.

“Create New File” will allow you to make an addition inside your fork of the repo

C. Using the improvement proposal template, create an improvement proposal of your own.

Improvement Proposal Title (arrow) and Text Input (highlighted green)

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:

“Commit” function can be found at the bottom of the page when creating a new file

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:

“Pull Request” allows you to begin the pull request or “PR” process

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.

Create pull request

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

--

--