随机数来自 drand evmnet
drand evmnet 每 3 秒公布一组随机数。合约会在所用随机数公布前,先记下要用哪一期。后台负责把这一期的证明提交到链上。
合约按照事先固定的网络和公钥检查证明。证明被改过,或者拿了其他期的证明,都不能通过。任何人都可以在 drand 查询同一份公开数据。
Tapeout·芯火夺宝01 / PROCESS
每期有 10,000 个号码,从 00001 到 10000。购买成功后,哪些号码属于你的钱包,会记录在链上。每笔最多买 5,000 份,同一钱包当期多次购买也合计最多 5,000 份。
全部卖完,立即停止购买。卖出 9,500 份后,会开始最多 30 分钟的倒计时。本期从第一笔购买起,最多售卖 24 小时;临近截止才卖到 9,500 份时,可能需要退款,具体见下方说明。
停止购买时,合约就定好使用 drand 哪一期的随机数,它至少要再过 60 秒才会公布。后台把随机数证明提交到链上,由合约检查来源和期号是否正确。
合约用验证后的随机数和本期资料生成输入,交给巨兽 2075 电路计算,再用计算结果得出号码。合约会检查电路和计算是否符合规则,拿到同样的数据就能复算。
合约按固定顺序检查算出的结果。超出范围的数值、还没卖出的号码,都会跳过。第一个符合规则且已卖出的号码中奖,提交交易的人不能另挑一个。
中奖钱包和奖金金额会记录在链上。中奖后连接对应钱包,在 24 小时内领取,奖金只会转给中奖钱包。合约同时按规则将相应份额转入收款容器和销毁地址。
开奖交易由后台自动提交,不需要玩家点击开奖。完成时间还要看后台和区块链的处理情况。页面上的卷轴动画,展示的是链上已经确定的结果。
02 / RANDOMNESS & CIRCUIT
drand evmnet 每 3 秒公布一组随机数。合约会在所用随机数公布前,先记下要用哪一期。后台负责把这一期的证明提交到链上。
合约按照事先固定的网络和公钥检查证明。证明被改过,或者拿了其他期的证明,都不能通过。任何人都可以在 drand 查询同一份公开数据。
巨兽 2075 电路按固定规则计算,同样的输入一定得到同样的输出。随机性来自 drand,电路负责计算根据它生成的输入。
计算时还会带上场次、期号、已售份数等本期资料。下方列出了完整的电路合约地址和网表哈希,可以核对实际用的是哪份电路。
共用验证合约检查固定 evmnet 轮次的 64 字节 BLS 签名,再用 SHA-256(signature) 得到随机数。验证器内固定了网络哈希和公钥。
合约将随机数、链 ID、场次地址、链上期号、实售份数和信标信息,按不同用途标签做 Keccak-256 哈希,生成两组输入。计算时会检查电路网表哈希及规定的输入输出关系。
两组 12 位输入进入电路,合约要求 output = (input & 255) + (input >> 8)。两个输出的低 8 位组成 16 位候选值。仅接受小于 60,000 的候选,再用 candidate % 10,000 得到内部号码 0~9999;展示号码为内部号码 + 1。
output0 = circuit2075(input0)
output1 = circuit2075(input1)
candidate = ((output0 & 255) << 8) | (output1 & 255)
accept: candidate < 60000 AND ticketOwner(roundId, candidate % 10000) != 0
displayNumber = (candidate % 10000) + 1在 4,096 个输入中,每个低字节输出有 16 个原像;被接受的 60,000 个候选值,对每个号码各映射 6 次。在随机数和哈希假设成立时,跳过未售号码后,每份概率为 1/S。持有 K 份的钱包概率为 K/S:例如 9,500 份中持有 5,000 份,约为 52.63%,并非 50%。
每笔结算交易最多检查 4 个候选,后续调用从已保存的位置继续,采用首个有效已售号码。网页随机选号仅影响购买时挑选的号码,不是开奖随机数来源。
03 / FUNDS & DEADLINES
按本期实际收到的 BEM 分配:1% 转入 13061 容器,按场次扣除下表中的销毁份额,剩下的就是奖金。金额的小数处理按合约规则计算。
| 场次 | 容器 | 销毁 | 奖金 |
|---|---|---|---|
| 5 BEM | 1% | 3% | 96% |
| 10 BEM | 1% | 4% | 95% |
| 50 BEM | 1% | 5% | 94% |
04 / LOOK UP & VERIFY
先选场次,再填写网站显示的完整期号,或合约里的内部期号。网站期号前面是 UTC 日期,后面是所有场次累计的序号;合约内部期号则是每个场次各自计数,查询时要选对场次。
选择场次,填写要查的期号。
网站会在交易确认后更新记录,显示可能稍有延迟。如果没查到或读取失败,还可以通过下方合约和交易链接直接查链上记录。
如果 BscScan 没有已验证源码的 Read Contract 标签,不代表开奖失败。可下载下方编译输入,按其中参数编译取得 ABI,通过 BNB RPC 的 eth_call 读取。浏览器存在 Code 标签本身不等于源码已验证。
05 / PUBLIC REGISTER
5、10、50 BEM 三个场次各有自己的合约,共用一份随机数验证合约。下方列出完整地址、部署交易和哈希,点击链接即可在 BscScan 查看对应的 BNB 主网记录。
部署资料快照:BNB 区块 120476370。运行代码哈希指 eth_getCode 返回字节码的 Keccak-256,不是未填入构造参数的代码模板。区块哈希标识部署区块;drand 网络哈希标识信标网络,不是交易。
0xcf11b9f2501eae12155a97030360421c45a25ce59a27c1246ebbc8c8f88d01410x82e55440d6d8456fd43c1ff3a324cce31d9306d4bfb276d6797a5d89c3c50d6d0x13870fbe08b304c92b350459c049bfd0bd0e74dee79b477005460cc9034e03350x7160664d85980b5fe60391ef9346d6849333ae8b360bb92fa036b54b8b198cda0xd40fa87683f439cc24b55db7e1cea25723820a23df6c97971c1205745eced9f50x71b311e039923242c7f0e43241a95f3b360c780a0b606ea886de3189df34b7870x0f7fd303744d389e7a3db99be918ab81194ff49b9a02f6181a664beac99d0c850xa5e34f2285d4f354b5d9859486733184f7d9b8b6728a33f9676b41a9cfde2a2c0xa375924f2a31f5169606ea20e357efa2aeeb2355aff859f28f40a15519714eef04f1e9062b8a81f848fded9c12306733282b2727ecced50032187751166ec8c30.8.36+commit.8a079791.Emscripten.clangoptimizer: true / runs: 200 / viaIR: true / EVM: shanghai0f313d96b6aae700fa1c4097feeed7bbf69ad5a9add620fc86fdc556711ebeb8下载源码与编译参数36394b79353ce2e9942f8798a8f58ef463c4c7abb945fccf53132b6daef2e923下载正式场部署资料06 / RULES & LIMITATIONS