ifs-gacha-system Svelte Themes

Ifs Gacha System

ingress first saturday gacha system

IFS 抽奖系统

中文 | English

一个为 Ingress First Saturday 活动设计的可复现、可校验抽奖系统。

项目简介

用户只需要:

  • 上传一张图片(例如 IFS 活动合照)
  • 输入一个字符串(例如当场公布的 passcode)

系统就会基于这两个输入生成固定随机种子,并据此产出可重复、可校验的抽奖结果。

它特别适合 IFS 等需要公开透明、可复核结果的活动场景:相同输入一定得到相同结果,任一输入变化都会改变结果,同一次抽奖中中奖者不会重复。

功能特点

  • 使用图片内容计算 SHA-256 Hash
  • 使用输入字符串计算 SHA-256 Hash
  • 将两者组合为固定 Seed
  • 基于 Seed 进行伪随机抽奖
  • 支持最多 1000 人参与
  • 中奖序号不会重复
  • 页面直接展示复现所需信息:图片 Hash、字符串 Hash、Seed、中奖序号

使用方法

  1. 上传图片。
  2. 输入字符串 / Passcode。
  3. 输入抽奖总人数和中奖人数。
  4. 点击“开始抽奖”。
  5. 页面会展示图片 Hash、字符串 Hash、Seed 与中奖序号,便于现场公示和复核。

如何校验抽奖结果

如果要验证某次抽奖是否可信,只需要重新输入完全相同的信息:

  • 同一张图片文件
  • 同一个字符串
  • 相同的总人数
  • 相同的中奖人数

只要输入完全一致,系统就应产生:

  • 相同的图片 Hash
  • 相同的字符串 Hash
  • 相同的 Seed
  • 相同的中奖序号

任意一项输入发生变化,结果也会随之变化。

输入限制

  • 抽奖总人数必须是 1 ~ 1000 之间的整数
  • 中奖人数必须是 大于等于 0 的整数
  • 中奖人数不能大于总人数
  • 同一次抽奖中,中奖者不会重复
  • 当中奖人数为 0 时,系统不会返回中奖序号

结果说明

系统返回的是中奖序号,例如 #3#17#52。使用前请先约定参与者与序号之间的对应关系,例如报名顺序、签到顺序或现场编号。

本地运行

如果你想在本地启动这个页面:

npm install
npm run dev

启动后在浏览器打开本地开发地址即可使用。

适用范围

本项目适合作为:

  • IFS 活动抽奖工具
  • 小型活动的公开可复现抽奖页面
  • 需要“可验证随机性”的简单抽奖场景

Top categories

Loading Svelte Themes