How the draw works
As the blockhash is just a number, its last 6 digits are converted to decimal using this function:
var decimal = parseInt(blockhash.slice(-6), 16);Now we have an integer (0 to 16777215) from the blockhash.
After dividing this decimal by the number of participants, we use the modulo operator (%) to get the division remainder, which becomes the index_number.
var index_number = decimal % competitors.length;
var winner = competitors[index_number];For additional winners, past winners are removed from the list and one more digit is added from the blockhash.