← 返回抽奖

预演

在抽奖接受任何一笔真实参与之前,我们用自己的钱在以太坊主网上完整跑了一轮——真的 USDC,真的 Chainlink VRF 随机数,规模是五万分之一。它跑通了。下面每一笔交易都在公开链上,你可以全部打开看。

已结算,且全额支付。 售出 2,000 张券,Chainlink VRF 开出 100 位中奖者,全部 99 份现金奖发放完毕,而且 没有任何资金滞留 在合约里。

依次发生了什么

本轮开启
11:33
2026 年 9 月 4 日 UTC
发起开奖请求
11:42
在售出 2,000/2,000 之后
随机数抵达
84 秒
Chainlink VRF v2.5
所有奖金已支付
11:44
5 批,99 位中奖者
步骤在 Etherscan 上
买下第一张券0xd6abe868…a90181
…另外 39 笔购买交易2,000 张券,合计 20.00 USDC
向 Chainlink VRF 发起开奖请求0xa9065817…1d9f9a
随机数送达,本轮结算0xe027c234…3be700

五笔发奖交易

账目核对

这一轮收进 20.00 USDC,付出 20.00 USDC。因为这是预演,同一个地址既是庄家也是每一位中奖者,所以钱全都回来了——但合约并不知道这件事,它完全按照真实一轮的方式做了分配。

收进
20.00
2,000 × 0.01 USDC
奖金预算
8.16
奖池的 40.8%
发给 99 位中奖者
7.92
每人 0.08 USDC
归庄家
12.08
含手表价值
合约中剩余
0.00
没有资金滞留
运行成本
0.0049
ETH 的 gas,整轮

随机数

中奖者由 Chainlink VRF v2.5 开出,它在给出随机数的同时附上一份密码学证明,证明这个数没有被动过手脚。证明会先在链上验证通过,我们的合约才被允许使用它。没有人——不是我们,不是矿工,也不是 Chainlink——能挑选中奖者。

我们刻意不用区块数据来做这件事。出块者在广播之前就能看到 prevrandao 这类值,完全可以悄悄把一次价值百万美元的开奖重掷一遍。Chainlink VRF 更贵,但值这个价。

请求0xa9065817…1d9f9a
履行0xe027c234…3be700
应答耗时84 秒
实际扣除的 LINK持有 50 作为储备,实扣 0.017217

它开出的 100 张中奖券

100 张全部互不相同,全部落在 0–1,999 区间内。第一张被开出的券(1501,红色)拿走手表;其余 99 张拿现金。

1501109756196246815767525199873119993917661672106586915471461788887558104039513708461631158169675598616521664625112384752147189574759810921755158515147631235179150391310032455551388213619148593561071510711589651764660145311751810659633478307432014615891510191988312974781211829163415231749989138657674148025813711206194114004841410686108812

每一份奖,按实际支付情况

按合约发放的先后顺序排列。1501 号券不在表内,因为它中的是手表——那是一件线下交付的实物,而不是一笔转账。

#中奖券已付 USDC
110970.08
2560.08
319620.08
44680.08
515760.08
6750.08
72510.08
89980.08
97310.08
1019990.08
113910.08
127660.08
1316720.08
1410650.08
158690.08
1615470.08
171460.08
1817880.08
198870.08
205580.08
2110400.08
223950.08
2313700.08
248460.08
2516310.08
2615810.08
276960.08
287550.08
299860.08
3016520.08
3116640.08
326250.08
3311230.08
348470.08
35520.08
3614710.08
378950.08
387470.08
395980.08
4010920.08
4117550.08
4215850.08
4315140.08
447630.08
4512350.08
461790.08
4715030.08
489130.08
4910030.08
502450.08
515550.08
5213880.08
532130.08
546190.08
5514850.08
569350.08
576100.08
587150.08
591070.08
6011580.08
619650.08
6217640.08
636600.08
6414530.08
6511750.08
6618100.08
676590.08
686330.08
69470.08
708300.08
717430.08
722010.08
734610.08
745890.08
7515100.08
7619190.08
778830.08
7812970.08
794780.08
801210.08
8118290.08
8216340.08
8315230.08
8417490.08
859890.08
8613860.08
875760.08
887410.08
894800.08
902580.08
9113710.08
9212060.08
9319410.08
9414000.08
954840.08
9614100.08
976860.08
981080.08
998120.08

这证明了什么,又没证明什么

它证明这台机器跑得起来

真的 USDC 动了,真的随机数到了,算术分毫不差,合约在无人干预的情况下把自己清空到最后一分钱。

它替代不了一次审计

一次跑通的预演说明的是:在没有人攻击它的时候,合约做的是对的事。至于它能不能扛住一个有一百万美元可赢的人,那是另一个问题,只有专业审计能回答。

合约

这个预演合约不是真实一轮会使用的那一个。它按五万分之一的规模配置,庄家和 guardian 地址都是测试钱包。生产合约会单独部署,它的地址会在这里和抽奖页面上公布,然后才会接受第一张券。