Indorse Claim Validation - Beta roll out
What is a claim
A claim in the Indorse platform, is a skill that a user claims to have. Indorse users can visit the My Claims page and add a new claim. The user is expected to give
- a title for the claim
- a brief description and
- A link to an online proof for their claim
For eg, computer programmers can give link to their github profile / codebase as a proof of their claim for a specific language
Beta roll out
As part of our beta roll out, we are inviting computer programmers / developers to get their skills validated on our platform. In our beta roll out, we are restricting claims to top 5 programming languages which include -
- Javascript
- Java
- C++
- Python
- C#
For the beta roll out, validators will review the claims and ascertain if the code is syntactically correct and produces the expected output
Listed below are examples of typical claims in these 5 programming languages
Javascript - sample claim
Claim Title : Javascript basics
Claim Description : I claim to have skill to write basic javascript programs and solve problems using javascript programming language. This claim is supported by my program to solve the Fizz Buzz problem statement
Claim Proof : (posted as a link to a github or other publicly listed code repo of the developer)
Github repo ownership proof: Please add your Indorse profile link as a comment on the first line in your Github repo
FizzBuzz problem statement :
Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz
JS code for the FizzBuzz problem statement :
for ( var count = 1; count <= 100; count++) {
var fizzBuzz = '';
if (count % 15 == 0) {
fizzBuzz = 'FizzBuzz';
}
else if (count % 3 == 0) {
fizzBuzz = 'Fizz';
}
else if (count % 5 == 0) {
fizzBuzz = 'Buzz';
}
print(fizzBuzz || count);
}
Expected Output
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
FizzBuzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fizz
Buzz
71
Fizz
73
74
FizzBuzz
76
77
Fizz
79
Buzz
Fizz
82
83
Fizz
Buzz
86
Fizz
88
89
FizzBuzz
91
92
Fizz
94
Buzz
Fizz
97
98
Fizz
Buzz
Java - sample claim
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
for (int i = 1; i <= 100; i++) {
if (i % 15 == 0) {
System.out.println("FizzBuzz");
} else if (i % 3 == 0) {
System.out.println("Fizz");
} else if (i % 5 == 0) {
System.out.println("Buzz");
} else {
System.out.println(String.valueOf(i));
}
}
}
}
Expected output: same as in JavaScript
C++ - sample claim
#include <iostream>
using namespace std;
int main(){
for(int i=1;i<=100;i++){
if(i%15==0)cout<<"FizzBuzz"<<endl;
else if(i%5==0)cout<<"Buzz"<<endl;
else if(i%15==0)cout<<"FizzBuzz"<<endl;
else cout<<i<<endl;
}
return 0;
}
Expected output: same as in JS
Python - sample claim
x = range(1, 101)
for y in x:
if y % 3 == 0 and y % 5 == 0:
print ("Fizz Buzz")
elif y % 5 == 0:
print ("Buzz")
elif y % 3 == 0:
print ("Fizz")
else:
print (y)
Expected output: same as in JS
C# - sample claim
using System;
public class Test
{
public static void Main()
{
for (int i = 1; i <= 100; i++)
{
bool fizz = i % 3 == 0;
bool buzz = i % 5 == 0;
if (fizz && buzz)
Console.WriteLine ("FizzBuzz");
else if (fizz)
Console.WriteLine ("Fizz");
else if (buzz)
Console.WriteLine ("Buzz");
else
Console.WriteLine (i);
}
}
}
Expected output: same as in JS
Validation Workflow
Step 1 - Developers who are invited to participate in the roll out will receive an email to post claims on the Indorse platform. The email will have the link where the developers can post claims on any of the 5 programming languages
Step 2 - The Indorse platform picks anonymous validators to validate claims posted by developers. Developers are not aware of the Identity of the validators and it is kept hidden.
Step 3 - Validators receive an email to register to validate a specific claim. There is a window of 24 hours for validators to register
Step 4 - At the end of registration period (24 hours), registered validators receive an email to validate the claim. This is the voting period and lasts another 24 hours
Step 5 - At the end of the voting period the platform using a consensus algorithm will decide if the claim has been Indorsed by the community of validators. In this beta roll out, we consider >50% of votes polled as positive validation of a claim
Step 6 - Developer who posted the claim receives an email letting them know of the result of the validation process and next steps
Claim Validation Criteria
The validators would review the codebase and determine if the code is syntactically correct and if it produces the expected output. It is advisable that the developer posting the claim can also list sample input and output part of the codebase listed in a public repo
Post Validation - Badge assignment
Once your claim is validated based on indorsement from anonymous validators, you would receive an email. Developers who have a validated claim will be assigned a badge on their public Indorse profile and would be listed in our platform
Rewards
Indorse will reward developers for participating in the beta roll out. Developers will get 10USD worth reward either in the form of a Starbucks e-gift card or Ethers per claim posted. Developers can get rewarded up to a maximum of 50 USD for posting one claim each in every programming language.
Queries / Support
If you have any questions at any stage, please feel free to reach out to us at help@indorse.io with an email subject : Indorse beta roll out. You can expect a response from us at the earliest