ADSasddsadsadsa

Draw proof

A fingerprint of the seed is published before entries close. Every number lands here as the draw runs.

  1. Seed commitment publishedsha256: 4d45c3e97071e0fcd5225e29a627033ef25740f3a99648c0ae2a0ef55dc246e3The Discord message carrying this hash
  2. Entries frozenfreezes when entries close
  3. Seed revealedsealed until the draw runs
  4. Commitment matches revealed seedchecked when the seed is revealed
  5. Winners drawn and pingedafter the draw
The ladder

The ladder has not run yet

Check it yourself

Hash the revealed seed and compare it with the commitment. Then run the ladder with the same two hashes: you should get the ranks above.

Show the maths

In a terminal

It needs Node and nothing else. The seed is used exactly as printed, as text; each winning ticket is taken from the digest by rejection sampling over the tickets still in play.

# 1. The seed we revealed is the seed we committed to.
node -e 'console.log(require("crypto").createHash("sha256").update("<revealed after the draw>").digest("hex"))'
#    expect: 4d45c3e97071e0fcd5225e29a627033ef25740f3a99648c0ae2a0ef55dc246e3

# 2. Recompute the ladder. Each step's message is fixed by the two published
#    hashes and the step number; nothing else feeds into it.
node -e '
const { createHmac } = require("crypto");
const seed = "<revealed after the draw>";
const msg  = (k) => ["5gw-draw-v1", "2", "4d45c3e97071e0fcd5225e29a627033ef25740f3a99648c0ae2a0ef55dc246e3", "<published when entries freeze>", k].join("|");
for (let k = 0; k < 10; k++) {
  console.log(k, createHmac("sha256", seed).update(msg(k)).digest("hex"));
}
'
#    compare each line against the HMAC output printed on this page.

Every step

Including the ones that awarded nothing. A rejected sample fell in the biased tail of the digest and was discarded to keep the draw uniform; a skip is a candidate the prize could not go to, either because they no longer qualified or because Discord would not confirm them. Drawn or skipped, an entry leaves with all of its tickets. A step marked Repeat gave a second prize to someone who already won: that happens only once every ticket has been drawn and a prize is still unhanded.

The ladder has not run yet

The frozen ledger

0 rows

Every entry in order, under a per-giveaway pseudonym. One ticket for each store server the entrant was verified in, laid end to end from 1 in this order. Zero tickets is a real row that cannot win: an excluded entry, or an entrant who was in none of the servers.

The ledger is empty

Join order

Joining is first come, first served. A store an admin added is marked as such.

OrderStoreJoinedStatusAdded by
#1DEVHUBPostedJoined in queue
#2Test1PostedAdmin: testdsadsa

Draw algorithm: 5gw-draw-v1.