GoForum › 🌐 V2EX

苦于 v2 没有好用的抽奖方式,自己 vibe 了一个简单好用的

dushixiang · 2026-08-28 22:23 · 0 次点赞 · 1 条回复

Github: https://github.com/dushixiang/v2ex_luck

在线体验: https://v2ex-luck.termark.app

使用也很简单,主题 ID ,中间人数,开奖时间写一下就完事了,具体的抽奖算法在 GitHub 仓库里面有写。

先用我另外一个抽奖贴试试水,大家感兴趣的可以参与一下,赠送 10 个我开发的一款全平台 SSH 客户端 2 年半时长 PRO 会员资格 : https://v2ex.com/t/1237911

1 条回复
dushixiang · 2026-08-28 22:53
#1

补充一下工作方式

  1. 创建者输入主题 ID 、回复截止时间、中奖人数和过滤规则。
  2. 程序选择截止时间之后的第一个 drand quicknet 轮次,并把完整配置编码进 URL 的 #draw= 部分。
  3. 截止前页面只显示倒计时、规则和目标轮次。
  4. 截止后,官方 drand-client 获取目标轮次并验证 BLS 签名。
  5. 程序通过 Worker 一次读取该主题的全部 V2EX 回复,只保留 reply.created <= drawAt 的回复;拿到已验证的 drand 信标后会自动再刷新一次回复列表,避免时钟偏差或边缘缓存造成快照不完整。
  6. 每位候选人得到一个确定性的 HMAC-SHA-256 评分;按评分升序取前 N 名。
  7. 页面公开所有中间哈希,并允许下载验证文件。
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: dushixiang
发布: 2026-08-28
点赞: 0
回复: 0