爱意满满的作品展示区。
dushixiang
6.64D

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

  •  
  •   dushixiang ·
    dushixiang · 1 day ago · 908 views

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

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

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

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

    dushixiang
        1
    dushixiang  
    OP
       1 day ago
    补充一下工作方式

    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. 页面公开所有中间哈希,并允许下载验证文件。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   957 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 22:53 · PVG 06:53 · LAX 15:53 · JFK 18:53
    ♥ Do have faith in what you're doing.