Skip to main content

Interchain Bounties Tutorial

This guide provides detailed information on how to use Interchain Bounties, including instructions on how to create and assign bounties


Create a Bounty

tip

To deposit/withdraw IBC tokens on Gitopia devnet, please refer this guide

Step 1: Navigate to Repository Issues

To create an issue for a repository, first navigate to the main page of the repository and click on Issues under your repository name.


Step 2: Create a New Issue

On the resulting page, click on New Issue to create a new issue for the repository.


Step 3: Fill in the Details

Fill in the Title and Description for your issue.


Step 4: Add Bounty

  1. Click on ADD BOUNTY. This will take you to the bounty creation dialog box.


  1. Now, select the token you want to use and enter the amount. When done click on ADD TOKEN TO BOUNTY. You can add multiple tokens if you want.


  1. Next, select an Expiry date for the bounty and when done, click on ADD to add the bounty to the issue.


Step 5: Create Issue

A bounty has been added to your newly created issue. If you're a project maintainer, you can assign the issue to someone, or apply a label. When you're finished, click Create Issue.

caution

In order for the bounty to be released to the contributor automatically, certain prerequisites must be met:

  • The issue must be assigned to the contributor.
  • The contributor's pull request must be linked to the issue before it is merged.


The newly created issue with the bounty is shown below.



Assign the bounty to an existing issue

To assign a Gitopia Bounty to an issue, follow these steps:

Step 1: Navigate to Repository Issues

To create an issue for a repository, first navigate to the main page of the repository and click on Issues under your repository name.


Step 2: Select the Issue

Find the issue that you want to assign the bounty to and click on its title.


Step 3: Navigate to Bounties tab

Click on the Bounty tab as shown below.


Step 4: Add Bounty

  1. On the resulting page, you can manage existing bounties or add new ones.


  1. To add a new bounty, click on NEW BOUNTY. This will take you to the bounty creation dialog box.


  1. Now, select the token you want to use and enter the amount. When done click on ADD TOKEN TO BOUNTY.


  1. Next, select an Expiry date for the bounty and when done, click on ADD to add the bounty to the issue.


  1. The new bounty has been successfully added to the issue.


  1. The new issue page is shown below.


Manage existing bounties

To manage existing Gitopia Bounties, follow these steps:

Step 1: Navigate to Repository Issues

To create an issue for a repository, first navigate to the main page of the repository and click on Issues under your repository name.


Step 2: Select the Issue

Find the issue that the bounty is assigned to and click on its title.


Step 3: Navigate to Bounties tab

Click on the Bounty tab.


Step 4: Edit the Bounty

Here, you'll be able to view, add new bounties, extend expiry or close the bounty as needed.

danger

You cannot close the bounty if at least one PR is linked to the issue. You would need to unlink that PR first before closing the bounty. The same is valid for closing an issue with a bounty attached.



How Interchain Bounties Works

Step 1: Add Bounty to an Issue

The project maintainer or a user creates an issue with a bounty or adds a bounty to an existing issue.


Step 2: Attract Contributors

Once an issue with a bounty has been created, contributors can start showing interest in solving the issue by commenting on the issue.


Step 3: Assign Issue

The project maintainer assigns the issue to a chosen contributor.

caution

This step is crucial, as the bounty will be released to the contributor upon successful PR merge only if the issue has been assigned to him.


Step 4: Create Pull Request

The contributor forks the repository, solves the issue, and creates a Pull Request.


The contributor links the Pull Request with the issue being solved, which helps track the progress of the issue and ensure that the bounty is correctly awarded.


The below image shows issue page with a linked Pull Request:


Step 6: Verify Pull Request

The project maintainer verifies the Pull Request and ensures that it is linked to the correct issue.


Step 7: Merge Pull Request

The project maintainer merges the Pull Request into the main branch of the repository.


Step 8: Bounty is Released

The bounty is automatically released to the contributor upon successful merge of the Pull Request.