pull down to refresh

Working on the ~AGORA [GIVEAWAY]s I thought it could be useful to have a tool to randomly pick winners for various types of events held here on SN. So here you go, a simple tool to give more transparency and credibility to bitcoin giveaways, raffles, tombolas, draws, and similar. It will simply help you randomly pick winners fairly.

How to use

  1. Bulk register unlimited participants (one per line)
  2. Randomly pick number of winners (max 210)
  3. Select future block number for the draw to be executed
  4. Get a sharable link to share results with all participants
  5. Have results easily verified, simply hit “Submit” to start the verification
  6. Save and share the results in a unique URL
Try it:
  • Go to this link, it will load the data encrypted in the link
  • click Submit button
  • View who are the 3 picked random stackers from today top1 excluding hiding stacker
Results should look like this:

How it works

As the blockhash is just a number, its last 6 digits is 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 becomes the index_number.
This index_number is applied in the participants' list, to get the position of the winner.
var index_number = decimal % participants.length;
var winner = participants[index_number];
For additional winners, the past winners are removed from the list and one more digit is added from the blockhash. A maximum 210 was added to avoid working with big numbers.

Footnotes

Cool! I like how you can share the configuration which lets you easily prove the result to anyone.
reply
30 sats \ 0 replies \ @AGORA OP 6h
yes, that was the main goal, giving more transparency and credibility to giveaways here in SN, specially from honest newbies.
Giveaways can now have their results easily verified, thanks to bitcoin block hash, used to derive the winner(s).
reply
Can you do this on mobile?
reply
85 sats \ 2 replies \ @AGORA OP 4h
Of course, the page is responsive and here's how it looks on mobile
reply
11 sats \ 1 reply \ @BlokchainB 4h
Tested it and the winner is always first entry
reply
The results are tied with the block number. If you don't like the results, you can change the order in the list of participants or select another block to change the entropy.
Can you share the link? (click Share button to generate the link) - So I can verify your setup
reply