当前区块: 连接中… 每 ~15 秒自动刷新

配置抽奖

Console

// 操作日志

为什么用区块哈希

以太坊每 ~12 秒 出一个新区块。哈希值由全网数千个验证者共同决定,任何人——包括本站——都无法提前预测或篡改

哈希值 在区块出现前完全未知
一旦确认 永远不变,任何人可在 Etherscan 查询
本站不托管随机数,你可用 Python 独立还原结果
算法:SHA256(哈希 + 轮次) 迭代取模,公开可复现

抽奖流程

1
确定人数 N,每人分配编号 1…N
2
选定未来区块号 B,公告参与者
3
等待区块 B 被以太坊网络确认
4
取区块 B 的哈希 H(64位十六进制)
5
迭代 SHA256(H+轮次),取模得出中奖号码
6
任何人可独立还原,无需信任本站

Etherscan 验证

抽奖完成后,在 Etherscan 搜索目标区块号,即可查阅区块哈希,与本站结果交叉验证。

🔍 打开 Etherscan

抽奖算法

1
seed = SHA256( blockHash + round )
2
num = BigInt(seed[:16], 16) % N + 1
3
跳过已中奖号码,round++ 继续
4
重复直至满足中奖人数

ETH 节点

📡 公共 RPC 节点(免费) ▼ 收起
▸ Cloudflare ETH https://cloudflare-eth.com 本站首选
▸ PublicNode https://ethereum-rpc.publicnode.com
▸ Llama RPC https://eth.llamarpc.com
▸ Ankr https://rpc.ankr.com/eth

Python 独立验证

粘贴以下代码到任意 Python 环境,自行还原中奖结果:

# ── 验证中奖结果 ── import hashlib, requests BLOCK_NUMBER = 21000000 # 目标区块号 TOTAL = 100 # 总参与人数 COUNT = 3 # 中奖人数 r = requests.post("https://cloudflare-eth.com", json={ "jsonrpc": "2.0", "method": "eth_getBlockByNumber", "params": [hex(BLOCK_NUMBER), False], "id": 1 }) block_hash = r.json()["result"]["hash"][2:] winners, selected, rnd = [], set(), 0 while len(winners) < COUNT: seed = f"{block_hash}{rnd:04x}".encode() h = hashlib.sha256(seed).hexdigest() num = int(h[:16], 16) % TOTAL + 1 if num not in selected: selected.add(num) winners.append(num) rnd += 1 print("区块哈希:", block_hash) print("中奖号码:", sorted(winners))